OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This error estimator measures the quality of the elements. More...
#include <meshqualityerrorestimator.h>
Public Member Functions | |
MeshQualityErrorEstimator (int n, Domain *d) | |
Constructor. More... | |
virtual | ~MeshQualityErrorEstimator () |
Destructor. More... | |
virtual double | giveElementError (EE_ErrorType type, Element *elem, TimeStep *tStep) |
Returns the element error. More... | |
virtual double | giveValue (EE_ValueType type, TimeStep *tStep) |
Gives the max error from any element in the domain. More... | |
virtual int | estimateError (EE_ErrorMode mode, TimeStep *tStep) |
Empty implementation. More... | |
virtual RemeshingCriteria * | giveRemeshingCrit () |
Returns reference to associated remeshing criteria. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual const char * | giveClassName () const |
Public Member Functions inherited from oofem::ErrorEstimator | |
ErrorEstimator (int n, Domain *d) | |
Constructor. More... | |
virtual | ~ErrorEstimator () |
Destructor. More... | |
void | setDomain (Domain *d) |
Sets Domain; should also re-initialize attributes if necessary. More... | |
int | giveNumberOfSkippedElements () |
Returns number of elements skipped in error estimation. More... | |
ErrorEstimatorType | giveErrorEstimatorType () const |
Returns error estimation type of receiver. More... | |
bool | skipRegion (int reg) |
Returns nonzero if region has been skipped in error estimation (user option). More... | |
virtual void | reinitialize () |
virtual const char * | giveInputRecordName () const |
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... | |
Static Protected Member Functions | |
static double | computeTriangleRadiusError (Element *elem) |
Computes error based on the inscribed triangle/circle ratio. More... | |
static double | computeJacobianError (FEInterpolation &fei, IntegrationRule &ir, Element *elem) |
Computes the error based on the conditioning of the Jacobian. More... | |
Additional Inherited Members | |
Protected Attributes inherited from oofem::ErrorEstimator | |
ErrorEstimatorType | eeType |
std::unique_ptr< RemeshingCriteria > | rc |
IntArray | regionSkipMap |
Map indicating regions to skip (region - cross section model). More... | |
int | skippedNelems |
Number of skipped elements. More... | |
InternalStateType | IStype |
Internal state type of variable to get internal forces. 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... | |
This error estimator measures the quality of the elements.
This is useful when elements are deformed during the simulation.
Error estimates should be unitless, positive, and scaled properly. Zero error should reflect a perfect element. Error value of one should reflect an element of acceptable quality.
Definition at line 61 of file meshqualityerrorestimator.h.
|
inline |
Constructor.
Definition at line 78 of file meshqualityerrorestimator.h.
References oofem::EET_MeshQuality.
|
inlinevirtual |
Destructor.
Definition at line 82 of file meshqualityerrorestimator.h.
|
staticprotected |
Computes the error based on the conditioning of the Jacobian.
Definition at line 88 of file meshqualityerrorestimator.C.
References oofem::FloatMatrix::computeReciprocalCondition(), oofem::FloatMatrix::giveDeterminant(), oofem::FEInterpolation::giveJacobianMatrixAt(), and oofem::sgn().
Referenced by giveElementError().
|
staticprotected |
Computes error based on the inscribed triangle/circle ratio.
Definition at line 70 of file meshqualityerrorestimator.C.
References oofem::FloatArray::distance(), oofem::Node::giveCoordinates(), and oofem::Element::giveNode().
Referenced by giveElementError().
|
virtual |
Empty implementation.
Implements oofem::ErrorEstimator.
Definition at line 115 of file meshqualityerrorestimator.C.
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 95 of file meshqualityerrorestimator.h.
|
virtual |
Returns the element error.
The estimateError service should be called before.
type | Error type. |
elem | Element for which error requested. |
tStep | Time step. |
Implements oofem::ErrorEstimator.
Definition at line 45 of file meshqualityerrorestimator.C.
References computeJacobianError(), computeTriangleRadiusError(), oofem::Element::giveDefaultIntegrationRulePtr(), oofem::Element::giveGeometryType(), and oofem::Element::giveInterpolation().
Referenced by giveValue().
|
inlinevirtual |
Returns reference to associated remeshing criteria.
Implements oofem::ErrorEstimator.
Definition at line 92 of file meshqualityerrorestimator.h.
|
virtual |
Gives the max error from any element in the domain.
Implements oofem::ErrorEstimator.
Definition at line 103 of file meshqualityerrorestimator.C.
References oofem::FEMComponent::domain, giveElementError(), oofem::Domain::giveElements(), and oofem::unknownET.
|
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::ErrorEstimator.
Definition at line 120 of file meshqualityerrorestimator.C.
References oofem::ErrorEstimator::initializeFrom().