Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tempus::IntegratorObserver< Scalar > Class Template Referenceabstract

IntegratorObserver class for time integrators. More...

#include <Tempus_IntegratorObserver.hpp>

Inheritance diagram for Tempus::IntegratorObserver< Scalar >:
Tempus::IntegratorObserverBasic< Scalar > Tempus::IntegratorObserverComposite< Scalar > Tempus::IntegratorObserverLogging< Scalar > Tempus::IntegratorObserverNoOp< Scalar > Tempus::IntegratorObserverSubcycling< Scalar >

Public Member Functions

Basic IntegratorObserver methods
virtual void observeStartIntegrator (const Integrator< Scalar > &integrator)=0
 Observe the beginning of the time integrator. More...
 
virtual void observeStartTimeStep (const Integrator< Scalar > &integrator)=0
 Observe the beginning of the time step loop. More...
 
virtual void observeNextTimeStep (const Integrator< Scalar > &integrator)=0
 
virtual void observeBeforeTakeStep (const Integrator< Scalar > &integrator)=0
 Observe before Stepper takes step. More...
 
virtual void observeAfterTakeStep (const Integrator< Scalar > &integrator)=0
 Observe after Stepper takes step. More...
 
virtual void observeAfterCheckTimeStep (const Integrator< Scalar > &integrator)=0
 Observe after checking time step. Observer can still fail the time step here. More...
 
virtual void observeEndTimeStep (const Integrator< Scalar > &integrator)=0
 Observe the end of the time step loop. More...
 
virtual void observeEndIntegrator (const Integrator< Scalar > &integrator)=0
 Observe the end of the time integrator. More...
 
virtual ~IntegratorObserver ()=default
 default destructor More...
 

Detailed Description

template<class Scalar>
class Tempus::IntegratorObserver< Scalar >

IntegratorObserver class for time integrators.

This is a means for application developers to perform tasks during the time integrator, e.g.,

  • Compute specific quantities
  • Output information
  • Adjust the time step (CFL stability)
  • "Massage" the working solution state
  • ...

Design Considerations

Definition at line 41 of file Tempus_IntegratorObserver.hpp.

Constructor & Destructor Documentation

template<class Scalar >
virtual Tempus::IntegratorObserver< Scalar >::~IntegratorObserver ( )
virtualdefault

default destructor

Member Function Documentation

template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeAfterCheckTimeStep ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeAfterTakeStep ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeBeforeTakeStep ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeEndIntegrator ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeEndTimeStep ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeNextTimeStep ( const Integrator< Scalar > &  integrator)
pure virtual

Observe after the next time step size is selected. The observer can choose to change the current integratorStatus.

Implemented in Tempus::IntegratorObserverComposite< Scalar >, Tempus::IntegratorObserverBasic< Scalar >, Tempus::IntegratorObserverLogging< Scalar >, Tempus::IntegratorObserverNoOp< Scalar >, and Tempus::IntegratorObserverSubcycling< Scalar >.

template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeStartIntegrator ( const Integrator< Scalar > &  integrator)
pure virtual
template<class Scalar >
virtual void Tempus::IntegratorObserver< Scalar >::observeStartTimeStep ( const Integrator< Scalar > &  integrator)
pure virtual

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