OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
The class represent the corresponding remeshing criteria to CombinedZZSIErrorEstimator. More...
#include <combinedzzsiee.h>
Public Member Functions | |
CombinedZZSIRemeshingCriteria (int n, ErrorEstimator *e) | |
Constructor. More... | |
virtual | ~CombinedZZSIRemeshingCriteria () |
Destructor. More... | |
virtual double | giveRequiredDofManDensity (int num, TimeStep *tStep, int relative=0) |
Returns the required mesh size n given dof manager. More... | |
virtual double | giveDofManDensity (int num) |
Returns existing mesh size for given dof manager. More... | |
virtual RemeshingStrategy | giveRemeshingStrategy (TimeStep *tStep) |
Determines, if the remeshing is needed, and if needed, the type of strategy used. More... | |
virtual int | estimateMeshDensities (TimeStep *tStep) |
Estimates the nodal densities. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual const char * | giveInputRecordName () const |
virtual const char * | giveClassName () const |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
Public Member Functions inherited from oofem::RemeshingCriteria | |
RemeshingCriteria (int n, ErrorEstimator *e) | |
Constructor. More... | |
virtual | ~RemeshingCriteria () |
Destructor. More... | |
virtual void | reinitialize () |
Public Member Functions inherited from oofem::FEMComponent | |
FEMComponent (int n, Domain *d) | |
Regular constructor, creates component with given number and belonging to given domain. More... | |
virtual | ~FEMComponent () |
Virtual destructor. More... | |
Domain * | giveDomain () const |
int | giveNumber () const |
void | setNumber (int num) |
Sets number of receiver. More... | |
virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
Local renumbering support. More... | |
virtual void | giveInputRecord (DynamicInputRecord &input) |
Setups the input record string of receiver. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Restores the receiver state previously written in stream. More... | |
virtual int | checkConsistency () |
Allows programmer to test some internal data, before computation begins. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Prints output of receiver to stream, for given time step. More... | |
virtual void | printYourself () |
Prints receiver state on stdout. Useful for debugging. More... | |
virtual Interface * | giveInterface (InterfaceType t) |
Interface requesting service. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Protected Attributes | |
ZZRemeshingCriteria | zzrc |
DirectErrorIndicatorRC | dirc |
Protected Attributes inherited from oofem::RemeshingCriteria | |
ErrorEstimator * | ee |
CommunicatorBuff * | commBuff |
Common Communicator buffer. More... | |
ProblemCommunicator * | communicator |
Communicator. More... | |
bool | initCommMap |
Communication init flag. More... | |
Protected Attributes inherited from oofem::FEMComponent | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
The class represent the corresponding remeshing criteria to CombinedZZSIErrorEstimator.
In regions, where the error indicator is larger than given threshold, the mesh is refined according this indicator (currently linear interpolation). Otherwise, the mesh size is determined from Zienkiewicz-Zhu remeshing criteria. (Assumes that error is equally distributed between elements, then the requirement for max. permissible error can be translated into placing a limit on the error on each element.) The basic task is to evaluate the required mesh density (at nodes) on given domain, based on informations provided by the compatible error estimator.
The remeshing criteria is maintained by the corresponding error estimator. This is mainly due to fact, that is necessary for given EE to create compatible RC. In our concept, the EE is responsible.
Definition at line 94 of file combinedzzsiee.h.
oofem::CombinedZZSIRemeshingCriteria::CombinedZZSIRemeshingCriteria | ( | int | n, |
ErrorEstimator * | e | ||
) |
Constructor.
Definition at line 105 of file combinedzzsiee.C.
|
inlinevirtual |
Destructor.
Definition at line 104 of file combinedzzsiee.h.
References oofem::CombinedZZSIErrorEstimator::initializeFrom().
|
virtual |
Estimates the nodal densities.
tStep | Time step. |
Implements oofem::RemeshingCriteria.
Definition at line 156 of file combinedzzsiee.C.
References dirc, oofem::DirectErrorIndicatorRC::estimateMeshDensities(), oofem::ZZRemeshingCriteria::estimateMeshDensities(), and zzrc.
Referenced by giveRemeshingStrategy(), and giveRequiredDofManDensity().
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 112 of file combinedzzsiee.h.
References oofem::CombinedZZSIErrorEstimator::setDomain().
|
virtual |
Returns existing mesh size for given dof manager.
num | DofMan number. |
Implements oofem::RemeshingCriteria.
Definition at line 175 of file combinedzzsiee.C.
References oofem::IntArray::at(), oofem::Element::computeMeanSize(), oofem::FEMComponent::domain, oofem::Domain::giveConnectivityTable(), oofem::ConnectivityTable::giveDofManConnectivityArray(), oofem::Domain::giveElement(), oofem::IntArray::giveSize(), and oofem::min().
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 111 of file combinedzzsiee.h.
|
virtual |
Determines, if the remeshing is needed, and if needed, the type of strategy used.
tStep | Time step. |
Implements oofem::RemeshingCriteria.
Definition at line 137 of file combinedzzsiee.C.
References dirc, estimateMeshDensities(), oofem::DirectErrorIndicatorRC::giveRemeshingStrategy(), oofem::ZZRemeshingCriteria::giveRemeshingStrategy(), oofem::NoRemeshing_RS, oofem::RemeshingFromCurrentState_RS, oofem::RemeshingFromPreviousState_RS, and zzrc.
|
virtual |
Returns the required mesh size n given dof manager.
The mesh density is defined as a required element size (in 1D the element length, in 2D the square from element area).
num | Dofman number. |
tStep | Time step. |
relative | If zero, then actual density is returned, otherwise the relative density to current is returned. |
Implements oofem::RemeshingCriteria.
Definition at line 110 of file combinedzzsiee.C.
References CZZSI_ZERO_INDICATOR_TOL, dirc, estimateMeshDensities(), oofem::DirectErrorIndicatorRC::giveMinIndicatorDensity(), oofem::DirectErrorIndicatorRC::giveMinIndicatorLimit(), oofem::DirectErrorIndicatorRC::giveNodeChar(), oofem::DirectErrorIndicatorRC::giveRequiredDofManDensity(), oofem::ZZRemeshingCriteria::giveRequiredDofManDensity(), oofem::max(), oofem::min(), and zzrc.
|
virtual |
Initializes receiver according to object description stored in input record.
This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record.
ir | Input record to initialize from. |
Reimplemented from oofem::FEMComponent.
Definition at line 164 of file combinedzzsiee.C.
References dirc, oofem::DirectErrorIndicatorRC::initializeFrom(), oofem::ZZRemeshingCriteria::initializeFrom(), oofem::IRRT_OK, and zzrc.
|
virtual |
Sets associated Domain.
d | New domain which receiver should belong to. |
Reimplemented from oofem::FEMComponent.
Definition at line 200 of file combinedzzsiee.C.
References dirc, oofem::FEMComponent::setDomain(), oofem::DirectErrorIndicatorRC::setDomain(), and zzrc.
|
protected |
Definition at line 98 of file combinedzzsiee.h.
Referenced by estimateMeshDensities(), giveRemeshingStrategy(), giveRequiredDofManDensity(), initializeFrom(), and setDomain().
|
protected |
Definition at line 97 of file combinedzzsiee.h.
Referenced by estimateMeshDensities(), giveRemeshingStrategy(), giveRequiredDofManDensity(), initializeFrom(), and setDomain().