35#ifndef directerrorindicatorrc_h
36#define directerrorindicatorrc_h
47#define _IFT_DirectErrorIndicatorRC_minlim "minlim"
48#define _IFT_DirectErrorIndicatorRC_maxlim "maxlim"
49#define _IFT_DirectErrorIndicatorRC_mindens "mindens"
50#define _IFT_DirectErrorIndicatorRC_maxdens "maxdens"
51#define _IFT_DirectErrorIndicatorRC_defdens "defdens"
52#define _IFT_DirectErrorIndicatorRC_remeshingdensityratio "remeshingdensityratio"
59class ProblemCommunicator;
60class ProcessCommunicator;
87#ifdef __MPI_PARALLEL_MODE
116 const char *
giveClassName()
const override {
return "DirectErrorIndicatorRC"; }
127#ifdef __MPI_PARALLEL_MODE
int unpackSharedDofManLocalDensities(ProcessCommunicator &processComm)
double remeshingDensityRatioToggle
bool dofManDensityExchangeFlag
void exchangeDofManDensities()
double giveLocalDofManIndicator(int num, TimeStep *tStep)
double maxIndicatorDensity
int packSharedDofManLocalIndicatorVals(ProcessCommunicator &processComm)
FloatArray nodalDensities
double giveLocalDofManDensity(int num)
const char * giveClassName() const override
StateCounterType stateCounter
Actual values (densities) state counter.
const char * giveInputRecordName() const override
int packSharedDofManLocalDensities(ProcessCommunicator &processComm)
double zeroIndicatorDensity
Default mesh density for Indicator value < minIndicatorLimit.
void exchangeDofManIndicatorVals(TimeStep *tStep)
virtual ~DirectErrorIndicatorRC()
double minIndicatorDensity
RemeshingStrategy giveRemeshingStrategy(TimeStep *tStep) override
void setDomain(Domain *d) override
double giveRequiredDofManDensity(int num, TimeStep *tStep, int relative=0) override
void reinitialize() override
std ::map< int, double > sharedDofManDensities
RemeshingStrategy currStrategy
double giveDofManIndicator(int num, TimeStep *tStep)
double giveMinIndicatorDensity()
double giveDofManDensity(int num) override
void initializeFrom(InputRecord &ir) override
std ::map< int, double > sharedDofManIndicatorVals
int unpackSharedDofManLocalIndicatorVals(ProcessCommunicator &processComm)
void giveNodeChar(int inode, TimeStep *tStep, double &indicatorVal, double &currDensity)
double giveZeroIndicatorDensity()
double giveMinIndicatorLimit()
Returns the minimum indicator limit.
DirectErrorIndicatorRC(int n, ErrorEstimator *e)
Constructor.
int estimateMeshDensities(TimeStep *tStep) override
RemeshingCriteria(int n, ErrorEstimator *e)
Constructor.
long StateCounterType
StateCounterType type used to indicate solution state.
RemeshingStrategy
Type representing the remeshing strategy.