dune-fem 2.8.0
|
general base for time providers More...
#include <dune/fem/solver/timeprovider.hh>
Public Member Functions | |
TimeProviderBase (const ParameterReader ¶meter=Parameter::container()) | |
TimeProviderBase (const double startTime, const ParameterReader ¶meter=Parameter::container()) | |
virtual | ~TimeProviderBase () |
void | backup () const |
backup persistent object | |
void | restore () |
restore persistent object | |
TimeProviderBase (const ThisType &)=delete | |
ThisType & | operator= (const ThisType &)=delete |
double | time () const |
obtain the current time | |
int | timeStep () const |
obtain number of the current time step | |
double | deltaT () const |
obtain the size of the current time step | |
double | inverseDeltaT () const |
obtain the size of the inverse of the current time step | |
double | timeStepEstimate () const |
obtain current estimate on time step | |
void | provideTimeStepEstimate (const double dtEstimate) |
set time step estimate to minimum of given value and internal time step estiamte | |
void | provideTimeStepUpperBound (const double upperBound) |
set upper bound for time step to minimum of given value and internal bound | |
void | invalidateTimeStep () |
count current time step a not valid | |
bool | timeStepValid () const |
return if this time step should be used | |
Protected Member Functions | |
void | advance () |
void | initTimeStepEstimate () |
virtual void | insertSubData () |
insert possible sub data of object | |
virtual void | removeSubData () |
remove possible sub data of object | |
virtual void * | pointer () |
Protected Attributes | |
double | time_ |
int | timeStep_ |
double | dt_ |
double | invdt_ |
bool | valid_ |
bool | dtEstimateValid_ |
double | dtEstimate_ |
double | dtUpperBound_ |
ParameterReader | parameter_ |
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.
|
inline |
|
inlineexplicit |
|
inlinevirtual |
|
delete |
|
inlineprotected |
|
inlinevirtual |
backup persistent object
Implements Dune::Fem::PersistentObject.
Reimplemented in Dune::Fem::TimeProvider< CollectiveCommunication >, and Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >.
|
inline |
obtain the size of the current time step
|
inlineprotected |
|
inlineprotectedvirtualinherited |
insert possible sub data of object
Reimplemented in Dune::Fem::DiscreteFunctionDefault< Impl >, Dune::Fem::DiscreteFunctionDefault< AdaptiveDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > >, Dune::Fem::DiscreteFunctionDefault< CombinedDiscreteFunction< ContainedDiscreteFunctionImp, N > >, Dune::Fem::DiscreteFunctionDefault< HierarchicalDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > >, Dune::Fem::DiscreteFunctionDefault< TupleDiscreteFunction< DiscreteFunctions ... > >, and Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >.
|
inline |
count current time step a not valid
|
inline |
obtain the size of the inverse of the current time step
|
inlineprotectedvirtualinherited |
Reimplemented in Dune::Fem::PersistenceManager::WrapObject< ObjectType, false >.
|
inline |
set time step estimate to minimum of given value and internal time step estiamte
[in] | dtEstimate | time step size estimate |
|
inline |
set upper bound for time step to minimum of given value and internal bound
[in] | upperBound | time step size estimate |
|
inlineprotectedvirtualinherited |
remove possible sub data of object
Reimplemented in Dune::Fem::DiscreteFunctionDefault< Impl >, Dune::Fem::DiscreteFunctionDefault< AdaptiveDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > >, Dune::Fem::DiscreteFunctionDefault< CombinedDiscreteFunction< ContainedDiscreteFunctionImp, N > >, Dune::Fem::DiscreteFunctionDefault< HierarchicalDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > >, Dune::Fem::DiscreteFunctionDefault< TupleDiscreteFunction< DiscreteFunctions ... > >, and Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >.
|
inlinevirtual |
restore persistent object
Implements Dune::Fem::PersistentObject.
Reimplemented in Dune::Fem::TimeProvider< CollectiveCommunication >, and Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >.
|
inline |
obtain the current time
|
inline |
obtain number of the current time step
|
inline |
obtain current estimate on time step
|
inline |
return if this time step should be used
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |