|
My Project
|
General 3rd order controller. More...
#include <TimeStepControl.hpp>
Public Member Functions | |
| General3rdOrderController (const double tolerance=1e-3, const double safetyFactor=0.8, const bool verbose=false) | |
| double | computeTimeStepSize (const double dt, const int, const RelativeChangeInterface &relativeChange, const AdaptiveSimulatorTimer &substepTimer) const override |
| compute new time step size suggestions based on the PID controller | |
| template<class Serializer > | |
| void | serializeOp (Serializer &serializer) |
| bool | operator== (const General3rdOrderController &) const |
Public Member Functions inherited from Opm::TimeStepControlInterface | |
| virtual | ~TimeStepControlInterface () |
| virtual destructor (empty) | |
Static Public Member Functions | |
| static General3rdOrderController | serializationTestObject () |
Static Public Attributes | |
| static constexpr TimeStepControlType | Type = TimeStepControlType::General3rdOrder |
Protected Attributes | |
| const double | tolerance_ = 1e-3 |
| const double | safetyFactor_ = 0.8 |
| std::vector< double > | errors_ {} |
| std::vector< double > | timeSteps_ {} |
| int | counterSinceFailure_ = 0 |
| const bool | verbose_ = false |
General 3rd order controller.
|
overridevirtual |
compute new time step size suggestions based on the PID controller
| dt | time step size used in the current step |
| iterations | number of iterations used (linear/nonlinear) |
| timeError | object to compute || u^n+1 - u^n || / || u^n+1 || |
Implements Opm::TimeStepControlInterface.