/usr/lib/petscdir/3.4.2/include/petscdmdatypes.h is in libpetsc3.4.2-dev 3.4.2.dfsg1-8.1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #if !defined(_PETSCDMDATYPES_H)
#define _PETSCDMDATYPES_H
#include <petscdmtypes.h>
/*E
DMDAStencilType - Determines if the stencil extends only along the coordinate directions, or also
to the northeast, northwest etc
Level: beginner
.seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDACreate(), DMDASetStencilType()
E*/
typedef enum { DMDA_STENCIL_STAR,DMDA_STENCIL_BOX } DMDAStencilType;
/*E
DMDABoundaryType - Describes the choice for fill of ghost cells on physical domain boundaries.
Level: beginner
A boundary may be of type DMDA_BOUNDARY_NONE (no ghost nodes), DMDA_BOUNDARY_GHOST (ghost nodes
exist but aren't filled, you can put values into them and then apply a stencil that uses those ghost locations),
DMDA_BOUNDARY_MIRROR (not yet implemented for 3d), or DMDA_BOUNDARY_PERIODIC
(ghost nodes filled by the opposite edge of the domain).
Note: This is information for the boundary of the __PHYSICAL__ domain. It has nothing to do with boundaries between
processes, that width is always determined by the stencil width, see DMDASetStencilWidth().
.seealso: DMDASetBoundaryType(), DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDACreate()
E*/
typedef enum { DMDA_BOUNDARY_NONE, DMDA_BOUNDARY_GHOSTED, DMDA_BOUNDARY_MIRROR, DMDA_BOUNDARY_PERIODIC } DMDABoundaryType;
/*E
DMDAInterpolationType - Defines the type of interpolation that will be returned by
DMCreateInterpolation.
Level: beginner
.seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMCreateInterpolation(), DMDASetInterpolationType(), DMDACreate()
E*/
typedef enum { DMDA_Q0, DMDA_Q1 } DMDAInterpolationType;
/*E
DMDAElementType - Defines the type of elements that will be returned by
DMDAGetElements()
Level: beginner
.seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMCreateInterpolation(), DMDASetInterpolationType(),
DMDASetElementType(), DMDAGetElements(), DMDARestoreElements(), DMDACreate()
E*/
typedef enum { DMDA_ELEMENT_P1, DMDA_ELEMENT_Q1 } DMDAElementType;
/*S
DMDALocalInfo - C struct that contains information about a structured grid and a processors logical
location in it.
Level: beginner
Concepts: distributed array
Developer note: Then entries in this struct are int instead of PetscInt so that the elements may
be extracted in Fortran as if from an integer array
.seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DM, DMDAGetLocalInfo(), DMDAGetInfo()
S*/
typedef struct {
PetscInt dim,dof,sw;
PetscInt mx,my,mz; /* global number of grid points in each direction */
PetscInt xs,ys,zs; /* starting point of this processor, excluding ghosts */
PetscInt xm,ym,zm; /* number of grid points on this processor, excluding ghosts */
PetscInt gxs,gys,gzs; /* starting point of this processor including ghosts */
PetscInt gxm,gym,gzm; /* number of grid points on this processor including ghosts */
DMDABoundaryType bx,by,bz; /* type of ghost nodes at boundary */
DMDAStencilType st;
DM da;
} DMDALocalInfo;
#endif
|