DMPlexGeomDataAndGrads#
Exposes Control Points and Control Point Weights defining the underlying geometry allowing user manipulation of the geometry.
Synopsis#
#include "petscdmplex.h"
PetscErrorCode DMPlexGeomDataAndGrads(DM dm, PetscBool fullGeomGrad) PeNS
Collective
Input Parameters#
dm - The
DMobject representing the mesh withPetscContainercontaining an EGADS geometry modelfullGeomGrad - Determines how the Surface Area and Volume Gradients wrt to Control Points and Control Point Weights are calculated.
PETSC_FALSE :: Surface Area Gradient wrt Control Points and Control Point Weights are calculated using the change in the local
FACE changes (not the entire body). Volume Gradients are not calculated. Faster computations.
PETSC_TRUE :: Surface Area Gradietn wrt to Control Points and Control Point Weights are calculated using the change observed in
the entire solid body. Volume Gradients are calculated. Slower computation due to the need to generate a new solid
body geometry for every Control Point and Control Point Weight change.
Output Parameter#
dm - The updated
DMobject representing the mesh withPetscContainers containing the Control Point, Control Point Weight and Gradient Data.
Note#
Calculates the DM Point location, surface area and volume gradients wrt to Control Point and Control Point Weights using Finite Difference
(small perturbation of Control Point coordinates or Control Point Weight value).
See Also#
DMPLEX, DMCreate(), DMPlexCreateGeom(), DMPlexCreateGeomFromFile(), DMPlexModifyGeomModel()
Level#
intermediate
Location#
Examples#
src/dm/impls/plex/tutorials/ex18.c
src/dm/impls/plex/tutorials/ex19.c
Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages