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
DMobject to set options for
Options Database Keys#
-dm_preallocate_only (true|false) - Only preallocate the matrix for
DMCreateMatrix()andDMCreateMassMatrix(), but do not fill it with zeros-dm_vec_type type - type of vector to create inside
DM-dm_mat_type type - type of matrix to create inside
DM-dm_is_coloring_type (global|local) - see
ISColoringType-dm_bind_below n - bind (force execution on CPU) for
VecandMatobjects 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 str - File containing a mesh
-dm_plex_boundary_filename str - File containing a mesh boundary
-dm_plex_name str - Name of the mesh in the file
-dm_plex_shape shape - The domain shape, such as
BOX,SPHERE, etc.-dm_plex_cell ct - Cell shape
-dm_plex_reference_cell_domain (true|false) - Use a reference cell domain
-dm_plex_dim dim - Set the topological dimension
-dm_plex_simplex (true|false) -
PETSC_TRUEfor simplex elements,PETSC_FALSEfor tensor elements-dm_plex_interpolate (true|false) -
PETSC_TRUEturns on topological interpolation (creating edges and faces)-dm_plex_orient (true|false) -
PETSC_TRUEturns on topological orientation (flipping edges and faces)-dm_plex_scale sc - Scale factor for mesh coordinates
-dm_coord_remap (true|false) - Map coordinates using a function
-dm_plex_coordinate_dim dim - Change the coordinate dimension of a mesh (usually given with cdm_ prefix)
-dm_coord_map mapname - 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
DMBoundaryTypefor each direction-dm_plex_sphere_radius r - The sphere radius
-dm_plex_ball_radius r - Radius of the ball
-dm_plex_cylinder_bd bz - Boundary type in the z direction
-dm_plex_cylinder_num_wedges n - Number of wedges around the cylinder
-dm_plex_reorder order - Reorder the mesh using the specified algorithm
-dm_refine_pre n - The number of refinements before distribution
-dm_refine_uniform_pre (true|false) - Flag for uniform refinement before distribution
-dm_refine_volume_limit_pre v - The maximum cell volume after refinement before distribution
-dm_refine n - The number of refinements after distribution
-dm_extrude l - Activate extrusion and specify the number of layers to extrude
-dm_plex_save_transform (true|false) - Save the
DMPlexTransformthat produced this mesh-dm_plex_transform_extrude_thickness t - The total thickness of extruded layers
-dm_plex_transform_extrude_use_tensor (true|false) - Use tensor cells when extruding
-dm_plex_transform_extrude_symmetric (true|false) - 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 name - Label name for ghost cells boundary
-dm_distribute (true|false) - Flag to redistribute a mesh among processes
-dm_distribute_overlap n - The size of the overlap halo
-dm_plex_adj_cone (true|false) - Set adjacency direction
-dm_plex_adj_closure (true|false) - Set adjacency size
-dm_plex_use_ceed (true|false) - Use LibCEED as the FEM backend
-dm_plex_check_symmetry (true|false) - Check that the adjacency information in the mesh is symmetric -
DMPlexCheckSymmetry()-dm_plex_check_skeleton (true|false) - Check that each cell has the correct number of vertices (only for homogeneous simplex or tensor meshes) -
DMPlexCheckSkeleton()-dm_plex_check_faces (true|false) - 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 (true|false) - Check that cells have positive volume -
DMPlexCheckGeometry()-dm_plex_check_pointsf (true|false) - Check some necessary conditions for
PointSF-DMPlexCheckPointSF()-dm_plex_check_interface_cones (true|false) - Check points on inter-partition interfaces have conforming order of cone points -
DMPlexCheckInterfaceCones()-dm_plex_check_all (true|false) - 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/snes/tutorials/ex21.c
src/snes/tutorials/ex40f90.F90
src/snes/tutorials/ex12.c
src/snes/tutorials/ex23.c
src/snes/tutorials/ex28.c
src/snes/tutorials/ex33.c
src/snes/tutorials/ex14.c
src/snes/tutorials/ex17.c
src/snes/tutorials/ex35.c
src/snes/tutorials/ex18.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
DMSetFromOptions_Swarm() in src/dm/impls/swarm/swarm.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages