dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::GridTimeProvider< Grid > Class Template Reference

the same functionality as the Dune::TimeProvider. More...

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

Inheritance diagram for Dune::Fem::GridTimeProvider< Grid >:
Inheritance graph

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
 
void init (const double timeStep)
 init dt with provided time step
 
void next ()
 goto next time step
 
void next (const double timeStep)
 goto next time step
 
double factor () const
 return the global factor number
 
void restore (const double time, const int timeStep)
 restore time and timestep from outside (i.e. from former calculation)
 
virtual void restore ()
 restore persistent object
 
virtual void backup () const
 backup 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 (const double dtEstimate)
 
double getCflFactor () const
 
int getUpdateStep () const
 
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 DofManagerTypedm_
 
int sequence_
 
const CollectiveCommunicationTypecomm_
 
const double cfl_
 
const int updateStep_
 
int counter_
 
ParameterReader parameter_
 
double dt_
 
double invdt_
 
double dtEstimate_
 
double dtUpperBound_
 
bool valid_
 
int timeStep_
 
double time_
 
bool dtEstimateValid_
 

Detailed Description

template<class Grid>
class Dune::Fem::GridTimeProvider< Grid >

the same functionality as the Dune::TimeProvider.

This implementation of a timeprovider takes the CollectiveCommunicate from a Dune::Grid instance.

Member Typedef Documentation

◆ CollectiveCommunicationType

template<class Grid >
typedef Grid::Traits::CollectiveCommunication Dune::Fem::GridTimeProvider< Grid >::CollectiveCommunicationType

Constructor & Destructor Documentation

◆ GridTimeProvider() [1/3]

template<class Grid >
Dune::Fem::GridTimeProvider< Grid >::GridTimeProvider ( const Grid &  grid)
inlineexplicit

◆ GridTimeProvider() [2/3]

template<class Grid >
Dune::Fem::GridTimeProvider< Grid >::GridTimeProvider ( const double  startTime,
const Grid &  grid 
)
inline

◆ GridTimeProvider() [3/3]

template<class Grid >
Dune::Fem::GridTimeProvider< Grid >::GridTimeProvider ( const double  startTime,
const double  cfl,
const Grid &  grid 
)
inline

◆ ~GridTimeProvider()

template<class Grid >
virtual Dune::Fem::GridTimeProvider< Grid >::~GridTimeProvider ( )
inlinevirtual

Member Function Documentation

◆ advance()

void Dune::Fem::TimeProviderBase::advance ( )
inlineprotectedinherited

◆ backup()

virtual void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::backup ( ) const
inlinevirtualinherited

backup persistent object

Reimplemented from Dune::Fem::TimeProviderBase.

◆ deltaT()

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

obtain the size of the current time step

Returns
the size of the current time step

◆ factor()

double Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::factor ( ) const
inlineinherited

return the global factor number

Returns
time step factor

◆ getCflFactor()

double Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::getCflFactor ( ) const
inlineprotectedinherited

◆ getUpdateStep()

int Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::getUpdateStep ( ) const
inlineprotectedinherited

◆ init() [1/2]

void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::init ( )
inlineinherited

init dt with time step estimate

◆ init() [2/2]

void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::init ( const double  timeStep)
inlineinherited

init dt with provided time step

Parameters
[in]timeStepvalue of the first time step (is multiplied with factor)

◆ initTimeStep()

template<class Grid >
void Dune::Fem::GridTimeProvider< Grid >::initTimeStep ( const double  dtEstimate)
inlineprotected

◆ initTimeStepEstimate()

void Dune::Fem::TimeProviderBase::initTimeStepEstimate ( )
inlineprotectedinherited

◆ insertSubData()

virtual void Dune::Fem::PersistentObject::insertSubData ( )
inlineprotectedvirtualinherited

◆ 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() [1/2]

void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::next ( )
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.

◆ next() [2/2]

void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::next ( const double  timeStep)
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.

Parameters
[in]timeStepvalue of the next time step (is multiplied with factor)

◆ 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()

virtual void Dune::Fem::PersistentObject::removeSubData ( )
inlineprotectedvirtualinherited

◆ restore() [1/2]

virtual void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::restore ( )
inlinevirtualinherited

restore persistent object

Reimplemented from Dune::Fem::TimeProviderBase.

◆ restore() [2/2]

void Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::restore ( const double  time,
const int  timeStep 
)
inlineinherited

restore time and timestep from outside (i.e. from former calculation)

Parameters
[in]timenew time
[in]timeStepnew time step counter

◆ 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

◆ cfl_

const double Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::cfl_
protectedinherited

◆ comm_

const CollectiveCommunicationType& Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::comm_
protectedinherited

◆ counter_

int Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::counter_
protectedinherited

◆ dm_

template<class Grid >
const DofManagerType& Dune::Fem::GridTimeProvider< Grid >::dm_
protected

◆ dt_

double Dune::Fem::TimeProviderBase::dt_
protectedinherited

◆ 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

◆ sequence_

template<class Grid >
int Dune::Fem::GridTimeProvider< Grid >::sequence_
protected

◆ time_

double Dune::Fem::TimeProviderBase::time_
protectedinherited

◆ timeStep_

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

◆ updateStep_

const int Dune::Fem::TimeProvider< Grid::Traits::CollectiveCommunication >::updateStep_
protectedinherited

◆ valid_

bool Dune::Fem::TimeProviderBase::valid_
protectedinherited

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