Actual source code: petscdm.h

  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