PID controller based adaptive time step control as suggested in: Turek and Kuzmin.
More...
|
| | PIDTimeStepControl (const double tol, const bool verbose) |
| | constructor
|
| double | computeTimeStepSize (const double dt, const int, const RelativeChangeInterface &relativeChange, const AdaptiveSimulatorTimer &) const override |
| | compute new time step size suggestions based on the PID controller
|
| bool | timeStepAccepted (const double, const double) const override |
| | For the general 3rd order controller, the internal shifting of errors and time steps happens here, and hence this method needs to be called for (after) each time step.
|
|
template<class Serializer> |
| void | serializeOp (Serializer &serializer) |
|
bool | operator== (const PIDTimeStepControl &) const |
|
virtual | ~TimeStepControlInterface () |
| | virtual destructor (empty)
|
PID controller based adaptive time step control as suggested in: Turek and Kuzmin.
Algebraic Flux Correction III. Incompressible Flow Problems. Uni Dortmund.
See also: D. Kuzmin and S.Turek. Numerical simulation of turbulent bubbly flows. Techreport Uni Dortmund. 2004
and the original article: Valli, Coutinho, and Carey. Adaptive Control for Time Step Selection in Finite Element Simulation of Coupled Viscous Flow and Heat Transfer. Proc of the 10th International Conference on Numerical Methods in Fluids. 1998.