Actual source code: petscdmdatypes.h
petsc-3.7.1 2016-05-15
Report Typos and Errors

      1: #if !defined(_PETSCDMDATYPES_H)
      2: #define _PETSCDMDATYPES_H

      4: #include <petscdmtypes.h>

      6: /*E
      7:     DMDAStencilType - Determines if the stencil extends only along the coordinate directions, or also
      8:       to the northeast, northwest etc

     10:    Level: beginner

     12: .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDACreate(), DMDASetStencilType()
     13: E*/
     14: typedef enum { DMDA_STENCIL_STAR,DMDA_STENCIL_BOX } DMDAStencilType;

     16: /*E
     17:     DMDAInterpolationType - Defines the type of interpolation that will be returned by
     18:        DMCreateInterpolation.

     20:    Level: beginner

     22: .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMCreateInterpolation(), DMDASetInterpolationType(), DMDACreate()
     23: E*/
     24: typedef enum { DMDA_Q0, DMDA_Q1 } DMDAInterpolationType;

     26: /*E
     27:     DMDAElementType - Defines the type of elements that will be returned by
     28:        DMDAGetElements()

     30:    Level: beginner

     32: .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMCreateInterpolation(), DMDASetInterpolationType(),
     33:           DMDASetElementType(), DMDAGetElements(), DMDARestoreElements(), DMDACreate()
     34: E*/
     35: typedef enum { DMDA_ELEMENT_P1, DMDA_ELEMENT_Q1 } DMDAElementType;

     37: /*S
     38:      DMDALocalInfo - C struct that contains information about a structured grid and a processors logical
     39:               location in it.

     41:    Level: beginner

     43:   Concepts: distributed array

     45:   Developer note: Then entries in this struct are int instead of PetscInt so that the elements may
     46:                   be extracted in Fortran as if from an integer array

     48: .seealso:  DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DM, DMDAGetLocalInfo(), DMDAGetInfo()
     49: S*/
     50: typedef struct {
     51:   PetscInt         dim,dof,sw;
     52:   PetscInt         mx,my,mz;    /* global number of grid points in each direction */
     53:   PetscInt         xs,ys,zs;    /* starting point of this processor, excluding ghosts */
     54:   PetscInt         xm,ym,zm;    /* number of grid points on this processor, excluding ghosts */
     55:   PetscInt         gxs,gys,gzs;    /* starting point of this processor including ghosts */
     56:   PetscInt         gxm,gym,gzm;    /* number of grid points on this processor including ghosts */
     57:   DMBoundaryType   bx,by,bz; /* type of ghost nodes at boundary */
     58:   DMDAStencilType  st;
     59:   DM               da;
     60: } DMDALocalInfo;

     62: #endif