DMSetFromOptions#
sets parameters in a DM
from the options database
Synopsis#
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMSetFromOptions(DM dm)
Collective
Input Parameter#
dm - the
DM
object to set options for
Options Database Keys#
-dm_preallocate_only - Only preallocate the matrix for
DMCreateMatrix()
andDMCreateMassMatrix()
, but do not fill it with zeros-dm_vec_type
- type of vector to create insideDM
-dm_mat_type
- type of matrix to create insideDM
-dm_is_coloring_type -
-dm_bind_below
- bind (force execution on CPU) forVec
andMat
objects with local size (number of vector entries or matrix rows) below n; currently only supported forDMDA
-dm_plex_option_phases <ph0_, ph1_, …> - List of prefixes for option processing phases
-dm_plex_filename
- File containing a mesh-dm_plex_boundary_filename
- File containing a mesh boundary-dm_plex_name
- Name of the mesh in the file-dm_plex_shape
- The domain shape, such asBOX
,SPHERE
, etc.-dm_plex_cell
- Cell shape-dm_plex_reference_cell_domain
- Use a reference cell domain-dm_plex_dim
- Set the topological dimension-dm_plex_simplex
- PETSC_TRUE
for simplex elements,PETSC_FALSE
for tensor elements-dm_plex_interpolate
- PETSC_TRUE
turns on topological interpolation (creating edges and faces)-dm_plex_orient
- PETSC_TRUE
turns on topological orientation (flipping edges and faces)-dm_plex_scale
- Scale factor for mesh coordinates-dm_coord_remap
- Map coordinates using a function-dm_coord_map
- Select a builtin coordinate map-dm_coord_map_params <p0,p1,p2,…> - Set coordinate mapping parameters
-dm_plex_box_faces <m,n,p> - Number of faces along each dimension
-dm_plex_box_lower <x,y,z> - Specify lower-left-bottom coordinates for the box
-dm_plex_box_upper <x,y,z> - Specify upper-right-top coordinates for the box
-dm_plex_box_bd <bx,by,bz> - Specify the
DMBoundaryType
for each direction-dm_plex_sphere_radius
- The sphere radius-dm_plex_ball_radius
- Radius of the ball-dm_plex_cylinder_bd
- Boundary type in the z direction-dm_plex_cylinder_num_wedges
- Number of wedges around the cylinder-dm_plex_reorder
- Reorder the mesh using the specified algorithm-dm_refine_pre
- The number of refinements before distribution-dm_refine_uniform_pre
- Flag for uniform refinement before distribution-dm_refine_volume_limit_pre
- The maximum cell volume after refinement before distribution-dm_refine
- The number of refinements after distribution-dm_extrude
- Activate extrusion and specify the number of layers to extrude-dm_plex_transform_extrude_thickness
- The total thickness of extruded layers-dm_plex_transform_extrude_use_tensor
- Use tensor cells when extruding-dm_plex_transform_extrude_symmetric
- Extrude layers symmetrically about the surface-dm_plex_transform_extrude_normal <n0,…,nd> - Specify the extrusion direction
-dm_plex_transform_extrude_thicknesses <t0,…,tl> - Specify thickness of each layer
-dm_plex_create_fv_ghost_cells - Flag to create finite volume ghost cells on the boundary
-dm_plex_fv_ghost_cells_label
- Label name for ghost cells boundary-dm_distribute
- Flag to redistribute a mesh among processes-dm_distribute_overlap
- The size of the overlap halo-dm_plex_adj_cone
- Set adjacency direction-dm_plex_adj_closure
- Set adjacency size-dm_plex_use_ceed
- Use LibCEED as the FEM backend-dm_plex_check_symmetry - Check that the adjacency information in the mesh is symmetric -
DMPlexCheckSymmetry()
-dm_plex_check_skeleton - Check that each cell has the correct number of vertices (only for homogeneous simplex or tensor meshes) -
DMPlexCheckSkeleton()
-dm_plex_check_faces - Check that the faces of each cell give a vertex order this is consistent with what we expect from the cell type -
DMPlexCheckFaces()
-dm_plex_check_geometry - Check that cells have positive volume -
DMPlexCheckGeometry()
-dm_plex_check_pointsf - Check some necessary conditions for
PointSF
-DMPlexCheckPointSF()
-dm_plex_check_interface_cones - Check points on inter-partition interfaces have conforming order of cone points -
DMPlexCheckInterfaceCones()
-dm_plex_check_all - Perform all the checks above
Note#
For some DMType
such as DMDA
this cannot be called after DMSetUp()
has been called.
See Also#
DM Basics, DM
, DMView()
, DMCreateGlobalVector()
, DMCreateInterpolation()
, DMCreateColoring()
, DMCreateMatrix()
,
DMPlexCheckSymmetry()
, DMPlexCheckSkeleton()
, DMPlexCheckFaces()
, DMPlexCheckGeometry()
, DMPlexCheckPointSF()
, DMPlexCheckInterfaceCones()
,
DMSetOptionsPrefix()
, DMType
, DMPLEX
, DMDA
, DMSetUp()
Level#
intermediate
Location#
Examples#
src/dm/tutorials/ex51.c
src/dm/tutorials/ex2.c
src/dm/tutorials/ex12.c
src/dm/tutorials/ex15.c
src/dm/tutorials/swarm_ex3.c
src/dm/tutorials/swarm_ex1.c
src/dm/tutorials/ex20.c
src/dm/tutorials/ex9.c
src/dm/tutorials/ex5.c
src/dm/tutorials/ex7.c
Implementations#
DMSetFromOptions_DA() in src/dm/impls/da/dacreate.c
DMSetFromOptions_Forest() in src/dm/impls/forest/forest.c
DMSetFromOptions_pforest() in src/dm/impls/forest/p4est/pforest.h
DMSetFromOptions_Moab() in src/dm/impls/moab/dmmoab.cxx
DMSetFromOptions_Network() in src/dm/impls/network/networkcreate.c
DMSetFromOptions_Patch() in src/dm/impls/patch/patchcreate.c
DMSetFromOptions_Plex() in src/dm/impls/plex/plexcreate.c
DMSetFromOptions_Stag() in src/dm/impls/stag/stag.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages