petsc-3.14.6 2021-03-30
Report Typos and Errors

DMStagCreate1d

Create an object to manage data living on the faces, edges, and vertices of a parallelized regular 1D grid.

Synopsis

PETSC_EXTERN PetscErrorCode DMStagCreate1d(MPI_Comm comm,DMBoundaryType bndx,PetscInt M,PetscInt dof0,PetscInt dof1,DMStagStencilType stencilType,PetscInt stencilWidth,const PetscInt lx[],DM* dm)
Collective

Input Parameters

comm - MPI communicator
bndx - boundary type: DM_BOUNDARY_NONE, DM_BOUNDARY_PERIODIC, or DM_BOUNDARY_GHOSTED
M - global number of grid points
dof0 - number of degrees of freedom per vertex/point/node/0-cell
dof1 - number of degrees of freedom per element/edge/1-cell
stencilType - ghost/halo region type: DMSTAG_STENCIL_BOX or DMSTAG_STENCIL_NONE
stencilWidth - width, in elements, of halo/ghost region
lx - array of local sizes, of length equal to the comm size, summing to M

Output Parameter

dm - the new DMStag object

Options Database Keys

-dm_view - calls DMViewFromOptions() a the conclusion of DMSetUp()
-stag_grid_x <nx> - number of elements in the x direction
-stag_ghost_stencil_width - width of ghost region, in elements
-stag_boundary_type_x <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, DMStagCreate2d(), DMStagCreate3d(), DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateLocalVector(), DMLocalToGlobalBegin(), DMDACreate1d()

Level

beginner

Location

src/dm/impls/stag/stag1d.c

Examples

src/dm/impls/stag/tutorials/ex1.c.html

Index of all DMSTAG routines
Table of Contents for all manual pages
Index of all manual pages