petsc-3.8.4 2018-03-24
DMDACreate1d
Creates an object that will manage the communication of one-dimensional regular array data that is distributed across some processors.
Synopsis
#include "petscdmda.h"
PetscErrorCode DMDACreate1d(MPI_Comm comm, DMBoundaryType bx, PetscInt M, PetscInt dof, PetscInt s, const PetscInt lx[], DM *da)
Collective on MPI_Comm
Input Parameters
| comm | - MPI communicator
|
| bx | - type of ghost cells at the boundary the array should have, if any. Use
DM_BOUNDARY_NONE, DM_BOUNDARY_GHOSTED, or DM_BOUNDARY_PERIODIC.
|
| M | - global dimension of the array
from the command line with -da_grid_x <M>)
|
| dof | - number of degrees of freedom per node
|
| s | - stencil width
|
| lx | - array containing number of nodes in the X direction on each processor,
or NULL. If non-null, must be of length as the number of processes in the MPI_Comm.
|
Output Parameter
da -the resulting distributed array object
Options Database Key
| -dm_view | - Calls DMView() at the conclusion of DMDACreate1d()
|
| -da_grid_x <nx> | - number of grid points in x direction; can set if M < 0
|
| -da_refine_x <rx> | - refinement factor
|
| -da_refine <n> | - refine the DMDA n times before creating it, if M < 0
|
Notes
The array data itself is NOT stored in the DMDA, it is stored in Vec objects;
The appropriate vector objects can be obtained with calls to DMCreateGlobalVector()
and DMCreateLocalVector() and calls to VecDuplicate() if more are needed.
You must call DMSetUp() after this call before using this DM.
If you wish to use the options database to change values in the DMDA call DMSetFromOptions() after this call
but before DMSetUp().
Keywords
distributed array, create, one-dimensional
See Also
DMDestroy(), DMView(), DMDACreate2d(), DMDACreate3d(), DMGlobalToLocalBegin(), DMDASetRefinementFactor(),
DMGlobalToLocalEnd(), DMLocalToGlobalBegin(), DMLocalToLocalBegin(), DMLocalToLocalEnd(), DMDAGetRefinementFactor(),
DMDAGetInfo(), DMCreateGlobalVector(), DMCreateLocalVector(), DMDACreateNaturalVector(), DMLoad(), DMDAGetOwnershipRanges()
Level:beginner
Location:src/dm/impls/da/da1.c
Index of all DMDA routines
Table of Contents for all manual pages
Index of all manual pages
Examples
src/dm/examples/tutorials/ex3.c.html
src/dm/examples/tutorials/ex8.c.html
src/dm/examples/tutorials/ex51.c.html
src/dm/examples/tutorials/ex11f90.F90.html
src/ksp/ksp/examples/tutorials/ex25.c.html
src/ksp/ksp/examples/tutorials/ex28.c.html
src/ksp/ksp/examples/tutorials/ex65.c.html
src/ksp/ksp/examples/tutorials/ex67.c.html
src/ksp/ksp/examples/tutorials/ex69.c.html
src/ksp/ksp/examples/tutorials/ex44f.F90.html
src/snes/examples/tutorials/ex3.c.html