20 TC_PI(NEWT &newton_,
unsigned int alg_order_,
double t_,
double max_t_,
double dt_,
double min_dt_,
double max_dt_,
22 :
Base(newton_, alg_order_, t_, max_t_, dt_, min_dt_, max_dt_, output_dt_)
45 const double EEst =
newton.get_error();
58 const double EEst =
newton.get_error();
70 virtual void step_fail(
const std::exception &)
override
76 double beta1,
beta2,
qsteady_min,
qsteady_max,
qmin,
qmax,
qoldinit,
qold,
q11,
q,
gamma;
This is a default time controller implementation which should be used as a base class for any other t...
Definition default.hh:21
unsigned int alg_order
Definition default.hh:126
double sug_dt
Definition default.hh:127
double cur_dt
Definition default.hh:127
NEWT & newton
Definition default.hh:125
double t
Definition default.hh:127
A simple PI controller which adjusts time steps in a smooth fashion depending on how well the solver ...
Definition PI.hh:17
TC_PI(NEWT &newton_, unsigned int alg_order_, double t_, double max_t_, double dt_, double min_dt_, double max_dt_, double output_dt_)
Definition PI.hh:20
unsigned int alg_order
Definition default.hh:126
virtual void step_success() override
Increment t and suggest a dt based on current error and previous error.
Definition PI.hh:54
double beta2
Definition PI.hh:76
double qsteady_min
Definition PI.hh:76
double qmin
Definition PI.hh:76
double qsteady_max
Definition PI.hh:76
virtual void step_fail(const std::exception &) override
On a fail, decrease the timestep.
Definition PI.hh:70
double q
Definition PI.hh:76
double sug_dt
Definition default.hh:127
double qold
Definition PI.hh:76
double cur_dt
Definition default.hh:127
double q11
Definition PI.hh:76
void get_q()
This method just updates q for the calculation of the next sug_dt.
Definition PI.hh:43
double qmax
Definition PI.hh:76
double beta1
Definition PI.hh:76
double gamma
Definition PI.hh:76
NEWT & newton
Definition default.hh:125
double t
Definition default.hh:127
double qoldinit
Definition PI.hh:76
Definition complex_math.hh:14