Tempus  Version of the Day
Time Integration
Tempus::StepperRKObserverLogging< Scalar > Class Template Reference

This observer logs calls to observer functions. This observer simply logs and counts the calls to each of the observer functions. This is useful in monirtoring and debugging the time integration. More...

#include <Tempus_StepperRKObserverLogging_decl.hpp>

Inheritance diagram for Tempus::StepperRKObserverLogging< Scalar >:
Tempus::StepperRKObserver< Scalar > Tempus::StepperObserver< Scalar >

Public Member Functions

 StepperRKObserverLogging ()
 Constructor. More...
 
virtual ~StepperRKObserverLogging ()
 Destructor. More...
 
Override StepperRKObserver basic methods
virtual void observeBeginTakeStep (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 1.) Observe Stepper at beginning of takeStep. More...
 
virtual void observeBeginStage (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 2.) Observe Stepper at beginning of each stage. More...
 
virtual void observeBeforeImplicitExplicitly (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 3.) Observe Stepper before Explicit evaluation of Implicit ODE ME (IMEX). More...
 
virtual void observeBeforeSolve (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 4.) Observe Stepper before nonlinear solve (DIRK/IMEX). More...
 
virtual void observeAfterSolve (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 5.) Observe Stepper after nonlinear solve (DIRK/IMEX). More...
 
virtual void observeBeforeExplicit (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 6.) Observe Stepper before Explicit evaluation of Implicit ODE ME (IMEX). More...
 
virtual void observeEndStage (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 7.) Observe Stepper at end of each stage. More...
 
virtual void observeEndTakeStep (Teuchos::RCP< SolutionHistory< Scalar > >, Stepper< Scalar > &) override
 8.) Observe Stepper at end of takeStep. More...
 
void resetLogCounters ()
 
Teuchos::RCP< const std::map< std::string, int > > getCounters ()
 
Teuchos::RCP< const std::list< std::string > > getOrder ()
 
- Public Member Functions inherited from Tempus::StepperRKObserver< Scalar >
 StepperRKObserver ()
 Constructor. More...
 
virtual ~StepperRKObserver ()
 Destructor. More...
 

String names logged in map

Use these strings to validate a call stack with this observer

const std::string nameObserveBeginTakeStep_
 
const std::string nameObserveBeginStage_
 
const std::string nameObserveBeforeImplicitExplicitly_
 
const std::string nameObserveBeforeSolve_
 
const std::string nameObserveAfterSolve_
 
const std::string nameObserveBeforeExplicit_
 
const std::string nameObserveEndStage_
 
const std::string nameObserveEndTakeStep_
 
Teuchos::RCP< std::map< std::string, int > > counters_
 
Teuchos::RCP< std::list< std::string > > order_
 
void logCall (const std::string call) const
 Asserts next call on the stack is correct and removes from stack. More...
 

Detailed Description

template<class Scalar>
class Tempus::StepperRKObserverLogging< Scalar >

This observer logs calls to observer functions. This observer simply logs and counts the calls to each of the observer functions. This is useful in monirtoring and debugging the time integration.

Definition at line 23 of file Tempus_StepperRKObserverLogging_decl.hpp.

Constructor & Destructor Documentation

◆ StepperRKObserverLogging()

template<class Scalar >
Tempus::StepperRKObserverLogging< Scalar >::StepperRKObserverLogging

Constructor.

Definition at line 18 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ ~StepperRKObserverLogging()

template<class Scalar >
Tempus::StepperRKObserverLogging< Scalar >::~StepperRKObserverLogging
virtual

Destructor.

Definition at line 34 of file Tempus_StepperRKObserverLogging_impl.hpp.

Member Function Documentation

◆ getCounters()

template<class Scalar >
Teuchos::RCP< const std::map< std::string, int > > Tempus::StepperRKObserverLogging< Scalar >::getCounters

Definition at line 108 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ getOrder()

template<class Scalar >
Teuchos::RCP< const std::list< std::string > > Tempus::StepperRKObserverLogging< Scalar >::getOrder

Definition at line 113 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ logCall()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::logCall ( const std::string  call) const
private

Asserts next call on the stack is correct and removes from stack.

This is a const method so that it can be called from the derived StepperRKObserver methods that are const.

Definition at line 117 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeAfterSolve()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeAfterSolve ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

5.) Observe Stepper after nonlinear solve (DIRK/IMEX).

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 65 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeBeforeExplicit()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeBeforeExplicit ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

6.) Observe Stepper before Explicit evaluation of Implicit ODE ME (IMEX).

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 72 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeBeforeImplicitExplicitly()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeBeforeImplicitExplicitly ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

3.) Observe Stepper before Explicit evaluation of Implicit ODE ME (IMEX).

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 51 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeBeforeSolve()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeBeforeSolve ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

4.) Observe Stepper before nonlinear solve (DIRK/IMEX).

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 58 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeBeginStage()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeBeginStage ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

2.) Observe Stepper at beginning of each stage.

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 44 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeBeginTakeStep()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeBeginTakeStep ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

1.) Observe Stepper at beginning of takeStep.

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 37 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeEndStage()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeEndStage ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

7.) Observe Stepper at end of each stage.

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 79 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ observeEndTakeStep()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::observeEndTakeStep ( Teuchos::RCP< SolutionHistory< Scalar > >  ,
Stepper< Scalar > &   
)
overridevirtual

8.) Observe Stepper at end of takeStep.

Reimplemented from Tempus::StepperRKObserver< Scalar >.

Definition at line 86 of file Tempus_StepperRKObserverLogging_impl.hpp.

◆ resetLogCounters()

template<class Scalar >
void Tempus::StepperRKObserverLogging< Scalar >::resetLogCounters

Definition at line 93 of file Tempus_StepperRKObserverLogging_impl.hpp.

Member Data Documentation

◆ counters_

template<class Scalar >
Teuchos::RCP< std::map<std::string,int> > Tempus::StepperRKObserverLogging< Scalar >::counters_
private

Definition at line 106 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveAfterSolve_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveAfterSolve_

Definition at line 91 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveBeforeExplicit_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveBeforeExplicit_

Definition at line 92 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveBeforeImplicitExplicitly_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveBeforeImplicitExplicitly_

Definition at line 89 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveBeforeSolve_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveBeforeSolve_

Definition at line 90 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveBeginStage_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveBeginStage_

Definition at line 88 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveBeginTakeStep_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveBeginTakeStep_

Definition at line 87 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveEndStage_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveEndStage_

Definition at line 93 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ nameObserveEndTakeStep_

template<class Scalar >
const std::string Tempus::StepperRKObserverLogging< Scalar >::nameObserveEndTakeStep_

Definition at line 94 of file Tempus_StepperRKObserverLogging_decl.hpp.

◆ order_

template<class Scalar >
Teuchos::RCP< std::list<std::string> > Tempus::StepperRKObserverLogging< Scalar >::order_
private

Definition at line 107 of file Tempus_StepperRKObserverLogging_decl.hpp.


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