2: ! 3: ! Include file for Fortran use of the DM package in PETSc 4: ! 5: #if !defined (PETSCDMDEF_H) 6: #define PETSCDMDEF_H 8: #include "petsc/finclude/petscis.h" 9: #include "petsc/finclude/petscvec.h" 10: #include "petsc/finclude/petscmat.h" 12: #define DMType character*(80) 13: #define DMBoundaryType 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 23: #define DM type(tDM) 25: #define DMAdaptor PetscFortranAddr 26: #define PetscQuadrature PetscFortranAddr 27: #define PetscWeakForm PetscFortranAddr 28: #define PetscDS PetscFortranAddr 29: #define PetscFE PetscFortranAddr 30: #define PetscSpace PetscFortranAddr 31: #define PetscDualSpace PetscFortranAddr 32: #define PetscFV PetscFortranAddr 33: #define PetscLimiter PetscFortranAddr 34: #define PetscPartitioner PetscFortranAddr 35: #define DMField PetscFortranAddr 37: #define DMDA 'da' 38: #define DMCOMPOSITE 'composite' 39: #define DMSLICED 'sliced' 40: #define DMSHELL 'shell' 41: #define DMPLEX 'plex' 42: #define DMREDUNDANT 'redundant' 43: #define DMPATCH 'patch' 44: #define DMMOAB 'moab' 45: #define DMNETWORK 'network' 46: #define DMFOREST 'forest' 47: #define DMP4EST 'p4est' 48: #define DMP8EST 'p8est' 49: #define DMSWARM 'swarm' 51: #define DMPlexTransform type(tDMPlexTransform) 53: #define DMPLEXREFINEREGULAR 'refine_regular' 54: #define DMPLEXREFINEALFELD 'refine_alfeld' 55: #define DMPLEXREFINEPOWELLSABIN 'refine_powell_sabin' 56: #define DMPLEXREFINEBOUNDARYLAYER 'refine_boundary_layer' 57: #define DMPLEXREFINESBR 'refine_sbr' 58: #define DMPLEXREFINETOBOX 'refine_tobox' 59: #define DMPLEXREFINETOSIMPLEX 'refine_tosimplex' 60: #define DMPLEXEXTRUDE 'extrude' 61: #define DMPLEXTRANSFORMFILTER 'transform_filter' 63: #endif