dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DuneODE::PIDTimeStepControl Class Reference

PID time step control. More...

#include <dune/fem/solver/rungekutta/timestepcontrol.hh>

Inheritance diagram for DuneODE::PIDTimeStepControl:
Inheritance graph

Public Types

typedef Dune::Fem::TimeProviderBase TimeProviderType
 
typedef BaseType::ParameterType ParameterType
 

Public Member Functions

 PIDTimeStepControl (TimeProviderType &timeProvider, const ParameterType &parameters)
 
 PIDTimeStepControl (TimeProviderType &timeProvider, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
 
bool computeError () const
 
template<class Monitor >
void timeStepEstimate (double helmholtzEstimate, double sourceTermEstimate, const Monitor &monitor)
 
template<class Monitor >
double pidTimeStepControl (const double dt, const Monitor &monitor)
 
double time () const
 
double timeStepSize () const
 
void initialTimeStepSize (double helmholtzEstimate, double sourceTermEstimate)
 
template<class Monitor >
void reduceTimeStep (double helmholtzEstimate, double sourceTermEstimate, const Monitor &monitor)
 

Protected Member Functions

const ParameterTypeparameters () const
 

Protected Attributes

std::vector< double > errors_
 
double tol_
 
TimeProviderTypetimeProvider_
 
std::shared_ptr< const ParameterTypeparameters_
 
double cfl_
 
double cflMax_
 
int verbose_
 
bool initialized_
 

Detailed Description

PID time step control.

See also: D. Kuzmin and S.Turek. Numerical simulation of turbulent bubbly flows. Techreport Uni Dortmund. 2004

and the original article: Valli, Coutinho, and Carey. Adaptive Control for Time Step Selection in Finite Element Simulation of Coupled Viscous Flow and Heat Transfer. Proc of the 10th International Conference on Numerical Methods in Fluids. 1998.

Member Typedef Documentation

◆ ParameterType

◆ TimeProviderType

Constructor & Destructor Documentation

◆ PIDTimeStepControl() [1/2]

DuneODE::PIDTimeStepControl::PIDTimeStepControl ( TimeProviderType timeProvider,
const ParameterType parameters 
)
inline

◆ PIDTimeStepControl() [2/2]

DuneODE::PIDTimeStepControl::PIDTimeStepControl ( TimeProviderType timeProvider,
const Dune::Fem::ParameterReader parameter = Dune::Fem::Parameter::container() 
)
inline

Member Function Documentation

◆ computeError()

bool DuneODE::PIDTimeStepControl::computeError ( ) const
inline

◆ initialTimeStepSize()

void DuneODE::ImplicitRungeKuttaTimeStepControl::initialTimeStepSize ( double  helmholtzEstimate,
double  sourceTermEstimate 
)
inlineinherited

◆ parameters()

const ParameterType & DuneODE::ImplicitRungeKuttaTimeStepControl::parameters ( ) const
inlineprotectedinherited

◆ pidTimeStepControl()

template<class Monitor >
double DuneODE::PIDTimeStepControl::pidTimeStepControl ( const double  dt,
const Monitor &  monitor 
)
inline

◆ reduceTimeStep()

template<class Monitor >
void DuneODE::ImplicitRungeKuttaTimeStepControl::reduceTimeStep ( double  helmholtzEstimate,
double  sourceTermEstimate,
const Monitor &  monitor 
)
inlineinherited

◆ time()

double DuneODE::ImplicitRungeKuttaTimeStepControl::time ( ) const
inlineinherited

◆ timeStepEstimate()

template<class Monitor >
void DuneODE::PIDTimeStepControl::timeStepEstimate ( double  helmholtzEstimate,
double  sourceTermEstimate,
const Monitor &  monitor 
)
inline

◆ timeStepSize()

double DuneODE::ImplicitRungeKuttaTimeStepControl::timeStepSize ( ) const
inlineinherited

Member Data Documentation

◆ cfl_

double DuneODE::ImplicitRungeKuttaTimeStepControl::cfl_
protectedinherited

◆ cflMax_

double DuneODE::ImplicitRungeKuttaTimeStepControl::cflMax_
protectedinherited

◆ errors_

std::vector< double > DuneODE::PIDTimeStepControl::errors_
protected

◆ initialized_

bool DuneODE::ImplicitRungeKuttaTimeStepControl::initialized_
protectedinherited

◆ parameters_

std::shared_ptr< const ParameterType > DuneODE::ImplicitRungeKuttaTimeStepControl::parameters_
protectedinherited

◆ timeProvider_

TimeProviderType& DuneODE::ImplicitRungeKuttaTimeStepControl::timeProvider_
protectedinherited

◆ tol_

double DuneODE::PIDTimeStepControl::tol_
protected

◆ verbose_

int DuneODE::ImplicitRungeKuttaTimeStepControl::verbose_
protectedinherited

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