|
OOFEM 3.0
|
#include <zzerrorestimator.h>
Public Types | |
| enum | ZZRemeshingCriteriaModeType { stressBased } |
| Mode of receiver, allows to use it in more general situations. More... | |
Public Member Functions | |
| ZZRemeshingCriteria (int n, ErrorEstimator *e) | |
| Constructor. | |
| virtual | ~ZZRemeshingCriteria () |
| Destructor. | |
| double | giveRequiredDofManDensity (int num, TimeStep *tStep, int relative=0) override |
| double | giveDofManDensity (int num) override |
| RemeshingStrategy | giveRemeshingStrategy (TimeStep *tStep) override |
| int | estimateMeshDensities (TimeStep *tStep) override |
| void | initializeFrom (InputRecord &ir) override |
| const char * | giveInputRecordName () const override |
| const char * | giveClassName () const override |
| Public Member Functions inherited from oofem::RemeshingCriteria | |
| RemeshingCriteria (int n, ErrorEstimator *e) | |
| Constructor. | |
| virtual | ~RemeshingCriteria () |
| Destructor. | |
| virtual void | reinitialize () |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| virtual void | initializeFrom (InputRecord &ir, int priority) |
| virtual void | initializeFinish () |
| virtual void | postInitialize () |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual void | giveInputRecord (DynamicInputRecord &input) |
| virtual void | saveContext (DataStream &stream, ContextMode mode) |
| virtual void | restoreContext (DataStream &stream, ContextMode mode) |
| virtual int | checkConsistency () |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. | |
| virtual Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Attributes | |
| FloatArray | nodalDensities |
| Array of nodal mesh densities. | |
| RemeshingStrategy | remeshingStrategy |
| Remeshing strategy proposed. | |
| StateCounterType | stateCounter |
| Actual values (densities) state counter. | |
| ZZRemeshingCriteriaModeType | mode |
| Mode of receiver. | |
| double | requiredError |
| Required error to obtain. | |
| double | minElemSize |
| Minimum element size allowed. | |
| Protected Attributes inherited from oofem::RemeshingCriteria | |
| ErrorEstimator * | ee |
| CommunicatorBuff * | commBuff |
| Common Communicator buffer. | |
| ProblemCommunicator * | communicator |
| Communicator. | |
| bool | initCommMap |
| Communication init flag. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
The class representing 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 183 of file zzerrorestimator.h.
Mode of receiver, allows to use it in more general situations.
| Enumerator | |
|---|---|
| stressBased | |
Definition at line 187 of file zzerrorestimator.h.
| oofem::ZZRemeshingCriteria::ZZRemeshingCriteria | ( | int | n, |
| ErrorEstimator * | e ) |
Constructor.
Definition at line 322 of file zzerrorestimator.C.
References mode, oofem::RemeshingCriteria::RemeshingCriteria(), stateCounter, and stressBased.
|
inlinevirtual |
Destructor.
Definition at line 207 of file zzerrorestimator.h.
|
overridevirtual |
Estimates the nodal densities.
| tStep | Time step. |
Implements oofem::RemeshingCriteria.
Definition at line 357 of file zzerrorestimator.C.
References oofem::FEMComponent::domain, oofem::RemeshingCriteria::ee, giveDofManDensity(), oofem::TimeStep::giveSolutionStateCounter(), oofem::globalErrorEEV, oofem::globalNormEEV, oofem::indicatorET, oofem::internalStressET, oofem::min(), mode, nodalDensities, oofem::NoRemeshing_RS, OOFEM_ERROR, oofem::RemeshingFromPreviousState_RS, remeshingStrategy, requiredError, stateCounter, and stressBased.
Referenced by giveRemeshingStrategy(), and giveRequiredDofManDensity().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 216 of file zzerrorestimator.h.
|
overridevirtual |
Returns existing mesh size for given dof manager.
| num | DofMan number. |
Implements oofem::RemeshingCriteria.
Definition at line 464 of file zzerrorestimator.C.
References oofem::IntArray::at(), oofem::Element::computeMeanSize(), oofem::FEMComponent::domain, oofem::ConnectivityTable::giveDofManConnectivityArray(), oofem::IntArray::giveSize(), and oofem::min().
Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().
|
inlineoverridevirtual |
Implements oofem::FEMComponent.
Definition at line 215 of file zzerrorestimator.h.
|
overridevirtual |
Determines, if the remeshing is needed, and if needed, the type of strategy used.
| tStep | Time step. |
Implements oofem::RemeshingCriteria.
Definition at line 350 of file zzerrorestimator.C.
References estimateMeshDensities(), and remeshingStrategy.
|
overridevirtual |
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 329 of file zzerrorestimator.C.
References estimateMeshDensities(), giveDofManDensity(), oofem::max(), minElemSize, and nodalDensities.
|
overridevirtual |
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. Note that initializeFrom may be called mutiple times.
| ir | Input record to initialize from. |
| priority | Priority of the input record. This is used to determine the order of initialization |
Reimplemented from oofem::FEMComponent.
Definition at line 456 of file zzerrorestimator.C.
References _IFT_ZZRemeshingCriteria_minelemsize, _IFT_ZZRemeshingCriteria_requirederror, IR_GIVE_FIELD, minElemSize, and requiredError.
|
protected |
Minimum element size allowed.
Definition at line 201 of file zzerrorestimator.h.
Referenced by giveRequiredDofManDensity(), and initializeFrom().
|
protected |
Mode of receiver.
Definition at line 197 of file zzerrorestimator.h.
Referenced by estimateMeshDensities(), and ZZRemeshingCriteria().
|
protected |
Array of nodal mesh densities.
Definition at line 191 of file zzerrorestimator.h.
Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().
|
protected |
Remeshing strategy proposed.
Definition at line 193 of file zzerrorestimator.h.
Referenced by estimateMeshDensities(), and giveRemeshingStrategy().
|
protected |
Required error to obtain.
Definition at line 199 of file zzerrorestimator.h.
Referenced by estimateMeshDensities(), and initializeFrom().
|
protected |
Actual values (densities) state counter.
Definition at line 195 of file zzerrorestimator.h.
Referenced by estimateMeshDensities(), and ZZRemeshingCriteria().