The default time loop for instationary simulations.
|
| TimeLoop (Scalar startTime, Scalar dt, Scalar tEnd, bool verbose=true) |
|
template<class Rep1 , class Period1 , class Rep2 , class Period2 , class Rep3 , class Period3 > |
| TimeLoop (std::chrono::duration< Rep1, Period1 > startTime, std::chrono::duration< Rep2, Period2 > dt, std::chrono::duration< Rep3, Period3 > tEnd, bool verbose=true) |
|
void | setTimeStepSize (std::chrono::duration< Rep, Period > dt) |
| Set the current time step size to a given value. More...
|
|
|
static constexpr Scalar | baseEps_ = 1e-10 |
|
Dune::Timer | timer_ |
|
Scalar | time_ |
|
Scalar | endTime_ |
|
Scalar | startTime_ |
|
Scalar | timeStepSize_ |
|
Scalar | previousTimeStepSize_ |
|
Scalar | userSetMaxTimeStepSize_ |
|
Scalar | timeAfterLastTimeStep_ |
|
Scalar | timeStepWallClockTime_ |
|
int | timeStepIdx_ |
|
bool | finished_ |
|
bool | verbose_ |
|
void | start () |
| Tells the time loop to start tracking the time. More...
|
|
double | stop () |
| Tells the time loop to stop tracking the time. More...
|
|
void | resetTimer () |
| Reset the timer. More...
|
|
template<class Rep1 , class Period1 , class Rep2 , class Period2 , class Rep3 , class Period3 > |
void | reset (std::chrono::duration< Rep1, Period1 > startTime, std::chrono::duration< Rep2, Period2 > dt, std::chrono::duration< Rep3, Period3 > tEnd, bool verbose=true) |
| Reset the time loop. More...
|
|
void | reset (Scalar startTime, Scalar dt, Scalar tEnd, bool verbose=true) |
| Reset the time loop. More...
|
|
void | advanceTimeStep () override |
| Advance time step. More...
|
|
template<class ScalarOrDuration > |
void | setTime (ScalarOrDuration t) |
| Set the current simulated time, don't change the current time step index. More...
|
|
template<class ScalarOrDuration > |
void | setTime (ScalarOrDuration t, int stepIdx) |
| Set the current simulated time and the time step index. More...
|
|
Scalar | time () const final |
| Return the time \(\mathrm{[s]}\) before the time integration. To get the time after the time integration you have to add timeStepSize() to time(). More...
|
|
Scalar | endTime () const |
| Returns the number of (simulated) seconds which the simulation runs. More...
|
|
void | setEndTime (Scalar t) |
| Set the time of simulated seconds at which the simulation runs. More...
|
|
double | wallClockTime () const |
| Returns the current wall clock time (cpu time) spend in this time loop. More...
|
|
void | setTimeStepSize (Scalar dt) final |
| Set the current time step size to a given value. More...
|
|
template<class ScalarOrDuration > |
void | setMaxTimeStepSize (ScalarOrDuration maxDt) |
| Set the maximum time step size to a given value. More...
|
|
Scalar | timeStepSize () const final |
| Returns the suggested time step length \(\mathrm{[s]}\) so that we don't miss the beginning of the next episode or cross the end of the simulation. More...
|
|
int | timeStepIndex () const |
| Returns number of time steps which have been executed since the beginning of the simulation. More...
|
|
Scalar | previousTimeStepSize () const |
| The previous time step size. More...
|
|
void | setFinished (bool finished=true) |
| Specify whether the simulation is finished. More...
|
|
bool | finished () const override |
| Returns true if the simulation is finished. More...
|
|
bool | willBeFinished () const |
| Returns true if the simulation is finished after the time level is incremented by the current time step size. More...
|
|
Scalar | maxTimeStepSize () const override |
| The current maximum time step size. More...
|
|
void | reportTimeStep () const |
| State info on cpu time. More...
|
|
template<class Communicator = Dune::Communication<typename Dune::MPIHelper::MPICommunicator>> |
void | finalize (const Communicator &comm=Dune::MPIHelper::getCommunication()) |
| Print final status and stops tracking the time. More...
|
|
bool | verbose () const |
| If the time loop has verbose output. More...
|
|
void | setVerbose (bool verbose=true) |
| Sets time loop verbosity. More...
|
|