My Project
Loading...
Searching...
No Matches
Opm::AdaptiveTimeStepping< TypeTag > Class Template Reference

Public Member Functions

 AdaptiveTimeStepping (const UnitSystem &unitSystem, const SimulatorReport &full_report, const double max_next_tstep=-1.0, const bool terminalOutput=true)
 contructor taking parameter object
 
 AdaptiveTimeStepping (double max_next_tstep, const Tuning &tuning, const UnitSystem &unitSystem, const SimulatorReport &full_report, const bool terminalOutput=true)
 contructor
 
bool operator== (const AdaptiveTimeStepping< TypeTag > &rhs)
 
void setSuggestedNextStep (const double x)
 
double suggestedNextStep () const
 
template<class Solver >
SimulatorReport step (const SimulatorTimer &simulator_timer, Solver &solver, const bool is_event, const std::function< bool(const double, const double, const int)> tuning_updater)
 step method that acts like the solver::step method in a sub cycle of time steps
 
void updateTUNING (double max_next_tstep, const Tuning &tuning)
 
void updateNEXTSTEP (double max_next_tstep)
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
SimulatorReportreport ()
 

Static Public Member Functions

static void registerParameters ()
 
static AdaptiveTimeStepping< TypeTag > serializationTestObjectHardcoded ()
 
static AdaptiveTimeStepping< TypeTag > serializationTestObjectPID ()
 
static AdaptiveTimeStepping< TypeTag > serializationTestObjectPIDIt ()
 
static AdaptiveTimeStepping< TypeTag > serializationTestObjectSimple ()
 
static AdaptiveTimeStepping< TypeTag > serializationTestObject3rdOrder ()
 

Protected Types

using TimeStepController = std::unique_ptr< TimeStepControlInterface >
 

Protected Member Functions

void init_ (const UnitSystem &unitSystem)
 

Protected Attributes

TimeStepControlType time_step_control_type_
 type of time step control object
 
TimeStepController time_step_control_
 time step control object
 
double restart_factor_
 factor to multiply time step with when solver fails to converge
 
double growth_factor_
 factor to multiply time step when solver recovered from failed convergence
 
double max_growth_
 factor that limits the maximum growth of a time step
 
double max_time_step_
 maximal allowed time step size in days
 
double min_time_step_
 minimal allowed time step size before throwing
 
bool ignore_convergence_failure_
 continue instead of stop when minimum time step is reached
 
int solver_restart_max_
 how many restart of solver are allowed
 
bool solver_verbose_
 solver verbosity
 
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
 
double timestep_after_event_
 suggested size of timestep after an event
 
bool use_newton_iteration_
 use newton iteration count for adaptive time step control
 
double min_time_step_before_shutting_problematic_wells_
 < shut problematic wells when time step size in days are less than this
 
SimulatorReport report_
 

Constructor & Destructor Documentation

◆ AdaptiveTimeStepping()

template<class TypeTag >
Opm::AdaptiveTimeStepping< TypeTag >::AdaptiveTimeStepping ( double  max_next_tstep,
const Tuning tuning,
const UnitSystem unit_system,
const SimulatorReport report,
const bool  terminal_output = true 
)

contructor

Parameters
tuningPointer to ecl TUNING keyword

Member Function Documentation

◆ step()

template<class TypeTag >
template<class Solver >
SimulatorReport Opm::AdaptiveTimeStepping< TypeTag >::step ( const SimulatorTimer simulator_timer,
Solver &  solver,
const bool  is_event,
const std::function< bool(const double, const double, const int)>  tuning_updater 
)

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

Parameters
tuningUpdaterFunction used to update TUNING parameters before each time step. ACTIONX might change tuning.

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