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" 11: #define DMType character*(80) 12: #define DMBoundaryType PetscEnum 13: #define DMBlockingType PetscEnum 14: #define DMPointLocationType PetscEnum 15: #define DMAdaptationType PetscEnum 16: #define DMAdaptFlag PetscEnum 17: #define PetscUnit PetscEnum 18: #define DMAdaptationStrategy PetscEnum 19: #define DMDirection PetscEnum 20: #define DMEnclosureType PetscEnum 21: #define DMPolytopeType PetscEnum 22: #define DMCopyLabelsMode PetscEnum 23: #define PetscDTSimplexQuadratureType PetscEnum 25: #define DM type(tDM) 27: #define DMAdaptor PetscFortranAddr 28: #define PetscQuadrature PetscFortranAddr 29: #define PetscWeakForm PetscFortranAddr 30: #define PetscDS PetscFortranAddr 31: #define PetscFE PetscFortranAddr 32: #define PetscSpace PetscFortranAddr 33: #define PetscDualSpace PetscFortranAddr 34: #define PetscFV PetscFortranAddr 35: #define PetscLimiter PetscFortranAddr 36: #define PetscPartitioner PetscFortranAddr 37: #define DMField PetscFortranAddr 39: #define DMDA 'da' 40: #define DMCOMPOSITE 'composite' 41: #define DMSLICED 'sliced' 42: #define DMSHELL 'shell' 43: #define DMPLEX 'plex' 44: #define DMREDUNDANT 'redundant' 45: #define DMPATCH 'patch' 46: #define DMMOAB 'moab' 47: #define DMNETWORK 'network' 48: #define DMFOREST 'forest' 49: #define DMP4EST 'p4est' 50: #define DMP8EST 'p8est' 51: #define DMSWARM 'swarm' 53: #define DMPlexTransform type(tDMPlexTransform) 55: #define DMPLEXREFINEREGULAR 'refine_regular' 56: #define DMPLEXREFINEALFELD 'refine_alfeld' 57: #define DMPLEXREFINEPOWELLSABIN 'refine_powell_sabin' 58: #define DMPLEXREFINEBOUNDARYLAYER 'refine_boundary_layer' 59: #define DMPLEXREFINESBR 'refine_sbr' 60: #define DMPLEXREFINETOBOX 'refine_tobox' 61: #define DMPLEXREFINETOSIMPLEX 'refine_tosimplex' 62: #define DMPLEXREFINE1D 'refine_1d' 63: #define DMPLEXEXTRUDE 'extrude' 64: #define DMPLEXTRANSFORMFILTER 'transform_filter' 66: #endif