OGS
|
Interface of time stepping algorithms.
Definition at line 29 of file TimeStepAlgorithm.h.
#include <TimeStepAlgorithm.h>
Public Member Functions | |
TimeStepAlgorithm (const double t0, const double t_end) | |
virtual | ~TimeStepAlgorithm ()=default |
Time | begin () const |
return the beginning of time steps | |
Time | end () const |
return the end of time steps | |
virtual void | resetCurrentTimeStep (const double, TimeStep &, TimeStep &) |
reset the current step size from the previous time | |
virtual std::tuple< bool, double > | next (const double solution_error, int number_iterations, NumLib::TimeStep &ts_previous, NumLib::TimeStep &ts_current)=0 |
virtual bool | isSolutionErrorComputationNeeded () const |
virtual bool | canReduceTimestepSize (NumLib::TimeStep const &, NumLib::TimeStep const &) const |
Query the timestepper if further time step size reduction is possible. | |
Protected Attributes | |
const Time | _t_initial |
initial time | |
const Time | _t_end |
end time | |
|
inline |
Definition at line 32 of file TimeStepAlgorithm.h.
|
virtualdefault |
|
inline |
return the beginning of time steps
Definition at line 40 of file TimeStepAlgorithm.h.
References _t_initial.
Referenced by ProcessLib::computationOfChangeNeeded().
|
inlinevirtual |
Query the timestepper if further time step size reduction is possible.
Reimplemented in NumLib::EvolutionaryPIDcontroller, and NumLib::IterationNumberBasedTimeStepping.
Definition at line 69 of file TimeStepAlgorithm.h.
|
inline |
return the end of time steps
Definition at line 42 of file TimeStepAlgorithm.h.
References _t_end.
Referenced by NumLib::FixedTimeStepping::next().
|
inlinevirtual |
Get a flag to indicate whether this algorithm needs to compute solution error. The default return value is false.
Reimplemented in NumLib::EvolutionaryPIDcontroller, and NumLib::IterationNumberBasedTimeStepping.
Definition at line 66 of file TimeStepAlgorithm.h.
Referenced by ProcessLib::computationOfChangeNeeded().
|
pure virtual |
Move to the next time step
solution_error | Solution error \(e_n\) between two successive time steps. |
number_iterations | Number of non-linear iterations used. |
ts_previous | the previous time step used to compute the size of the next step |
ts_current | the current time step used to compute the size of the next step |
Implemented in NumLib::EvolutionaryPIDcontroller, NumLib::FixedTimeStepping, and NumLib::IterationNumberBasedTimeStepping.
|
inlinevirtual |
reset the current step size from the previous time
Definition at line 44 of file TimeStepAlgorithm.h.
|
protected |
end time
Definition at line 80 of file TimeStepAlgorithm.h.
Referenced by NumLib::FixedTimeStepping::FixedTimeStepping(), and end().
|
protected |
initial time
Definition at line 78 of file TimeStepAlgorithm.h.
Referenced by NumLib::FixedTimeStepping::FixedTimeStepping(), and begin().