DMGenerateRegister#
Adds a grid generator to DM
Synopsis#
#include "petscdm.h"
PetscErrorCode DMGenerateRegister(const char sname[], PetscErrorCode (*fnc)(DM, PetscBool, DM *), PetscErrorCode (*rfnc)(DM, PetscReal *, DM *), PetscErrorCode (*alfnc)(DM, Vec, DMLabel, DMLabel, DM *), PetscInt dim)
Not Collective
Input Parameters#
sname - name of a new user-defined grid generator
fnc - generator function
rfnc - refinement function
alfnc - adapt by label function
dim - dimension of boundary of domain
Sample usage#
DMGenerateRegister("my_generator", MyGeneratorCreate, MyGeneratorRefiner, MyGeneratorAdaptor, dim);
Then, your generator can be chosen with the procedural interface via
DMGenerate(dm, "my_generator",...)
or at runtime via the option
-dm_generator my_generator
Note#
DMGenerateRegister()
may be called multiple times to add several user-defined generators
See Also#
DM
, DMGenerateRegisterAll()
, DMPlexGenerate()
, DMGenerateRegisterDestroy()
Level#
advanced
Location#
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages