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

      2: !
      3: !  Include file for Fortran use of the DMDA (distributed array) package in PETSc
      4: !
      5: #if !defined (__PETSCDMDADEF_H)

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

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

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

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

     47: #define DMDAInterpolationType PetscEnum
     48: #define DMDAElementType PetscEnum

     50: #endif