dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DuneODE::PIDTimeStepControl Class Reference

PID time step control. More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/solver/rungekutta/timestepcontrol.hh>

Inheritance diagram for DuneODE::PIDTimeStepControl:
Inheritance graph

Public Types

typedef Dune::Fem::TimeProviderBase TimeProviderType
 
typedef BaseType::ParametersType ParametersType
 

Public Member Functions

 PIDTimeStepControl (TimeProviderType &timeProvider, const ParametersType &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 ParametersTypeparameters () const
 

Protected Attributes

std::vector< double > errors_
 
double tol_
 
TimeProviderTypetimeProvider_
 
std::shared_ptr< const ParametersTypeparameters_
 
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

Constructor & Destructor Documentation

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

Member Function Documentation

bool DuneODE::PIDTimeStepControl::computeError ( ) const
inline
void DuneODE::ImplicitRungeKuttaTimeStepControl::initialTimeStepSize ( double  helmholtzEstimate,
double  sourceTermEstimate 
)
inlineinherited

References Dune::Std::max().

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

References Dune::Fem::abs().

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

Member Data Documentation

double DuneODE::ImplicitRungeKuttaTimeStepControl::cfl_
protectedinherited
double DuneODE::ImplicitRungeKuttaTimeStepControl::cflMax_
protectedinherited
std::vector< double > DuneODE::PIDTimeStepControl::errors_
protected
bool DuneODE::ImplicitRungeKuttaTimeStepControl::initialized_
protectedinherited
std::shared_ptr< const ParametersType > DuneODE::ImplicitRungeKuttaTimeStepControl::parameters_
protectedinherited
TimeProviderType& DuneODE::ImplicitRungeKuttaTimeStepControl::timeProvider_
protectedinherited
double DuneODE::PIDTimeStepControl::tol_
protected
int DuneODE::ImplicitRungeKuttaTimeStepControl::verbose_
protectedinherited

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