dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication > Class Template Reference

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

Inheritance diagram for Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >:
Inheritance graph

Public Types

typedef CollectiveCommunication CollectiveCommunicationType
 

Public Member Functions

 FixedStepTimeProvider (const double startTime, const double timeStepSize, const CollectiveCommunicationType &comm, const ParameterReader &parameter=Parameter::container())
 constructor More...
 
 FixedStepTimeProvider (const double startTime, const double timeStepSize, const ParameterReader &parameter=Parameter::container())
 
 FixedStepTimeProvider (const ParameterReader &parameter=Parameter::container())
 constructor More...
 
 FixedStepTimeProvider (const CollectiveCommunicationType &comm, const ParameterReader &parameter=Parameter::container())
 
virtual ~FixedStepTimeProvider ()
 
 FixedStepTimeProvider (const ThisType &)=delete
 
 FixedStepTimeProvider (ThisType &&)=delete
 
ThisTypeoperator= (const ThisType &)=delete
 
ThisTypeoperator= (ThisType &&)=delete
 
void next ()
 goto next time step More...
 
void backup () const
 backup persistent object More...
 
void restore ()
 restore 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 ()
 
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 CollectiveCommunicationTypecomm_
 
double time_
 
int timeStep_
 
double dt_
 
double invdt_
 
bool valid_
 
bool dtEstimateValid_
 
double dtEstimate_
 
double dtUpperBound_
 
ParameterReader parameter_
 

Member Typedef Documentation

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
typedef CollectiveCommunication Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::CollectiveCommunicationType

Constructor & Destructor Documentation

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( const double  startTime,
const double  timeStepSize,
const CollectiveCommunicationType comm,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicit

constructor

Parameters
[in]startTimeinitial time
[in]timeStepSizetime step size
[in]commcollective communication (default Dune::Fem::MPIManager::comm())

References Dune::Fem::TimeProviderBase::dt_.

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( const double  startTime,
const double  timeStepSize,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicit
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( const ParameterReader parameter = Parameter::container())
inlineexplicit

constructor

Parameters
[in]commcollective communication (default Dune::Fem::MPIManager::comm())

The initial time need to be provided using the parameter fem.timeprovider.starttime while the time step size need to be provided using the parameter fem.timeprovider.fixedtimestep.

References Dune::Fem::TimeProviderBase::dt_.

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( const CollectiveCommunicationType comm,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicit
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
virtual Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::~FixedStepTimeProvider ( )
inlinevirtual
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( const ThisType )
delete
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::FixedStepTimeProvider ( ThisType &&  )
delete

Member Function Documentation

void Dune::Fem::TimeProviderBase::advance ( )
inlineprotectedinherited
void Dune::Fem::TimeProviderBase::backup ( ) const
inlinevirtualinherited
double Dune::Fem::TimeProviderBase::deltaT ( ) const
inlineinherited

obtain the size of the current time step

Returns
the size of the current time step

References Dune::Fem::TimeProviderBase::dt_, and Dune::Fem::TimeProviderBase::timeStepValid().

Referenced by Dune::Fem::TimeProviderBase::advance().

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
void Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::initTimeStep ( )
inlineprotected
void Dune::Fem::TimeProviderBase::initTimeStepEstimate ( )
inlineprotectedinherited
virtual void Dune::Fem::PersistentObject::insertSubData ( )
inlineprotectedvirtualinherited
void Dune::Fem::TimeProviderBase::invalidateTimeStep ( )
inlineinherited

count current time step a not valid

References Dune::Fem::TimeProviderBase::valid_.

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

obtain the size of the inverse of the current time step

Returns
the size of the inverse of the current time step

References Dune::Fem::TimeProviderBase::invdt_, and Dune::Fem::TimeProviderBase::timeStepValid().

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
void Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::next ( )
inline
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
ThisType& Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::operator= ( const ThisType )
delete
template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
ThisType& Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::operator= ( ThisType &&  )
delete
virtual void* Dune::Fem::PersistentObject::pointer ( )
inlineprotectedvirtualinherited
void Dune::Fem::TimeProviderBase::provideTimeStepEstimate ( const double  dtEstimate)
inlineinherited

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

Parameters
[in]dtEstimatetime step size estimate

References Dune::Fem::TimeProviderBase::dtEstimate_, Dune::Fem::TimeProviderBase::dtEstimateValid_, and Dune::Std::min().

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

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

Parameters
[in]upperBoundtime step size estimate

References Dune::Fem::TimeProviderBase::dtEstimateValid_, Dune::Fem::TimeProviderBase::dtUpperBound_, and Dune::Std::min().

virtual void Dune::Fem::PersistentObject::removeSubData ( )
inlineprotectedvirtualinherited
void Dune::Fem::TimeProviderBase::restore ( )
inlinevirtualinherited
double Dune::Fem::TimeProviderBase::time ( ) const
inlineinherited
int Dune::Fem::TimeProviderBase::timeStep ( ) const
inlineinherited
double Dune::Fem::TimeProviderBase::timeStepEstimate ( ) const
inlineinherited

obtain current estimate on time step

Returns
the current estimate for the time step

References Dune::Fem::TimeProviderBase::dtEstimate_.

bool Dune::Fem::TimeProviderBase::timeStepValid ( ) const
inlineinherited

Member Data Documentation

template<class CollectiveCommunication = typename MPIManager::CollectiveCommunication>
const CollectiveCommunicationType& Dune::Fem::FixedStepTimeProvider< CollectiveCommunication >::comm_
protected
double Dune::Fem::TimeProviderBase::dt_
protectedinherited
double Dune::Fem::TimeProviderBase::dtEstimate_
protectedinherited
bool Dune::Fem::TimeProviderBase::dtEstimateValid_
protectedinherited
double Dune::Fem::TimeProviderBase::dtUpperBound_
protectedinherited
double Dune::Fem::TimeProviderBase::invdt_
protectedinherited
ParameterReader Dune::Fem::TimeProviderBase::parameter_
protectedinherited
double Dune::Fem::TimeProviderBase::time_
protectedinherited
int Dune::Fem::TimeProviderBase::timeStep_
protectedinherited
bool Dune::Fem::TimeProviderBase::valid_
protectedinherited

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