My Project
|
Simulation timer for adaptive time stepping. More...
#include <AdaptiveSimulatorTimer.hpp>
Public Member Functions | |
AdaptiveSimulatorTimer (const boost::posix_time::ptime simulation_start_time, const double step_length, const double elapsed_time, const double last_step_taken, const int report_step, const double max_time_step=std::numeric_limits< double >::max()) | |
constructor taking a simulator timer to determine start and end time | |
AdaptiveSimulatorTimer & | operator++ () |
advance time by currentStepLength | |
void | advance () override |
advance time by currentStepLength | |
void | provideTimeStepEstimate (const double dt_estimate) |
provide and estimate for new time step size | |
bool | initialStep () const override |
Whether this is the first step. | |
int | currentStepNum () const override |
int | reportStepNum () const override |
return current report step | |
double | currentStepLength () const override |
void | setCurrentStepLength (double dt) |
double | totalTime () const |
double | simulationTimeElapsed () const override |
bool | done () const override |
double | averageStepLength () const |
return average step length used so far | |
double | maxStepLength () const |
return max step length used so far | |
double | minStepLength () const |
return min step length used so far | |
double | stepLengthTaken () const override |
Previous step length. | |
void | report (std::ostream &os) const |
report start and end time as well as used steps so far | |
boost::posix_time::ptime | startDateTime () const override |
start date time of simulation | |
bool | lastStepFailed () const override |
Return true if last time step failed. | |
void | setLastStepFailed (bool last_step_failed) |
tell the timestepper whether timestep failed or not | |
std::unique_ptr< SimulatorTimerInterface > | clone () const override |
return copy of object | |
![]() | |
virtual | ~SimulatorTimerInterface () |
destructor | |
virtual boost::posix_time::ptime | currentDateTime () const |
Return the current time as a posix time object. | |
virtual time_t | currentPosixTime () const |
Time elapsed since the start of the POSIX epoch (Jan 1st, 1970) until the current time step begins [s]. | |
virtual double | reportStepLengthTaken () const |
Previous report step length. | |
Protected Attributes | |
std::shared_ptr< boost::posix_time::ptime > | start_date_time_ |
const double | start_time_ |
const double | total_time_ |
const int | report_step_ |
const double | max_time_step_ |
double | current_time_ |
double | dt_ |
int | current_step_ |
std::vector< double > | steps_ |
bool | last_step_failed_ |
Additional Inherited Members | |
![]() | |
SimulatorTimerInterface () | |
Default constructor, protected to not allow explicit instances of this class. | |
Simulation timer for adaptive time stepping.
Opm::AdaptiveSimulatorTimer::AdaptiveSimulatorTimer | ( | const boost::posix_time::ptime | simulation_start_time, |
const double | step_length, | ||
const double | elapsed_time, | ||
const double | last_step_taken, | ||
const int | report_step, | ||
const double | max_time_step = std::numeric_limits<double>::max() |
||
) |
constructor taking a simulator timer to determine start and end time
timer | in case of sub stepping this is the outer timer |
lastStepTaken | last suggested time step |
maxTimeStep | maximum time step allowed |
|
inlineoverridevirtual |
advance time by currentStepLength
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
return copy of object
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
Whether this is the first step.
Implements Opm::SimulatorTimerInterface.
|
inlineoverridevirtual |
Return true if last time step failed.
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
return current report step
Reimplemented from Opm::SimulatorTimerInterface.
|
overridevirtual |
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
start date time of simulation
Implements Opm::SimulatorTimerInterface.
|
overridevirtual |
Previous step length.
This is the length of the step that was taken to arrive at this time.
Implements Opm::SimulatorTimerInterface.
double Opm::AdaptiveSimulatorTimer::totalTime | ( | ) | const |