Metafor

ULiege - Aerospace & Mechanical Engineering

Site Tools

doc:user:integration:general:stopcriterion

StopCriterion

Introduction

The stop criterion allows to stop a computation when a given criterion becomes greater than a given value.

It is useful to avoid consuming CPU time when a computation has no meaning anymore, or to chain operations (remeshing, chained operation based on a criterion, …)

While stopping cleanly the computation, a fac is written at the stop time, the ValuesManager is properly closed and the ascii export is done.

General Commands

For a given criterion (crit) (see below),

• setStopValue(double) : define the value to exceed (default : 0.0)
• setWriteTSC(bool) : force (remove) the writing of TSC (not required, if remeshing) (default : True)
• setRunObjFuncSet(bool) : force (remove) the computation/writing of ObjectiveFunctions (not required, if remeshing) (default : True)
• setStopAtNextFac(bool) : compute the criterion at each timeStep, but stop the computation only after the next fac writing (default : False)
• setCheckAtFac(bool) : compute the criterion at fac writing time (default : False)

The criterion is finally added in the Metafor object :

        crit.setStopValue(value)    # (default : 0.0)
crit.setWriteTSC(True)      # (default : True)
crit.setRunObjFuncSet(True) # (default : True)
crit.setStopAtNextFac(True) # (default : False)
crit.setCheckAtFac(True)       # (default : False)
metafor.setStopCriterion(crit)

TimeStopCriterion

If you want to stop a model at given times :

• TimeStopCriterion()

ValueExtractorStopCriterion

If you want do define a given ValueExtractor (possibly with a Vector2ScalarOperator) to stop the computation

• ValueExtractorStopCriterion(ValueExtractor &_valueExt, VectorToScalarOperator *_v2sOp=NULL)

ValueManagerStopCriterion

If you want to use a value, which is already extracted in the ValuesManager :

• ValueManagerStopCriterion(ValuesStruct *_valueStruct, int _comp=0)