Opm::PIDAndIterationCountTimeStepControl Class Reference

PID controller based adaptive time step control as above that also takes an target iteration into account. More...

#include <TimeStepControl.hpp>

Inheritance diagram for Opm::PIDAndIterationCountTimeStepControl:
Opm::PIDTimeStepControl Opm::TimeStepControlInterface

List of all members.

Public Member Functions

 PIDAndIterationCountTimeStepControl (const int target_iterations=20, const double tol=1e-3, const bool verbose=false)
 constructor
double computeTimeStepSize (const double dt, const int iterations, const RelativeChangeInterface &relativeChange, const double) const

Protected Attributes

const int target_iterations_

Detailed Description

PID controller based adaptive time step control as above that also takes an target iteration into account.


Constructor & Destructor Documentation

Opm::PIDAndIterationCountTimeStepControl::PIDAndIterationCountTimeStepControl ( const int  target_iterations = 20,
const double  tol = 1e-3,
const bool  verbose = false 
)

constructor

Parameters:
target_iterations number of desired iterations per time step
tol tolerance for the relative changes of the numerical solution to be accepted in one time step (default is 1e-3)
verbose if true get some output (default = false)

Member Function Documentation

double Opm::PIDAndIterationCountTimeStepControl::computeTimeStepSize ( const double  dt,
const int  iterations,
const RelativeChangeInterface relativeChange,
const double  simulationTimeElapsed 
) 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

Reimplemented from Opm::PIDTimeStepControl.


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

Generated on 26 Mar 2018 by  doxygen 1.6.1