OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::RemeshingCriteria Class Referenceabstract

The base class for all remeshing criteria. More...

#include <remeshingcrit.h>

+ Inheritance diagram for oofem::RemeshingCriteria:
+ Collaboration diagram for oofem::RemeshingCriteria:

Public Member Functions

 RemeshingCriteria (int n, ErrorEstimator *e)
 Constructor. More...
 
virtual ~RemeshingCriteria ()
 Destructor. More...
 
virtual double giveRequiredDofManDensity (int num, TimeStep *tStep, int relative=0)=0
 Returns the required mesh size n given dof manager. More...
 
virtual double giveDofManDensity (int num)=0
 Returns existing mesh size for given dof manager. More...
 
virtual RemeshingStrategy giveRemeshingStrategy (TimeStep *tStep)=0
 Determines, if the remeshing is needed, and if needed, the type of strategy used. More...
 
virtual int estimateMeshDensities (TimeStep *tStep)=0
 Estimates the nodal densities. 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...
 
virtual const char * giveClassName () const =0
 
virtual const char * giveInputRecordName () const =0
 
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 IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver according to object description stored in input record. 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

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 base class for all remeshing criteria.

The basic task is to evaluate the required mesh density (at nodes) on given domain, based on informations provided by the compatible error estimator. If this task requires the special element algorithms, these should be included using interface concept.

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 61 of file remeshingcrit.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 43 of file remeshingcrit.C.

References commBuff, communicator, ee, and initCommMap.

oofem::RemeshingCriteria::~RemeshingCriteria ( )
virtual

Destructor.

Definition at line 53 of file remeshingcrit.C.

References commBuff, and communicator.

Member Function Documentation

virtual int oofem::RemeshingCriteria::estimateMeshDensities ( TimeStep tStep)
pure virtual
virtual double oofem::RemeshingCriteria::giveDofManDensity ( int  num)
pure virtual

Returns existing mesh size for given dof manager.

Parameters
numDofMan number.

Implemented in oofem::HuertaRemeshingCriteria, oofem::ZZRemeshingCriteria, oofem::CombinedZZSIRemeshingCriteria, and oofem::DirectErrorIndicatorRC.

virtual RemeshingStrategy oofem::RemeshingCriteria::giveRemeshingStrategy ( TimeStep tStep)
pure virtual

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

Parameters
tStepTime step.

Implemented in oofem::HuertaRemeshingCriteria, oofem::ZZRemeshingCriteria, oofem::CombinedZZSIRemeshingCriteria, and oofem::DirectErrorIndicatorRC.

Referenced by oofem::AdaptiveNonLinearStatic::solveYourselfAt(), and oofem::AdaptiveLinearStatic::updateYourself().

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

Implemented in oofem::HuertaRemeshingCriteria, oofem::ZZRemeshingCriteria, oofem::CombinedZZSIRemeshingCriteria, and oofem::DirectErrorIndicatorRC.

Referenced by oofem::Targe2Interface::createInput(), oofem::FreemInterface::createInput(), oofem::T3DInterface::createInput(), and oofem::Subdivision::createMesh().

virtual void oofem::RemeshingCriteria::reinitialize ( )
inlinevirtual

Reimplemented in oofem::DirectErrorIndicatorRC.

Definition at line 106 of file remeshingcrit.h.

Member Data Documentation

CommunicatorBuff* oofem::RemeshingCriteria::commBuff
protected
bool oofem::RemeshingCriteria::initCommMap
protected

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:41 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011