DMStagCreate2d#
Create an object to manage data living on the elements, faces, and vertices of a parallelized regular 2D grid.
Synopsis#
PETSC_EXTERN PetscErrorCode DMStagCreate2d(MPI_Comm comm, DMBoundaryType bndx, DMBoundaryType bndy, PetscInt M, PetscInt N, PetscInt m, PetscInt n, PetscInt dof0, PetscInt dof1, PetscInt dof2, DMStagStencilType stencilType, PetscInt stencilWidth, const PetscInt lx[], const PetscInt ly[], DM *dm)
Collective
Input Parameters#
comm - MPI communicator
bndx,bndy - boundary type:
DM_BOUNDARY_NONE
,DM_BOUNDARY_PERIODIC
, orDM_BOUNDARY_GHOSTED
M,N - global number of elements in x,y directions
m,n - number of ranks in the x,y directions (may be
PETSC_DECIDE
)dof0 - number of degrees of freedom per vertex/0-cell
dof1 - number of degrees of freedom per face/1-cell
dof2 - number of degrees of freedom per element/2-cell
stencilType - ghost/halo region type:
DMSTAG_STENCIL_NONE
,DMSTAG_STENCIL_BOX
, orDMSTAG_STENCIL_STAR
stencilWidth - width, in elements, of halo/ghost region
lx,ly - arrays of local x,y element counts, of length equal to m,n, summing to M,N
Output Parameter#
dm - the new DMStag object
Options Database Keys#
-dm_view - calls
DMViewFromOptions()
at the conclusion ofDMSetUp()
-stag_grid_x
- number of elements in the x direction-stag_grid_y
- number of elements in the y direction-stag_ranks_x
- number of ranks in the x direction-stag_ranks_y
- number of ranks in the y direction-stag_ghost_stencil_width - width of ghost region, in elements
-stag_boundary_type_x <none,ghosted,periodic> -
DMBoundaryType
value-stag_boundary_type_y <none,ghosted,periodic> -
DMBoundaryType
value
Notes#
You must call DMSetUp()
after this call, before using the DM.
If you wish to use the options database (see the keys above) to change values in the DMStag, you must call
DMSetFromOptions()
after this function but before DMSetUp()
.
See Also#
DMSTAG
, DMStagCreate1d()
, DMStagCreate3d()
, DMDestroy()
, DMView()
, DMCreateGlobalVector()
, DMCreateLocalVector()
, DMLocalToGlobalBegin()
, DMDACreate2d()
Level#
beginner
Location#
Examples#
src/dm/impls/stag/tutorials/ex2.c.html
src/dm/impls/stag/tutorials/ex4.c.html
src/dm/impls/stag/tutorials/ex6.c.html
Index of all DMStag routines
Table of Contents for all manual pages
Index of all manual pages