OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::HuertaRemeshingCriteria Class Reference

The class representing Huerta remeshing criteria. More...

#include <huertaerrorestimator.h>

+ Inheritance diagram for oofem::HuertaRemeshingCriteria:
+ Collaboration diagram for oofem::HuertaRemeshingCriteria:

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...
 
DomaingiveDomain () 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 InterfacegiveInterface (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
ErrorEstimatoree
 
CommunicatorBuffcommBuff
 Common Communicator buffer. More...
 
ProblemCommunicatorcommunicator
 Communicator. More...
 
bool initCommMap
 Communication init flag. More...
 
- Protected Attributes inherited from oofem::FEMComponent
int number
 Component number. More...
 
Domaindomain
 Link to domain object, useful for communicating with other FEM components. More...
 

Detailed Description

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.

Member Enumeration Documentation

Mode of receiver, allows to use it in more general situations.

Enumerator
primaryUnknownBased 

Definition at line 289 of file huertaerrorestimator.h.

Constructor & Destructor Documentation

oofem::HuertaRemeshingCriteria::HuertaRemeshingCriteria ( int  n,
ErrorEstimator e 
)

Constructor.

Definition at line 691 of file huertaerrorestimator.C.

References mode, noRemesh, primaryUnknownBased, refineCoeff, stateCounter, and wError.

virtual oofem::HuertaRemeshingCriteria::~HuertaRemeshingCriteria ( )
inlinevirtual

Destructor.

Definition at line 315 of file huertaerrorestimator.h.

References oofem::HuertaErrorEstimator::initializeFrom().

Member Function Documentation

int oofem::HuertaRemeshingCriteria::estimateMeshDensities ( TimeStep tStep)
virtual

Estimates the nodal densities.

Parameters
tStepTime 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().

virtual const char* oofem::HuertaRemeshingCriteria::giveClassName ( ) const
inlinevirtual
Returns
Class name of the receiver.

Implements oofem::FEMComponent.

Definition at line 324 of file huertaerrorestimator.h.

double oofem::HuertaRemeshingCriteria::giveDofManDensity ( int  num)
virtual
virtual const char* oofem::HuertaRemeshingCriteria::giveInputRecordName ( ) const
inlinevirtual
Returns
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 323 of file huertaerrorestimator.h.

RemeshingStrategy oofem::HuertaRemeshingCriteria::giveRemeshingStrategy ( TimeStep tStep)
virtual

Determines, if the remeshing is needed, and if needed, the type of strategy used.

Parameters
tStepTime step.

Implements oofem::RemeshingCriteria.

Definition at line 718 of file huertaerrorestimator.C.

References estimateMeshDensities(), and remeshingStrategy.

double oofem::HuertaRemeshingCriteria::giveRequiredDofManDensity ( int  num,
TimeStep tStep,
int  relative = 0 
)
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).

Parameters
numDofman number.
tStepTime step.
relativeIf 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.

IRResultType oofem::HuertaRemeshingCriteria::initializeFrom ( InputRecord ir)
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.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
Returns
IRResultType

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.

Member Data Documentation

double oofem::HuertaRemeshingCriteria::minElemSize
protected

Minimum element size alloved.

Definition at line 303 of file huertaerrorestimator.h.

Referenced by giveRequiredDofManDensity(), and initializeFrom().

FloatArray oofem::HuertaRemeshingCriteria::nodalDensities
protected

Array of nodal mesh densities.

Definition at line 293 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().

bool oofem::HuertaRemeshingCriteria::noRemesh
protected

Remeshing flag.

Definition at line 307 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().

double oofem::HuertaRemeshingCriteria::refineCoeff
protected

Refinement coefficient.

Definition at line 305 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().

RemeshingStrategy oofem::HuertaRemeshingCriteria::remeshingStrategy
protected

Remeshing strategy proposed.

Definition at line 295 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), and giveRemeshingStrategy().

double oofem::HuertaRemeshingCriteria::requiredError
protected

Required error to obtain.

Definition at line 301 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), and initializeFrom().

StateCounterType oofem::HuertaRemeshingCriteria::stateCounter
protected

Actual values (densities) state counter.

Definition at line 297 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), and HuertaRemeshingCriteria().

bool oofem::HuertaRemeshingCriteria::wError
protected

Weighted error flag.

Definition at line 309 of file huertaerrorestimator.h.

Referenced by estimateMeshDensities(), HuertaRemeshingCriteria(), and initializeFrom().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:36 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011