DMPlexModifyGeomModel#
Generates a new EGADS geometry model based in user provided Control Points and Control Points Weights. Optionally, the function will inflate the DM to the new geometry and save the new geometry to a file.
Synopsis#
#include "petscdmplex.h"
PetscErrorCode DMPlexModifyGeomModel(DM dm, MPI_Comm comm, PetscScalar newCP[], PetscScalar newW[], PetscBool autoInflate, PetscBool saveGeom, const char *stpName) PeNS
Collective
Input Parameters#
dm - The
DMobject representing the mesh withPetscContainercontaining an EGADS geometry modelcomm - Used to generate
ISin the functionnewCP - Array of [x, y, z] New/Updated Control Point Coordinates defining the geometry (See
DMPlexGeomDataAndGrads()for format)newW - Array of New/Updated Control Point Weights associated with the Control Points defining the new geometry
autoInflate - Flag denoting if the user would like to inflate the DM points to the new geometry.
saveGeom - Flag denoting if the user would like to save the new geometry to a file.
stpName - Array indicating the name of the file to save the new geometry to. Extension must be included and will denote type of file written.
*.stp or *.step = STEP File
*.igs or *.iges = IGES File
*.egads = EGADS File
*.brep = BRep File (OpenCASCADE File)
Output Parameter#
dm - The updated DM object representing the mesh with
PetscContainers containing the updated/modified geometry
Notes#
Functionality not available for DMPLEXs with attached EGADSlite geometry files (.egadslite).
Requires ./configure be run with --download-egads
Developer Note#
Why does this function take a comm argument? Why can’t it use the MPI communicator in dm? This should be documented.
See Also#
DMPLEX, DMCreate(), DMPlexCreateGeom(), DMPlexCreateGeomFromFile(), DMPlexGeomDataAndGrads()
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