|
My Project
|
A simple iteration count based adaptive time step control. More...
#include <TimeStepControl.hpp>
Public Member Functions | |
| SimpleIterationCountTimeStepControl (const int target_iterations, const double decayrate, const double growthrate, const bool verbose=false) | |
| constructor | |
| double | computeTimeStepSize (const double dt, const int iterations, const RelativeChangeInterface &, const double) const |
| compute new time step size suggestions based on the PID controller | |
| template<class Serializer > | |
| void | serializeOp (Serializer &serializer) |
| bool | operator== (const SimpleIterationCountTimeStepControl &) const |
Public Member Functions inherited from Opm::TimeStepControlInterface | |
| virtual | ~TimeStepControlInterface () |
| virtual destructor (empty) | |
Static Public Member Functions | |
| static SimpleIterationCountTimeStepControl | serializationTestObject () |
Static Public Attributes | |
| static constexpr TimeStepControlType | Type = TimeStepControlType::SimpleIterationCount |
Protected Attributes | |
| const int | target_iterations_ = 0 |
| const double | decayrate_ = 0.0 |
| const double | growthrate_ = 0.0 |
| const bool | verbose_ = false |
A simple iteration count based adaptive time step control.
| Opm::SimpleIterationCountTimeStepControl::SimpleIterationCountTimeStepControl | ( | const int | target_iterations, |
| const double | decayrate, | ||
| const double | growthrate, | ||
| const bool | verbose = false |
||
| ) |
constructor
| target_iterations | number of desired iterations (e.g. Newton iterations) per time step in one time step |
| verbose | if true get some output (default = false) |
|
virtual |
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.