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" 59 class ProblemCommunicator;
60 class ProcessCommunicator;
87 #ifdef __PARALLEL_MODE 116 virtual const char *
giveClassName()
const {
return "DirectErrorIndicatorRC"; }
127 #ifdef __PARALLEL_MODE 138 #endif // directerrorindicatorrc_h double giveDofManIndicator(int num, TimeStep *tStep)
Returns dof man indicator values.
double giveLocalDofManIndicator(int num, TimeStep *tStep)
The base class for all remeshing criteria.
double remeshingDensityRatioToggle
Ratio between proposedDensity and currDensity.
virtual const char * giveClassName() const
DirectErrorIndicatorRC(int n, ErrorEstimator *e)
Constructor.
double giveZeroIndicatorDensity()
long StateCounterType
StateCounterType type used to indicate solution state.
int unpackSharedDofManLocalDensities(ProcessCommunicator &processComm)
virtual int estimateMeshDensities(TimeStep *tStep)
Estimates the nodal densities.
int unpackSharedDofManLocalIndicatorVals(ProcessCommunicator &processComm)
bool dofManDensityExchangeFlag
double giveLocalDofManDensity(int num)
The class is an implementation of "direct" remeshing criteria, which maps the error indication...
double zeroIndicatorDensity
Default mesh density for Indicator value < minIndicatorLimit.
virtual const char * giveInputRecordName() const
virtual RemeshingStrategy giveRemeshingStrategy(TimeStep *tStep)
Determines, if the remeshing is needed, and if needed, the type of strategy used. ...
int packSharedDofManLocalDensities(ProcessCommunicator &processComm)
std::map< int, double > sharedDofManIndicatorVals
virtual double giveRequiredDofManDensity(int num, TimeStep *tStep, int relative=0)
Returns the required mesh size n given dof manager.
virtual void setDomain(Domain *d)
Sets associated Domain.
Class representing process communicator for engineering model.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual ~DirectErrorIndicatorRC()
The base class for all error estimation or error indicator algorithms.
Class representing vector of real numbers.
RemeshingStrategy
Type representing the remeshing strategy.
IRResultType
Type defining the return values of InputRecord reading operations.
void exchangeDofManDensities()
double maxIndicatorDensity
virtual void reinitialize()
double giveMinIndicatorLimit()
Returns the minimum indicator limit.
void giveNodeChar(int inode, TimeStep *tStep, double &indicatorVal, double &currDensity)
std::map< int, double > sharedDofManDensities
RemeshingStrategy currStrategy
the oofem namespace is to define a context or scope in which all oofem names are defined.
void exchangeDofManIndicatorVals(TimeStep *tStep)
double minIndicatorDensity
FloatArray nodalDensities
int packSharedDofManLocalIndicatorVals(ProcessCommunicator &processComm)
Class representing solution step.
double giveMinIndicatorDensity()
virtual double giveDofManDensity(int num)
Returns existing mesh size for given dof manager.
StateCounterType stateCounter
Actual values (densities) state counter.