Opm::AdaptiveSimulatorTimer Class Reference

Simulation timer for adaptive time stepping. More...

#include <AdaptiveSimulatorTimer.hpp>

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

List of all members.

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
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.
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
< SimulatorTimerInterface
clone () const
 return copy of object

Protected Attributes

const 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_

Detailed Description

Simulation timer for adaptive time stepping.


Constructor & Destructor Documentation

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:
timer in case of sub stepping this is the outer timer
lastStepTaken last suggested time step
maxTimeStep maximum time step allowed

Member Function Documentation

double Opm::AdaptiveSimulatorTimer::currentStepLength (  )  const [virtual]
int Opm::AdaptiveSimulatorTimer::currentStepNum (  )  const [virtual]
bool Opm::AdaptiveSimulatorTimer::done (  )  const [virtual]
double Opm::AdaptiveSimulatorTimer::simulationTimeElapsed (  )  const [virtual]
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.

double Opm::AdaptiveSimulatorTimer::totalTime (  )  const


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

Generated on 26 Mar 2018 by  doxygen 1.6.1