1: ! 2: ! Include file for Fortran use of the DM package in PETSc 3: ! 4: #if !defined (PETSCDMDEF_H) 5: #define PETSCDMDEF_H 7: #include "petsc/finclude/petscis.h" 8: #include "petsc/finclude/petscvec.h" 9: #include "petsc/finclude/petscmat.h" 10: #include "petsc/finclude/petscdt.h" 12: #define DMType character*(80) 13: #define DMBoundaryType PetscEnum 14: #define DMBlockingType PetscEnum 15: #define DMPointLocationType PetscEnum 16: #define DMAdaptationType PetscEnum 17: #define DMAdaptFlag PetscEnum 18: #define PetscUnit PetscEnum 19: #define DMAdaptationStrategy PetscEnum 20: #define DMDirection PetscEnum 21: #define DMEnclosureType PetscEnum 22: #define DMPolytopeType PetscEnum 23: #define DMCopyLabelsMode PetscEnum 24: #define PetscDTSimplexQuadratureType PetscEnum 25: #define DMReorderDefaultFlag PetscEnum 27: #define DM type(tDM) 28: #define DMAdaptor type(tDMAdaptor) 29: #define PetscQuadrature type(tPetscQuadrature) 30: #define PetscWeakForm type(tPetscWeakForm) 31: #define PetscDS type(tPetscDS) 32: #define PetscFE type(tPetscFE) 33: #define PetscSpace type(tPetscSpace) 34: #define PetscDualSpace type(tPetscDualSpace) 35: #define PetscFV type(tPetscFV) 36: #define PetscLimiter type(tPetscLimiter) 37: #define PetscPartitioner type(tPetscPartitioner) 38: #define DMField type(tDMField) 40: #define DMDA 'da' 41: #define DMCOMPOSITE 'composite' 42: #define DMSLICED 'sliced' 43: #define DMSHELL 'shell' 44: #define DMPLEX 'plex' 45: #define DMREDUNDANT 'redundant' 46: #define DMPATCH 'patch' 47: #define DMMOAB 'moab' 48: #define DMNETWORK 'network' 49: #define DMFOREST 'forest' 50: #define DMP4EST 'p4est' 51: #define DMP8EST 'p8est' 52: #define DMSWARM 'swarm' 54: #define DMPlexTransform type(tDMPlexTransform) 56: #define DMPLEXREFINEREGULAR 'refine_regular' 57: #define DMPLEXREFINEALFELD 'refine_alfeld' 58: #define DMPLEXREFINEPOWELLSABIN 'refine_powell_sabin' 59: #define DMPLEXREFINEBOUNDARYLAYER 'refine_boundary_layer' 60: #define DMPLEXREFINESBR 'refine_sbr' 61: #define DMPLEXREFINETOBOX 'refine_tobox' 62: #define DMPLEXREFINETOSIMPLEX 'refine_tosimplex' 63: #define DMPLEXREFINE1D 'refine_1d' 64: #define DMPLEXEXTRUDE 'extrude' 65: #define DMPLEXTRANSFORMFILTER 'transform_filter' 67: #endif