opm-simulators
Opm::TimeStepControlInterface Class Referenceabstract

TimeStepControlInterface. More...

#include <TimeStepControlInterface.hpp>

Inheritance diagram for Opm::TimeStepControlInterface:
Opm::General3rdOrderController Opm::HardcodedTimeStepControl Opm::PIDTimeStepControl Opm::SimpleIterationCountTimeStepControl Opm::PIDAndIterationCountTimeStepControl

Public Member Functions

virtual double computeTimeStepSize (const double dt, const int iterations, const RelativeChangeInterface &relativeChange, const AdaptiveSimulatorTimer &substepTimer) const =0
 compute new time step size suggestions based on the PID controller More...
 
virtual bool timeStepAccepted (const double error, const double timeStepJustCompleted) const =0
 For the general 3rd order controller, the internal shifting of errors and time steps happens here, and hence this method needs to be called for (after) each time step.
 
virtual ~TimeStepControlInterface ()
 virtual destructor (empty)
 

Detailed Description

Member Function Documentation

◆ computeTimeStepSize()

virtual double Opm::TimeStepControlInterface::computeTimeStepSize ( const double  dt,
const int  iterations,
const RelativeChangeInterface relativeChange,
const AdaptiveSimulatorTimer substepTimer 
) const
pure virtual

compute new time step size suggestions based on the PID controller

Parameters
dttime step size used in the current step
iterationsnumber of iterations used (linear/nonlinear)
relativeChangeRelative change handler
substepTimerSub step timer
Returns
suggested time step size for the next step

Implemented in Opm::HardcodedTimeStepControl, Opm::General3rdOrderController, Opm::PIDAndIterationCountTimeStepControl, Opm::PIDTimeStepControl, and Opm::SimpleIterationCountTimeStepControl.


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