Actual source code: dmforestimpl.h

petsc-3.9.4 2018-09-11
Report Typos and Errors
  1: #if !defined(_FORESTIMPL_H)
  2: #define _FORESTIMPL_H

  4:  #include <petscmat.h>
  5:  #include <petscdmforest.h>
  6:  #include <petscbt.h>
  7:  #include <petsc/private/dmimpl.h>
  8:  #include <petsc/private/hash.h>

 10: typedef struct {
 11:   PetscInt                   refct;
 12:   void                       *data;
 13:   PetscErrorCode             (*clearadaptivityforest)(DM);
 14:   PetscErrorCode             (*getadaptivitysuccess)(DM,PetscBool*);
 15:   PetscErrorCode             (*transfervec)(DM,Vec,DM,Vec,PetscBool,PetscReal);
 16:   PetscErrorCode             (*createcellchart)(DM,PetscInt*,PetscInt*);
 17:   PetscErrorCode             (*createcellsf)(DM,PetscSF*);
 18:   PetscErrorCode             (*destroy)(DM);
 19:   PetscErrorCode             (*ftemplate)(DM,DM);
 20:   PetscBool                  setfromoptionscalled;
 21:   PetscBool                  computeAdaptSF;
 22:   PetscErrorCode             (*mapcoordinates)(DM,PetscInt,PetscInt,const PetscReal[],PetscReal[],void*);
 23:   void                       *mapcoordinatesctx;
 24:   DMForestTopology           topology;
 25:   DM                         base;
 26:   DM                         adapt;
 27:   DMAdaptFlag                adaptPurpose;
 28:   PetscInt                   adjDim;
 29:   PetscInt                   overlap;
 30:   PetscInt                   minRefinement;
 31:   PetscInt                   maxRefinement;
 32:   PetscInt                   initRefinement;
 33:   PetscInt                   cStart;
 34:   PetscInt                   cEnd;
 35:   PetscSF                    cellSF;
 36:   PetscSF                    preCoarseToFine;
 37:   PetscSF                    coarseToPreFine;
 38:   DMLabel                    adaptLabel;
 39:   DMForestAdaptivityStrategy adaptStrategy;
 40:   PetscInt                   gradeFactor;
 41:   PetscReal                  *cellWeights;
 42:   PetscCopyMode              cellWeightsCopyMode;
 43:   PetscReal                  weightsFactor;
 44:   PetscReal                  weightCapacity;
 45: } DM_Forest;

 47: PETSC_EXTERN PetscErrorCode DMCreate_Forest(DM);
 48: PETSC_EXTERN PetscErrorCode DMClone_Forest(DM,DM*);
 49: PETSC_EXTERN PetscErrorCode DMSetFromOptions_Forest(PetscOptionItems*,DM);

 51: #endif /* _FORESTIMPL_H */