Skip to main content
`Ctrl`+`K`

# 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 DM object representing the mesh with PetscContainer containing an EGADS geometry model

- comm - MPI_Comm object

- newCP - C Array of [x, y, z] New/Updated Control Point Coordinates defining the geometry (See DMPlexGeomDataAndGrads() for format)

- newW - C Array of New/Updated Control Point Weights associated with the Control Points defining the new geometry (See DMPlexGemGrads() for format)

- autoInflate - PetscBool Flag denoting if the user would like to inflate the DM points to the new geometry.

- saveGeom - PetscBool Flag denoting if the user would iike to save the new geometry to a file.

- stpName - Char 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

## Note

Functionality not available for DMPlexes with attached EGADSlite geometry files (.egadslite).

## See Also

`DMPLEX`, `DMCreate()`, `DMPlexCreateGeom()`, `DMPlexGeomDataAndGrads()`

## Level

intermediate

## Location

src/dm/impls/plex/plexegads.c

## 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