A simple iteration count based adaptive time step control.
More...
#include <TimeStepControl.hpp>
|
static constexpr TimeStepControlType | Type = TimeStepControlType::SimpleIterationCount |
|
|
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.
◆ SimpleIterationCountTimeStepControl()
Opm::SimpleIterationCountTimeStepControl::SimpleIterationCountTimeStepControl |
( |
const int | target_iterations, |
|
|
const double | decayrate, |
|
|
const double | growthrate, |
|
|
const bool | verbose = false ) |
constructor
- Parameters
-
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) |
◆ computeTimeStepSize()
double Opm::SimpleIterationCountTimeStepControl::computeTimeStepSize |
( |
const double | dt, |
|
|
const int | iterations, |
|
|
const RelativeChangeInterface & | , |
|
|
const double | ) const |
|
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) |
timeError | object to compute || u^n+1 - u^n || / || u^n+1 || |
- Returns
- suggested time step size for the next step
Implements Opm::TimeStepControlInterface.
The documentation for this class was generated from the following files:
- opm/simulators/timestepping/TimeStepControl.hpp
- opm/simulators/timestepping/TimeStepControl.cpp