Actual source code: petscdadef.h
2: !
3: ! Include file for Fortran use of the DA (distributed array) package in PETSc
4: !
5: #if !defined (__PETSCDADEF_H)
8: #include finclude/petscisdef.h
9: #include finclude/petscvecdef.h
10: #include finclude/petscmatdef.h
12: #if !defined(PETSC_USE_FORTRAN_DATATYPES)
13: #define DA PetscFortranAddr
14: #define DM PetscFortranAddr
15: #define ADDA PetscFortranAddr
16: #define SDA PetscFortranAddr
17: #endif
18: #define DAPeriodicType PetscEnum
19: #define DAStencilType PetscEnum
20: #define DADirection PetscEnum
21: #define DMMG PetscFortranAddr
22: #define DMMGArray PetscFortranAddr
23: #define DMComposite PetscFortranAddr
26: #define DALocalInfo PetscInt
27: !
28: ! DA_LOCAL_INFO_SIZE is one large than the size incase the DA is larger than an integer (on 64 bit systems).
29: ! non-int fields are not accessiable from fortran.
30: !
31: #define DA_LOCAL_INFO_SIZE 22
32: #define DA_LOCAL_INFO_DIM 1
33: #define DA_LOCAL_INFO_DOF 2
34: #define DA_LOCAL_INFO_MX 4
35: #define DA_LOCAL_INFO_MY 5
36: #define DA_LOCAL_INFO_MZ 6
37: #define DA_LOCAL_INFO_XS 7
38: #define DA_LOCAL_INFO_YS 8
39: #define DA_LOCAL_INFO_ZS 9
40: #define DA_LOCAL_INFO_XM 10
41: #define DA_LOCAL_INFO_YM 11
42: #define DA_LOCAL_INFO_ZM 12
43: #define DA_LOCAL_INFO_GXS 13
44: #define DA_LOCAL_INFO_GYS 14
45: #define DA_LOCAL_INFO_GZS 15
46: #define DA_LOCAL_INFO_GXM 16
47: #define DA_LOCAL_INFO_GYM 17
48: #define DA_LOCAL_INFO_GZM 18
50: #define XG_RANGE in(DA_LOCAL_INFO_GXS)+1:in(DA_LOCAL_INFO_GXS)+in(DA_LOCAL_INFO_GXM)
51: #define YG_RANGE in(DA_LOCAL_INFO_GYS)+1:in(DA_LOCAL_INFO_GYS)+in(DA_LOCAL_INFO_GYM)
52: #define ZG_RANGE in(DA_LOCAL_INFO_GZS)+1:in(DA_LOCAL_INFO_GZS)+in(DA_LOCAL_INFO_GZM)
53: #define X_RANGE in(DA_LOCAL_INFO_XS)+1:in(DA_LOCAL_INFO_XS)+in(DA_LOCAL_INFO_XM)
54: #define Y_RANGE in(DA_LOCAL_INFO_YS)+1:in(DA_LOCAL_INFO_YS)+in(DA_LOCAL_INFO_YM)
55: #define Z_RANGE in(DA_LOCAL_INFO_ZS)+1:in(DA_LOCAL_INFO_ZS)+in(DA_LOCAL_INFO_ZM)
57: #define DAInterpolationType PetscEnum
58: #define DAElementType PetscEnum
59: #endif