OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
The class representing Huerta remeshing criteria. More...
#include <huertaerrorestimator.h>
Public Types | |
enum | HuertaRemeshingCriteriaModeType { primaryUnknownBased } |
Mode of receiver, allows to use it in more general situations. More... | |
Public Member Functions | |
HuertaRemeshingCriteria (int n, ErrorEstimator *e) | |
Constructor. More... | |
virtual | ~HuertaRemeshingCriteria () |
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 |
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 |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
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 | |
FloatArray | nodalDensities |
Array of nodal mesh densities. More... | |
RemeshingStrategy | remeshingStrategy |
Remeshing strategy proposed. More... | |
StateCounterType | stateCounter |
Actual values (densities) state counter. More... | |
HuertaRemeshingCriteriaModeType | mode |
Mode of receiver. More... | |
double | requiredError |
Required error to obtain. More... | |
double | minElemSize |
Minimum element size alloved. More... | |
double | refineCoeff |
Refinement coefficient. More... | |
bool | noRemesh |
Remeshing flag. More... | |
bool | wError |
Weighted error flag. More... | |
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 representing Huerta remeshing criteria.
The basic task is to evaluate the required mesh density (at nodes) on given domain, based on information 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 285 of file huertaerrorestimator.h.
Mode of receiver, allows to use it in more general situations.
Enumerator | |
---|---|
primaryUnknownBased |
Definition at line 289 of file huertaerrorestimator.h.
oofem::HuertaRemeshingCriteria::HuertaRemeshingCriteria | ( | int | n, |
ErrorEstimator * | e | ||
) |
Constructor.
Definition at line 691 of file huertaerrorestimator.C.
References mode, noRemesh, primaryUnknownBased, refineCoeff, stateCounter, and wError.
|
inlinevirtual |
Destructor.
Definition at line 315 of file huertaerrorestimator.h.
References oofem::HuertaErrorEstimator::initializeFrom().
|
virtual |
Estimates the nodal densities.
tStep | Time step. |
Implements oofem::RemeshingCriteria.
Definition at line 729 of file huertaerrorestimator.C.
References oofem::FloatArray::at(), oofem::Element::computeMeanSize(), oofem::FloatArray::computeNorm(), oofem::FEMComponent::domain, oofem::RemeshingCriteria::ee, oofem::EET_HEE, oofem::Element::giveDefaultIntegrationRulePtr(), oofem::Element::giveDofManager(), giveDofManDensity(), oofem::Domain::giveElement(), oofem::ErrorEstimator::giveElementError(), oofem::ErrorEstimator::giveErrorEstimatorType(), oofem::Element::giveInterpolation(), oofem::FEInterpolation::giveInterpolationOrder(), oofem::Element::giveIPValue(), oofem::FEMComponent::giveNumber(), oofem::TimeStep::giveNumber(), oofem::Domain::giveNumberOfDofManagers(), oofem::Element::giveNumberOfDofManagers(), oofem::Domain::giveNumberOfElements(), oofem::ErrorEstimator::giveNumberOfSkippedElements(), oofem::TimeStep::giveSolutionStateCounter(), oofem::ErrorEstimator::giveValue(), oofem::globalErrorEEV, oofem::globalNormEEV, oofem::globalWeightedErrorEEV, oofem::HuertaErrorEstimator::HEE_linear, oofem::max(), MAX_COARSE_RATE, oofem::min(), mode, nodalDensities, noRemesh, oofem::NoRemeshing_RS, OOFEM_ERROR, OOFEM_LOG_INFO, primaryUnknownBased, oofem::primaryUnknownET, refineCoeff, oofem::RemeshingFromPreviousState_RS, remeshingStrategy, requiredError, oofem::FloatArray::resize(), stateCounter, oofem::unknownET, and wError.
Referenced by giveRemeshingStrategy(), and giveRequiredDofManDensity().
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 324 of file huertaerrorestimator.h.
|
virtual |
Returns existing mesh size for given dof manager.
num | DofMan number. |
Implements oofem::RemeshingCriteria.
Definition at line 1018 of file huertaerrorestimator.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().
Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 323 of file huertaerrorestimator.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 718 of file huertaerrorestimator.C.
References estimateMeshDensities(), and remeshingStrategy.
|
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 702 of file huertaerrorestimator.C.
References oofem::FloatArray::at(), estimateMeshDensities(), giveDofManDensity(), oofem::max(), minElemSize, and nodalDensities.
|
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 987 of file huertaerrorestimator.C.
References _IFT_HuertaRemeshingCriteria_minelemsize, _IFT_HuertaRemeshingCriteria_noremesh, _IFT_HuertaRemeshingCriteria_refinecoeff, _IFT_HuertaRemeshingCriteria_requirederror, _IFT_HuertaRemeshingCriteria_werror, IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, minElemSize, noRemesh, refineCoeff, requiredError, and wError.
|
protected |
Minimum element size alloved.
Definition at line 303 of file huertaerrorestimator.h.
Referenced by giveRequiredDofManDensity(), and initializeFrom().
|
protected |
Mode of receiver.
Definition at line 299 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), oofem::HuertaErrorEstimator::setupRefinedProblemEpilog2(), oofem::HuertaErrorEstimator::solveRefinedElementProblem(), oofem::HuertaErrorEstimator::solveRefinedPatchProblem(), and oofem::HuertaErrorEstimator::solveRefinedWholeProblem().
|
protected |
Array of nodal mesh densities.
Definition at line 293 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().
|
protected |
Remeshing flag.
Definition at line 307 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().
|
protected |
Refinement coefficient.
Definition at line 305 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().
|
protected |
Remeshing strategy proposed.
Definition at line 295 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), and giveRemeshingStrategy().
|
protected |
Required error to obtain.
Definition at line 301 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), and initializeFrom().
|
protected |
Actual values (densities) state counter.
Definition at line 297 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), and HuertaRemeshingCriteria().
|
protected |
Weighted error flag.
Definition at line 309 of file huertaerrorestimator.h.
Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().