35#ifndef timestepreductionstrategy_h
36#define timestepreductionstrategy_h
43#define _IFT_NoReductionStrategy_Name "noreduction"
46#define _IFT_SimpleReductionStrategy_Name "simplereduction"
47#define _IFT_SimpleReductionStrategy_nMaxRestarts "nmaxrestarts"
48#define _IFT_SimpleReductionStrategy_deltaTmax "dtmax"
49#define _IFT_SimpleReductionStrategy_deltaTmin "dtmin"
50#define _IFT_SimpleReductionStrategy_minRequiredIter "minrequirediter"
51#define _IFT_SimpleReductionStrategy_maxRequiredIter "maxrequirediter"
52#define _IFT_SimpleReductionStrategy_noConvergenceReductionFactor "ncrf"
112 double give_dTmax()
override {
return std::numeric_limits<double>::infinity();}
double giveMaterialTimeIncrementAdaptationFactorMax() override
double give_dTmax() override
double giveNoConvergenceTimeIncrementReductionFactor() override
void initializeFrom(InputRecord &ir) override
double giveReqIterTimeIncrementAdaptationFactor(int nIter) override
void setTimeStepIncrementAdaptationFactor(double tsrf) override
TimeStepReductionStrategyType giveTimeStepReductionStrategyType() override
double give_dTmin() override
double giveMaterialTimeIncrementAdaptationFactorMin() override
NoReductionStrategy(int n)
int giveNumberOfMaxTimeStepReductions() override
int numberOfMaxTimeStepReductions
virtual void updateYourself(TimeStep *tStep) override
int giveNumberOfMaxTimeStepReductions() override
double giveReqIterTimeIncrementAdaptationFactor(int nIter) override
void initializeFrom(InputRecord &ir) override
void setTimeStepIncrementAdaptationFactor(double tsrf) override
SimpleReductionStrategy(int n)
double giveMaterialTimeIncrementAdaptationFactorMax() override
TimeStepReductionStrategyType giveTimeStepReductionStrategyType() override
double giveMaterialTimeIncrementAdaptationFactorMin() override
double giveNoConvergenceTimeIncrementReductionFactor() override
virtual void initializeFrom(InputRecord &ir)=0
virtual double giveMaterialTimeIncrementAdaptationFactorMin()=0
virtual double give_dTmin()
int nMaxRequiredIterations
virtual TimeStepReductionStrategyType giveTimeStepReductionStrategyType()=0
int giveNumberOfMinRequiredIterations()
virtual int giveNumberOfMaxTimeStepReductions()=0
TimeStepReductionStrategy(int n)
virtual bool giveReductionFlag()
double materialTimeStepAdaptationFactorMin
virtual void setTimeStepIncrementAdaptationFactor(double tsrf)=0
double noConvergenceReductionFactor
virtual double giveMaterialTimeIncrementAdaptationFactorMax()=0
int giveNumberOfMaxRequiredIterations()
virtual double giveReqIterTimeIncrementAdaptationFactor(int nIter)=0
virtual ~TimeStepReductionStrategy()=default
virtual void updateYourself(TimeStep *tStep)
virtual double giveNoConvergenceTimeIncrementReductionFactor()=0
virtual double give_dTmax()
int nMinRequiredIterations
double materialTimeStepAdaptationFactorMax
virtual double giveMinDeltaT()
TimeStepReductionStrategyType
@ TSRST_SimpleReduction
add.
@ TSRST_NoReduction
no reduction is used. Used for backward compatibility