Actual source code: petscdmdadef.h
petsc-3.4.5 2014-06-29
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