OOFEM 3.0
Loading...
Searching...
No Matches
oofem::ZZRemeshingCriteria Class Reference

#include <zzerrorestimator.h>

Inheritance diagram for oofem::ZZRemeshingCriteria:
Collaboration diagram for oofem::ZZRemeshingCriteria:

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

Detailed Description

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.

Member Enumeration Documentation

◆ ZZRemeshingCriteriaModeType

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

Enumerator
stressBased 

Definition at line 187 of file zzerrorestimator.h.

Constructor & Destructor Documentation

◆ ZZRemeshingCriteria()

oofem::ZZRemeshingCriteria::ZZRemeshingCriteria ( int n,
ErrorEstimator * e )

Constructor.

Definition at line 322 of file zzerrorestimator.C.

References mode, oofem::RemeshingCriteria::RemeshingCriteria(), stateCounter, and stressBased.

◆ ~ZZRemeshingCriteria()

virtual oofem::ZZRemeshingCriteria::~ZZRemeshingCriteria ( )
inlinevirtual

Destructor.

Definition at line 207 of file zzerrorestimator.h.

Member Function Documentation

◆ estimateMeshDensities()

◆ giveClassName()

const char * oofem::ZZRemeshingCriteria::giveClassName ( ) const
inlineoverridevirtual
Returns
Class name of the receiver.

Implements oofem::FEMComponent.

Definition at line 216 of file zzerrorestimator.h.

◆ giveDofManDensity()

double oofem::ZZRemeshingCriteria::giveDofManDensity ( int num)
overridevirtual

◆ giveInputRecordName()

const char * oofem::ZZRemeshingCriteria::giveInputRecordName ( ) const
inlineoverridevirtual
Returns
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 215 of file zzerrorestimator.h.

◆ giveRemeshingStrategy()

RemeshingStrategy oofem::ZZRemeshingCriteria::giveRemeshingStrategy ( TimeStep * tStep)
overridevirtual

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

Parameters
tStepTime step.

Implements oofem::RemeshingCriteria.

Definition at line 350 of file zzerrorestimator.C.

References estimateMeshDensities(), and remeshingStrategy.

◆ giveRequiredDofManDensity()

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

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 329 of file zzerrorestimator.C.

References estimateMeshDensities(), giveDofManDensity(), oofem::max(), minElemSize, and nodalDensities.

◆ initializeFrom()

void oofem::ZZRemeshingCriteria::initializeFrom ( InputRecord & ir)
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.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
priorityPriority 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.

Member Data Documentation

◆ minElemSize

double oofem::ZZRemeshingCriteria::minElemSize
protected

Minimum element size allowed.

Definition at line 201 of file zzerrorestimator.h.

Referenced by giveRequiredDofManDensity(), and initializeFrom().

◆ mode

ZZRemeshingCriteriaModeType oofem::ZZRemeshingCriteria::mode
protected

Mode of receiver.

Definition at line 197 of file zzerrorestimator.h.

Referenced by estimateMeshDensities(), and ZZRemeshingCriteria().

◆ nodalDensities

FloatArray oofem::ZZRemeshingCriteria::nodalDensities
protected

Array of nodal mesh densities.

Definition at line 191 of file zzerrorestimator.h.

Referenced by estimateMeshDensities(), and giveRequiredDofManDensity().

◆ remeshingStrategy

RemeshingStrategy oofem::ZZRemeshingCriteria::remeshingStrategy
protected

Remeshing strategy proposed.

Definition at line 193 of file zzerrorestimator.h.

Referenced by estimateMeshDensities(), and giveRemeshingStrategy().

◆ requiredError

double oofem::ZZRemeshingCriteria::requiredError
protected

Required error to obtain.

Definition at line 199 of file zzerrorestimator.h.

Referenced by estimateMeshDensities(), and initializeFrom().

◆ stateCounter

StateCounterType oofem::ZZRemeshingCriteria::stateCounter
protected

Actual values (densities) state counter.

Definition at line 195 of file zzerrorestimator.h.

Referenced by estimateMeshDensities(), and ZZRemeshingCriteria().


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011