dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::FixedStepTimeProvider< Communication > Class Template Reference

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

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

Public Types

typedef Communication CommunicationType
 

Public Member Functions

 FixedStepTimeProvider (const double startTime, const double timeStepSize, const CommunicationType &comm, const ParameterReader &parameter=Parameter::container())
 constructor
 
 FixedStepTimeProvider (const double startTime, const double timeStepSize, const ParameterReader &parameter=Parameter::container())
 
 FixedStepTimeProvider (const ParameterReader &parameter=Parameter::container())
 constructor
 
 FixedStepTimeProvider (const CommunicationType &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
 
void backup () const
 backup persistent object
 
void restore ()
 restore persistent object
 
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 initTimeStep ()
 
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

const CommunicationTypecomm_
 
double time_
 
double dt_
 
bool valid_
 
int timeStep_
 
double invdt_
 
bool dtEstimateValid_
 
double dtEstimate_
 
double dtUpperBound_
 
ParameterReader parameter_
 

Member Typedef Documentation

◆ CommunicationType

template<class Communication = typename MPIManager::Communication>
typedef Communication Dune::Fem::FixedStepTimeProvider< Communication >::CommunicationType

Constructor & Destructor Documentation

◆ FixedStepTimeProvider() [1/6]

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

constructor

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

◆ FixedStepTimeProvider() [2/6]

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

◆ FixedStepTimeProvider() [3/6]

template<class Communication = typename MPIManager::Communication>
Dune::Fem::FixedStepTimeProvider< Communication >::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.

◆ FixedStepTimeProvider() [4/6]

template<class Communication = typename MPIManager::Communication>
Dune::Fem::FixedStepTimeProvider< Communication >::FixedStepTimeProvider ( const CommunicationType comm,
const ParameterReader parameter = Parameter::container() 
)
inlineexplicit

◆ ~FixedStepTimeProvider()

template<class Communication = typename MPIManager::Communication>
virtual Dune::Fem::FixedStepTimeProvider< Communication >::~FixedStepTimeProvider ( )
inlinevirtual

◆ FixedStepTimeProvider() [5/6]

template<class Communication = typename MPIManager::Communication>
Dune::Fem::FixedStepTimeProvider< Communication >::FixedStepTimeProvider ( const ThisType )
delete

◆ FixedStepTimeProvider() [6/6]

template<class Communication = typename MPIManager::Communication>
Dune::Fem::FixedStepTimeProvider< Communication >::FixedStepTimeProvider ( ThisType &&  )
delete

Member Function Documentation

◆ advance()

template<class Communication = typename MPIManager::Communication>
void Dune::Fem::TimeProviderBase::advance ( )
inlineprotected

◆ backup()

void Dune::Fem::TimeProviderBase::backup ( ) const
inlinevirtualinherited

backup persistent object

Implements Dune::Fem::PersistentObject.

◆ deltaT()

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

obtain the size of the current time step

Returns
the size of the current time step

◆ initTimeStep()

template<class Communication = typename MPIManager::Communication>
void Dune::Fem::FixedStepTimeProvider< Communication >::initTimeStep ( )
inlineprotected

◆ initTimeStepEstimate()

template<class Communication = typename MPIManager::Communication>
void Dune::Fem::TimeProviderBase::initTimeStepEstimate ( )
inlineprotected

◆ insertSubData()

◆ invalidateTimeStep()

void Dune::Fem::TimeProviderBase::invalidateTimeStep ( )
inlineinherited

count current time step a not valid

◆ inverseDeltaT()

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

◆ next()

template<class Communication = typename MPIManager::Communication>
void Dune::Fem::FixedStepTimeProvider< Communication >::next ( )
inline

goto next time step

◆ operator=() [1/2]

template<class Communication = typename MPIManager::Communication>
ThisType & Dune::Fem::FixedStepTimeProvider< Communication >::operator= ( const ThisType )
delete

◆ operator=() [2/2]

template<class Communication = typename MPIManager::Communication>
ThisType & Dune::Fem::FixedStepTimeProvider< Communication >::operator= ( ThisType &&  )
delete

◆ pointer()

virtual void * Dune::Fem::PersistentObject::pointer ( )
inlineprotectedvirtualinherited

◆ provideTimeStepEstimate()

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

◆ provideTimeStepUpperBound()

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

◆ removeSubData()

◆ restore()

void Dune::Fem::TimeProviderBase::restore ( )
inlinevirtualinherited

restore persistent object

Implements Dune::Fem::PersistentObject.

◆ time()

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

obtain the current time

Returns
the current time

◆ timeStep()

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

obtain number of the current time step

Returns
the current time step counter

◆ timeStepEstimate()

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

obtain current estimate on time step

Returns
the current estimate for the time step

◆ timeStepValid()

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

return if this time step should be used

Member Data Documentation

◆ comm_

template<class Communication = typename MPIManager::Communication>
const CommunicationType& Dune::Fem::FixedStepTimeProvider< Communication >::comm_
protected

◆ dt_

template<class Communication = typename MPIManager::Communication>
double Dune::Fem::TimeProviderBase::dt_
protected

◆ dtEstimate_

double Dune::Fem::TimeProviderBase::dtEstimate_
protectedinherited

◆ dtEstimateValid_

bool Dune::Fem::TimeProviderBase::dtEstimateValid_
protectedinherited

◆ dtUpperBound_

double Dune::Fem::TimeProviderBase::dtUpperBound_
protectedinherited

◆ invdt_

double Dune::Fem::TimeProviderBase::invdt_
protectedinherited

◆ parameter_

ParameterReader Dune::Fem::TimeProviderBase::parameter_
protectedinherited

◆ time_

template<class Communication = typename MPIManager::Communication>
double Dune::Fem::TimeProviderBase::time_
protected

◆ timeStep_

int Dune::Fem::TimeProviderBase::timeStep_
protectedinherited

◆ valid_

template<class Communication = typename MPIManager::Communication>
bool Dune::Fem::TimeProviderBase::valid_
protected

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