Opm::AdaptiveTimeStepping Class Reference

Public Member Functions

 AdaptiveTimeStepping (const ParameterGroup &param, const bool terminal_output=true)
 contructor taking parameter object More...
 
 AdaptiveTimeStepping (const Tuning &tuning, size_t time_step, const ParameterGroup &param, const bool terminal_output=true)
 contructor taking parameter object More...
 
template<class Solver , class State , class WellState >
SimulatorReport step (const SimulatorTimer &timer, Solver &solver, State &state, WellState &well_state, const bool event)
 step method that acts like the solver::step method in a sub cycle of time steps More...
 
template<class Solver , class State , class WellState , class Output >
SimulatorReport step (const SimulatorTimer &timer, Solver &solver, State &state, WellState &well_state, const bool event, Output &outputWriter, const std::vector< int > *fipnum=nullptr)
 step method that acts like the solver::step method in a sub cycle of time steps More...
 
const SimulatorReport & failureReport () const
 Returns the simulator report for the failed substeps of the last report step.
 
double suggestedNextStep () const
 
void setSuggestedNextStep (const double x)
 
template<class Solver , class State , class WState , class Output >
SimulatorReport stepImpl (const SimulatorTimer &simulatorTimer, Solver &solver, State &state, WState &well_state, const bool event, Output *outputWriter, const std::vector< int > *fipnum)
 

Protected Types

typedef std::unique_ptr< TimeStepControlInterfaceTimeStepControlType
 

Protected Member Functions

template<class Solver , class State , class WellState , class Output >
SimulatorReport stepImpl (const SimulatorTimer &timer, Solver &solver, State &state, WellState &well_state, const bool event, Output *outputWriter, const std::vector< int > *fipnum)
 
void init (const ParameterGroup &param)
 

Protected Attributes

SimulatorReport failureReport_
 statistics for the failed substeps of the last timestep
 
TimeStepControlType timeStepControl_
 time step control object
 
const double restart_factor_
 factor to multiply time step with when solver fails to converge
 
const double growth_factor_
 factor to multiply time step when solver recovered from failed convergence
 
const double max_growth_
 factor that limits the maximum growth of a time step
 
const double max_time_step_
 maximal allowed time step size
 
const int solver_restart_max_
 how many restart of solver are allowed
 
const bool solver_verbose_
 solver verbosity
 
const bool timestep_verbose_
 timestep verbosity
 
double suggested_next_timestep_
 suggested size of next timestep
 
bool full_timestep_initially_
 beginning with the size of the time step from data file
 
const double timestep_after_event_
 suggested size of timestep after an event
 
bool use_newton_iteration_
 use newton iteration count for adaptive time step control
 

Constructor & Destructor Documentation

◆ AdaptiveTimeStepping() [1/2]

Opm::AdaptiveTimeStepping::AdaptiveTimeStepping ( const ParameterGroup &  param,
const bool  terminal_output = true 
)
inline

contructor taking parameter object

Parameters
paramThe parameter object
pinfoThe information about the data distribution and communication for a parallel run.

◆ AdaptiveTimeStepping() [2/2]

Opm::AdaptiveTimeStepping::AdaptiveTimeStepping ( const Tuning &  tuning,
size_t  time_step,
const ParameterGroup &  param,
const bool  terminal_output = true 
)
inline

contructor taking parameter object

Parameters
tuningPointer to ecl TUNING keyword
time_stepcurrent report step
paramThe parameter object
pinfoThe information about the data distribution and communication for a parallel run.

Member Function Documentation

◆ step() [1/2]

template<class Solver , class State , class WellState >
SimulatorReport Opm::AdaptiveTimeStepping::step ( const SimulatorTimer timer,
Solver &  solver,
State &  state,
WellState &  well_state,
const bool  event 
)

step method that acts like the solver::step method in a sub cycle of time steps

Parameters
timersimulator timer providing time and timestep
solversolver object that must implement a method step( dt, state, well_state )
statecurrent state of the solution variables
well_stateadditional well state object
eventevent status for possible tuning

◆ step() [2/2]

template<class Solver , class State , class WellState , class Output >
SimulatorReport Opm::AdaptiveTimeStepping::step ( const SimulatorTimer timer,
Solver &  solver,
State &  state,
WellState &  well_state,
const bool  event,
Output &  outputWriter,
const std::vector< int > *  fipnum = nullptr 
)

step method that acts like the solver::step method in a sub cycle of time steps

Parameters
timersimulator timer providing time and timestep
fipnumFluid-in-place numbering array
solversolver object that must implement a method step( dt, state, well_state )
statecurrent state of the solution variables
well_stateadditional well state object
eventevent status for possible tuning
outputWriterwriter object to write sub steps

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