DUNE-FEM (unstable)

Dune::Fem::TimeProviderBase Class Reference

general base for time providers More...

#include <dune/fem/solver/timeprovider.hh>

Public Member Functions

void backup () const
 backup persistent object
 
void restore ()
 restore persistent object
 
double time () const
 obtain the current time More...
 
int timeStep () const
 obtain number of the current time step More...
 
double deltaT () const
 obtain the size of the current time step More...
 
double inverseDeltaT () const
 obtain the size of the inverse of the current time step More...
 
double timeStepEstimate () const
 obtain current estimate on time step More...
 
void provideTimeStepEstimate (const double dtEstimate)
 set time step estimate to minimum of given value and internal time step estiamte More...
 
void provideTimeStepUpperBound (const double upperBound)
 set upper bound for time step to minimum of given value and internal bound More...
 
void invalidateTimeStep ()
 count current time step a not valid
 
bool timeStepValid () const
 return if this time step should be used
 

Protected Member Functions

virtual void insertSubData ()
 insert possible sub data of object
 
virtual void removeSubData ()
 remove possible sub data of object
 

Detailed Description

general base for time providers

This class consists of the methods required for example in the ODE Solvers, e.g., provideTimeStepEstimate and provideTimeStepUpperBound. InvalidateTimeStep can be used to mark this time step as invalid. Furthermore, method for accessing the simulation time, the time step counter and the time step size are provided.

The derived class TimeProvider provides the additional method required for implementing a time loop.

Member Function Documentation

◆ deltaT()

double Dune::Fem::TimeProviderBase::deltaT ( ) const
inline

obtain the size of the current time step

Returns
the size of the current time step

References timeStepValid().

Referenced by DuneODE::ExplMultiStepBase< Operator >::solve(), DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::solve(), and DuneODE::ExplMultiStepBase< Operator >::solveRK().

◆ inverseDeltaT()

double Dune::Fem::TimeProviderBase::inverseDeltaT ( ) const
inline

obtain the size of the inverse of the current time step

Returns
the size of the inverse of the current time step

References timeStepValid().

◆ provideTimeStepEstimate()

void Dune::Fem::TimeProviderBase::provideTimeStepEstimate ( const double  dtEstimate)
inline

set time step estimate to minimum of given value and internal time step estiamte

Parameters
[in]dtEstimatetime step size estimate

Referenced by DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::initialize(), DuneODE::ExplMultiStepBase< Operator >::solve(), DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::solve(), and DuneODE::ExplMultiStepBase< Operator >::solveRK().

◆ provideTimeStepUpperBound()

void Dune::Fem::TimeProviderBase::provideTimeStepUpperBound ( const double  upperBound)
inline

set upper bound for time step to minimum of given value and internal bound

Parameters
[in]upperBoundtime step size estimate

◆ time()

◆ timeStep()

int Dune::Fem::TimeProviderBase::timeStep ( ) const
inline

◆ timeStepEstimate()

double Dune::Fem::TimeProviderBase::timeStepEstimate ( ) const
inline

obtain current estimate on time step

Returns
the current estimate for the time step

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 20, 23:30, 2024)