Actual source code: petscdmdadef.h

petsc-3.3-p7 2013-05-11
  2: !
  3: !  Include file for Fortran use of the DMDA (distributed array) package in PETSc
  4: !
  5: #if !defined (__PETSCDMDADEF_H)

 8:  #include finclude/petscisdef.h
 9:  #include finclude/petscvecdef.h
 10:  #include finclude/petscmatdef.h
 11:  #include finclude/petscdmdef.h

 13: #define DMDABoundaryType PetscEnum
 14: #define DMDAStencilType PetscEnum
 15: #define DMDADirection PetscEnum

 17: #define DMDALocalInfo PetscInt
 18: !
 19: !   DMDA_LOCAL_INFO_SIZE is one large than the size incase the DA is larger than an integer (on 64 bit systems).
 20: !   non-int fields are not accessiable from fortran.
 21: !
 22: #define DMDA_LOCAL_INFO_SIZE 22
 23: #define DMDA_LOCAL_INFO_DIM 1
 24: #define DMDA_LOCAL_INFO_DOF 2
 25: #define DMDA_LOCAL_INFO_MX 4
 26: #define DMDA_LOCAL_INFO_MY 5
 27: #define DMDA_LOCAL_INFO_MZ 6
 28: #define DMDA_LOCAL_INFO_XS 7
 29: #define DMDA_LOCAL_INFO_YS 8
 30: #define DMDA_LOCAL_INFO_ZS 9
 31: #define DMDA_LOCAL_INFO_XM 10
 32: #define DMDA_LOCAL_INFO_YM 11
 33: #define DMDA_LOCAL_INFO_ZM 12
 34: #define DMDA_LOCAL_INFO_GXS 13
 35: #define DMDA_LOCAL_INFO_GYS 14
 36: #define DMDA_LOCAL_INFO_GZS 15
 37: #define DMDA_LOCAL_INFO_GXM 16
 38: #define DMDA_LOCAL_INFO_GYM 17
 39: #define DMDA_LOCAL_INFO_GZM 18

 41: #define XG_RANGE in(DMDA_LOCAL_INFO_GXS)+1:in(DMDA_LOCAL_INFO_GXS)+in(DMDA_LOCAL_INFO_GXM)
 42: #define YG_RANGE in(DMDA_LOCAL_INFO_GYS)+1:in(DMDA_LOCAL_INFO_GYS)+in(DMDA_LOCAL_INFO_GYM)
 43: #define ZG_RANGE in(DMDA_LOCAL_INFO_GZS)+1:in(DMDA_LOCAL_INFO_GZS)+in(DMDA_LOCAL_INFO_GZM)
 44: #define X_RANGE in(DMDA_LOCAL_INFO_XS)+1:in(DMDA_LOCAL_INFO_XS)+in(DMDA_LOCAL_INFO_XM)
 45: #define Y_RANGE in(DMDA_LOCAL_INFO_YS)+1:in(DMDA_LOCAL_INFO_YS)+in(DMDA_LOCAL_INFO_YM)
 46: #define Z_RANGE in(DMDA_LOCAL_INFO_ZS)+1:in(DMDA_LOCAL_INFO_ZS)+in(DMDA_LOCAL_INFO_ZM)

 48: #define DMDAInterpolationType PetscEnum
 49: #define DMDAElementType PetscEnum

 51: #endif