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

Public Member Functions

 AdaptiveTimeStepping (const UnitSystem &unitSystem, 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 bool terminalOutput=true)
 contructor taking parameter object
 
template<class Solver >
SimulatorReport step (const SimulatorTimer &simulatorTimer, Solver &solver, const bool isEvent, const std::vector< int > *fipnum=nullptr, const std::function< bool()> tuningUpdater=[](){return false;})
 step method that acts like the solver::step method in a sub cycle of time steps
 
double suggestedNextStep () const
 Returns the simulator report for the failed substeps of the last report step.
 
void setSuggestedNextStep (const double x)
 
void updateTUNING (double max_next_tstep, const Tuning &tuning)
 
void updateNEXTSTEP (double max_next_tstep)
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const AdaptiveTimeStepping< TypeTag > &rhs)
 

Static Public Member Functions

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

Protected Types

using TimeStepController = std::unique_ptr< TimeStepControlInterface >
 

Protected Member Functions

void init_ (const UnitSystem &unitSystem)
 

Protected Attributes

TimeStepControlType timeStepControlType_
 type of time step control object
 
TimeStepController timeStepControl_
 time step control object
 
double restartFactor_
 factor to multiply time step with when solver fails to converge
 
double growthFactor_
 factor to multiply time step when solver recovered from failed convergence
 
double maxGrowth_
 factor that limits the maximum growth of a time step
 
double maxTimeStep_
 maximal allowed time step size in days
 
double minTimeStep_
 minimal allowed time step size before throwing
 
bool ignoreConvergenceFailure_
 continue instead of stop when minimum time step is reached
 
int solverRestartMax_
 how many restart of solver are allowed
 
bool solverVerbose_
 solver verbosity
 
bool timestepVerbose_
 timestep verbosity
 
double suggestedNextTimestep_
 suggested size of next timestep
 
bool fullTimestepInitially_
 beginning with the size of the time step from data file
 
double timestepAfterEvent_
 suggested size of timestep after an event
 
bool useNewtonIteration_
 use newton iteration count for adaptive time step control
 
double minTimeStepBeforeShuttingProblematicWells_
 

Constructor & Destructor Documentation

◆ AdaptiveTimeStepping()

template<class TypeTag >
Opm::AdaptiveTimeStepping< TypeTag >::AdaptiveTimeStepping ( double  max_next_tstep,
const Tuning &  tuning,
const UnitSystem &  unitSystem,
const bool  terminalOutput = true 
)
inline

contructor taking parameter object

Parameters
tuningPointer to ecl TUNING keyword
timeStepcurrent report step

Member Function Documentation

◆ step()

template<class TypeTag >
template<class Solver >
SimulatorReport Opm::AdaptiveTimeStepping< TypeTag >::step ( const SimulatorTimer simulatorTimer,
Solver &  solver,
const bool  isEvent,
const std::vector< int > *  fipnum = nullptr,
const std::function< bool()>  tuningUpdater = [](){return false;} 
)
inline

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 file: