Actual source code: petscdm.h

      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

     38: #define DMDA        'da'
     39: #define DMCOMPOSITE 'composite'
     40: #define DMSLICED    'sliced'
     41: #define DMSHELL     'shell'
     42: #define DMPLEX      'plex'
     43: #define DMREDUNDANT 'redundant'
     44: #define DMPATCH     'patch'
     45: #define DMMOAB      'moab'
     46: #define DMNETWORK   'network'
     47: #define DMFOREST    'forest'
     48: #define DMP4EST     'p4est'
     49: #define DMP8EST     'p8est'
     50: #define DMSWARM     'swarm'

     52: #define DMPlexCellRefiner type(tDMPlexCellRefiner)

     54: #endif