Go to the documentation of this file.
44#define CZZSI_ZERO_INDICATOR_TOL 1.e-3
49CombinedZZSIErrorEstimator :: setDomain(
Domain *d)
51 FEMComponent :: setDomain(d);
61 int result =
zzee.estimateError(mode, tStep);
62 result +=
siee.estimateError(mode, tStep);
71 return siee.giveElementError(type, elem, tStep);
73 return zzee.giveElementError(type, elem, tStep);
80 return zzee.giveValue(type, tStep);
84CombinedZZSIErrorEstimator :: giveRemeshingCrit()
87 this->
rc = std::make_unique<CombinedZZSIRemeshingCriteria>(1,
this);
90 return this->
rc.get();
96 zzee.initializeFrom(ir);
97 siee.initializeFrom(ir);
110CombinedZZSIRemeshingCriteria :: giveRequiredDofManDensity(
int num,
TimeStep *tStep,
int relative)
112 double indicatorVal, currDensity;
113 double proposedDensity;
116 dirc.giveNodeChar(num, tStep, indicatorVal, currDensity);
117 if ( indicatorVal >
dirc.giveMinIndicatorLimit() ) {
118 return dirc.giveRequiredDofManDensity(num, tStep, relative);
122 proposedDensity =
zzrc.giveRequiredDofManDensity(num, tStep, relative);
123 proposedDensity =
min(proposedDensity, currDensity);
124 proposedDensity =
max( proposedDensity,
dirc.giveMinIndicatorDensity() );
126 return proposedDensity / currDensity;
128 return proposedDensity;
131 return zzrc.giveRequiredDofManDensity(num, tStep, relative);
137CombinedZZSIRemeshingCriteria :: giveRemeshingStrategy(
TimeStep *tStep)
142 s1 =
zzrc.giveRemeshingStrategy(tStep);
143 s2 =
dirc.giveRemeshingStrategy(tStep);
156CombinedZZSIRemeshingCriteria :: estimateMeshDensities(
TimeStep *tStep)
158 zzrc.estimateMeshDensities(tStep);
159 dirc.estimateMeshDensities(tStep);
166 zzrc.initializeFrom(ir);
167 dirc.initializeFrom(ir);
172CombinedZZSIRemeshingCriteria :: giveDofManDensity(
int num)
177 double density = 0.0;
182 for (
int i = 1; i <= isize; i++ ) {
197CombinedZZSIRemeshingCriteria :: setDomain(
Domain *d)
199 FEMComponent :: setDomain(d);
#define REGISTER_ErrorEstimator(class, type)
ScalarErrorIndicator siee
int estimateError(EE_ErrorMode mode, TimeStep *tStep) override
RemeshingCriteria * giveRemeshingCrit() override
int estimateMeshDensities(TimeStep *tStep) override
DirectErrorIndicatorRC dirc
const IntArray * giveDofManConnectivityArray(int dofman)
std ::unique_ptr< RemeshingCriteria > rc
Domain * domain
Link to domain object, useful for communicating with other FEM components.
RemeshingCriteria(int n, ErrorEstimator *e)
Constructor.
#define CZZSI_ZERO_INDICATOR_TOL
FloatArrayF< N > min(const FloatArrayF< N > &a, const FloatArrayF< N > &b)
FloatArrayF< N > max(const FloatArrayF< N > &a, const FloatArrayF< N > &b)
RemeshingStrategy
Type representing the remeshing strategy.
@ RemeshingFromPreviousState_RS
@ RemeshingFromCurrentState_RS
@ EET_CZZSI
Combined ZZ and ScalarIndicator EE.
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