My Project
Opm::AdaptiveSimulatorTimer Class Reference

Simulation timer for adaptive time stepping. More...

#include <AdaptiveSimulatorTimer.hpp>

Inheritance diagram for Opm::AdaptiveSimulatorTimer:
Opm::SimulatorTimerInterface

Public Member Functions

 AdaptiveSimulatorTimer (const SimulatorTimerInterface &timer, const double lastStepTaken, const double maxTimeStep=std::numeric_limits< double >::max())
 constructor taking a simulator timer to determine start and end time More...
 
AdaptiveSimulatorTimeroperator++ ()
 advance time by currentStepLength
 
void advance ()
 advance time by currentStepLength
 
void provideTimeStepEstimate (const double dt_estimate)
 provide and estimate for new time step size
 
bool initialStep () const
 Whether this is the first step.
 
int currentStepNum () const
 
int reportStepNum () const
 return current report step
 
double currentStepLength () const
 
double totalTime () const
 
double simulationTimeElapsed () const
 
bool done () const
 
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
 Previous step length. More...
 
void report (std::ostream &os) const
 report start and end time as well as used steps so far
 
boost::posix_time::ptime startDateTime () const
 start date time of simulation
 
bool lastStepFailed () const
 Return true if last time step failed.
 
void setLastStepFailed (bool lastStepFailed)
 tell the timestepper whether timestep failed or not
 
virtual std::unique_ptr< SimulatorTimerInterfaceclone () const
 return copy of object
 
- Public Member Functions inherited from Opm::SimulatorTimerInterface
virtual ~SimulatorTimerInterface ()
 destructor
 
virtual double reportStepLengthTaken () const
 Previous report step length. More...
 
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].
 

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 lastStepFailed_
 

Additional Inherited Members

- Protected Member Functions inherited from Opm::SimulatorTimerInterface
 SimulatorTimerInterface ()
 Default constructor, protected to not allow explicit instances of this class.
 

Detailed Description

Simulation timer for adaptive time stepping.

Constructor & Destructor Documentation

◆ AdaptiveSimulatorTimer()

Opm::AdaptiveSimulatorTimer::AdaptiveSimulatorTimer ( const SimulatorTimerInterface timer,
const double  lastStepTaken,
const double  maxTimeStep = std::numeric_limits<double>::max() 
)

constructor taking a simulator timer to determine start and end time

Parameters
timerin case of sub stepping this is the outer timer
lastStepTakenlast suggested time step
maxTimeStepmaximum time step allowed

Member Function Documentation

◆ currentStepLength()

double Opm::AdaptiveSimulatorTimer::currentStepLength ( ) const
virtual

◆ currentStepNum()

int Opm::AdaptiveSimulatorTimer::currentStepNum ( ) const
virtual

◆ done()

bool Opm::AdaptiveSimulatorTimer::done ( ) const
virtual

◆ simulationTimeElapsed()

double Opm::AdaptiveSimulatorTimer::simulationTimeElapsed ( ) const
virtual

◆ stepLengthTaken()

double Opm::AdaptiveSimulatorTimer::stepLengthTaken ( ) const
virtual

Previous step length.

This is the length of the step that was taken to arrive at this time.

Implements Opm::SimulatorTimerInterface.

◆ totalTime()

double Opm::AdaptiveSimulatorTimer::totalTime ( ) const


The documentation for this class was generated from the following files: