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) 29: #define DMAdaptor PetscFortranAddr 30: #define PetscQuadrature PetscFortranAddr 31: #define PetscWeakForm PetscFortranAddr 32: #define PetscDS PetscFortranAddr 33: #define PetscFE PetscFortranAddr 34: #define PetscSpace PetscFortranAddr 35: #define PetscDualSpace PetscFortranAddr 36: #define PetscFV PetscFortranAddr 37: #define PetscLimiter PetscFortranAddr 38: #define PetscPartitioner PetscFortranAddr 39: #define DMField PetscFortranAddr 41: #define DMDA 'da' 42: #define DMCOMPOSITE 'composite' 43: #define DMSLICED 'sliced' 44: #define DMSHELL 'shell' 45: #define DMPLEX 'plex' 46: #define DMREDUNDANT 'redundant' 47: #define DMPATCH 'patch' 48: #define DMMOAB 'moab' 49: #define DMNETWORK 'network' 50: #define DMFOREST 'forest' 51: #define DMP4EST 'p4est' 52: #define DMP8EST 'p8est' 53: #define DMSWARM 'swarm' 55: #define DMPlexTransform type(tDMPlexTransform) 57: #define DMPLEXREFINEREGULAR 'refine_regular' 58: #define DMPLEXREFINEALFELD 'refine_alfeld' 59: #define DMPLEXREFINEPOWELLSABIN 'refine_powell_sabin' 60: #define DMPLEXREFINEBOUNDARYLAYER 'refine_boundary_layer' 61: #define DMPLEXREFINESBR 'refine_sbr' 62: #define DMPLEXREFINETOBOX 'refine_tobox' 63: #define DMPLEXREFINETOSIMPLEX 'refine_tosimplex' 64: #define DMPLEXREFINE1D 'refine_1d' 65: #define DMPLEXEXTRUDE 'extrude' 66: #define DMPLEXTRANSFORMFILTER 'transform_filter' 68: #endif