Loading...
Searching...
No Matches
Opm::TimeStepControlInterface Class Referenceabstract

TimeStepControlInterface. More...

`#include <TimeStepControlInterface.hpp>`

Inheritance diagram for Opm::TimeStepControlInterface:

## 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
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

TimeStepControlInterface.

## 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

  dt | time step size used in the current step
  iterations | number of iterations used (linear/nonlinear)
  relativeChange | Relative change handler
  substepTimer | Sub step timer

Returns
  suggested time step size for the next step

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

## timeStepAccepted()

virtual bool Opm::TimeStepControlInterface::timeStepAccepted | ( | const double | error,
|  | const double | timeStepJustCompleted ) const

pure virtual

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.

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

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

- opm/simulators/timestepping/TimeStepControlInterface.hpp