dune-fem
2.4.1-rc
|
the same functionality as the Dune::TimeProvider. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/solver/timeprovider.hh>
Public Types | |
typedef Grid::Traits::CollectiveCommunication | CollectiveCommunicationType |
Public Member Functions | |
GridTimeProvider (const Grid &grid) | |
GridTimeProvider (const double startTime, const Grid &grid) | |
GridTimeProvider (const double startTime, const double cfl, const Grid &grid) | |
virtual | ~GridTimeProvider () |
void | init () |
init dt with time step estimate More... | |
void | init (const double timeStep) |
init dt with provided time step More... | |
void | next () |
goto next time step More... | |
void | next (const double timeStep) |
goto next time step More... | |
double | factor () const |
return the global factor number More... | |
void | restore (const double time, const int timeStep) |
restore time and timestep from outside (i.e. from former calculation) More... | |
virtual void | restore () |
restore persistent object More... | |
virtual void | backup () const |
backup persistent object More... | |
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 More... | |
bool | timeStepValid () const |
return if this time step should be used More... | |
Protected Member Functions | |
void | initTimeStep (const double dtEstimate) |
double | getCflFactor () const |
int | getUpdateStep () const |
void | advance () |
void | initTimeStepEstimate () |
virtual void | insertSubData () |
insert possible sub data of object More... | |
virtual void | removeSubData () |
remove possible sub data of object More... | |
virtual void * | pointer () |
Protected Attributes | |
const DofManagerType & | dm_ |
int | sequence_ |
const CollectiveCommunicationType & | comm_ |
const double | cfl_ |
const int | updateStep_ |
int | counter_ |
double | time_ |
int | timeStep_ |
double | dt_ |
double | invdt_ |
bool | valid_ |
bool | dtEstimateValid_ |
double | dtEstimate_ |
double | dtUpperBound_ |
ParameterReader | parameter_ |
the same functionality as the Dune::TimeProvider.
This implementation of a timeprovider takes the CollectiveCommunicate from a Dune::Grid instance.
typedef Grid::Traits::CollectiveCommunication Dune::Fem::GridTimeProvider< Grid >::CollectiveCommunicationType |
|
inlineexplicit |
|
inline |
|
inline |
|
inlinevirtual |
|
inlineprotectedinherited |
References Dune::Fem::TimeProviderBase::deltaT(), Dune::Fem::TimeProviderBase::timeStep_, and Dune::Fem::TimeProviderBase::timeStepValid().
Referenced by Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::next(), and Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::next().
|
inlinevirtualinherited |
backup persistent object
Reimplemented from Dune::Fem::TimeProviderBase.
References Dune::Fem::PersistentObject::backup().
|
inlineinherited |
obtain the size of the current time step
References Dune::Fem::TimeProviderBase::dt_, and Dune::Fem::TimeProviderBase::timeStepValid().
Referenced by Dune::Fem::TimeProviderBase::advance().
|
inlineinherited |
return the global factor number
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
init dt with time step estimate
References Dune::Fem::TimeProviderBase::dtEstimate_.
|
inlineinherited |
init dt with provided time step
[in] | timeStep | value of the first time step (is multiplied with factor) |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotectedvirtualinherited |
insert possible sub data of object
Reimplemented in Dune::Fem::DiscreteFunctionDefault< Impl >, Dune::Fem::DiscreteFunctionDefault< AdaptiveDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >, Dune::Fem::DiscreteFunctionDefault< BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > >, Dune::Fem::DiscreteFunctionDefault< ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > >, and Dune::Fem::DiscreteFunctionDefault< CombinedDiscreteFunction< ContainedDiscreteFunctionImp, N > >.
Referenced by Dune::Fem::PersistenceManager::insertObject().
|
inlineinherited |
count current time step a not valid
References Dune::Fem::TimeProviderBase::valid_.
|
inlineinherited |
obtain the size of the inverse of the current time step
References Dune::Fem::TimeProviderBase::invdt_, and Dune::Fem::TimeProviderBase::timeStepValid().
|
inlineinherited |
goto next time step
Sets the size of the next time step to the current time step estimate and sets the estimate to infinity.
References Dune::Fem::TimeProviderBase::advance(), Dune::Fem::TimeProviderBase::dtEstimate_, and Dune::Fem::TimeProviderBase::dtEstimateValid_.
|
inlineinherited |
goto next time step
Sets the size of the next time step to the provided time step value and sets the estimate to infinity.
[in] | timeStep | value of the next time step (is multiplied with factor) |
References Dune::Fem::TimeProviderBase::advance().
|
inlineprotectedvirtualinherited |
Reimplemented in Dune::Fem::PersistenceManager::WrapObject< ObjectType, false >.
|
inlineinherited |
set time step estimate to minimum of given value and internal time step estiamte
[in] | dtEstimate | time step size estimate |
References Dune::Fem::TimeProviderBase::dtEstimate_, Dune::Fem::TimeProviderBase::dtEstimateValid_, and Dune::Std::min().
|
inlineinherited |
set upper bound for time step to minimum of given value and internal bound
[in] | upperBound | time step size estimate |
References Dune::Fem::TimeProviderBase::dtEstimateValid_, Dune::Fem::TimeProviderBase::dtUpperBound_, and Dune::Std::min().
|
inlineprotectedvirtualinherited |
remove possible sub data of object
Reimplemented in Dune::Fem::DiscreteFunctionDefault< Impl >, Dune::Fem::DiscreteFunctionDefault< AdaptiveDiscreteFunction< DiscreteFunctionSpace > >, Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >, Dune::Fem::DiscreteFunctionDefault< BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > >, Dune::Fem::DiscreteFunctionDefault< ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > >, and Dune::Fem::DiscreteFunctionDefault< CombinedDiscreteFunction< ContainedDiscreteFunctionImp, N > >.
Referenced by Dune::Fem::PersistenceManager::removeObject().
|
inlineinherited |
restore time and timestep from outside (i.e. from former calculation)
[in] | time | new time |
[in] | timeStep | new time step counter |
References Dune::Fem::TimeProviderBase::time(), Dune::Fem::TimeProviderBase::time_, Dune::Fem::TimeProviderBase::timeStep(), and Dune::Fem::TimeProviderBase::timeStep_.
|
inlinevirtualinherited |
restore persistent object
Reimplemented from Dune::Fem::TimeProviderBase.
References Dune::Fem::PersistentObject::restore().
|
inlineinherited |
obtain the current time
References Dune::Fem::TimeProviderBase::time_.
Referenced by Dune::Fem::DataOutput< GridImp, DataImp >::consistentSaveStep(), Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::restore(), Dune::Fem::DataOutput< GridImp, DataImp >::willWrite(), and Dune::Fem::DataOutput< GridImp, DataImp >::write().
|
inlineinherited |
obtain number of the current time step
References Dune::Fem::TimeProviderBase::timeStep_, and Dune::Fem::TimeProviderBase::timeStepValid().
Referenced by Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::restore(), and Dune::Fem::CheckPointer< GridImp, DataImp >::willWrite().
|
inlineinherited |
obtain current estimate on time step
References Dune::Fem::TimeProviderBase::dtEstimate_.
|
inlineinherited |
return if this time step should be used
References Dune::Fem::TimeProviderBase::valid_.
Referenced by Dune::Fem::TimeProviderBase::advance(), Dune::Fem::TimeProviderBase::deltaT(), Dune::Fem::TimeProviderBase::inverseDeltaT(), Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::next(), and Dune::Fem::TimeProviderBase::timeStep().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
Referenced by Dune::Fem::TimeProviderBase::backup(), Dune::Fem::TimeProviderBase::deltaT(), Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider(), Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::initTimeStep(), and Dune::Fem::TimeProviderBase::restore().
|
protectedinherited |
Referenced by Dune::Fem::TimeProviderBase::backup(), Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::init(), Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::next(), Dune::Fem::TimeProviderBase::provideTimeStepEstimate(), Dune::Fem::TimeProviderBase::restore(), and Dune::Fem::TimeProviderBase::timeStepEstimate().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Dune::Fem::TimeProviderBase::backup(), Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::initTimeStep(), Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::initTimeStep(), Dune::Fem::TimeProviderBase::invalidateTimeStep(), Dune::Fem::TimeProviderBase::restore(), and Dune::Fem::TimeProviderBase::timeStepValid().