Actual source code: dmforestimpl.h
petsc-3.12.4 2020-02-04
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>

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

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

     50: #endif /* _FORESTIMPL_H */