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

Base observer for StepperSubcycling. More...

#include <Tempus_StepperSubcyclingObserverBase.hpp>

Inheritance diagram for Tempus::StepperSubcyclingObserverBase< Scalar >:
Tempus::StepperSubcyclingAppAction< Scalar > Tempus::StepperSubcyclingObserverDefault< Scalar >

Public Member Functions

virtual void observe (Teuchos::RCP< const SolutionHistory< Scalar > >, Teuchos::RCP< const StepperSubcycling< Scalar > >, const typename StepperSubcyclingAppAction< Scalar >::ACTION_LOCATION actLoc)=0
 Observe Subcycling Stepper. More...
 
- Public Member Functions inherited from Tempus::StepperSubcyclingAppAction< Scalar >
 StepperSubcyclingAppAction ()
 Constructor. More...
 
virtual ~StepperSubcyclingAppAction ()
 Destructor. More...
 

Private Member Functions

void execute (Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperSubcycling< Scalar > > stepper, const typename StepperSubcyclingAppAction< Scalar >::ACTION_LOCATION actLoc)
 Execute application action for Subcycling Stepper. More...
 

Additional Inherited Members

- Public Types inherited from Tempus::StepperSubcyclingAppAction< Scalar >
enum  ACTION_LOCATION { BEGIN_STEP, END_STEP }
 Indicates the location of application action (see algorithm). More...
 

Detailed Description

template<class Scalar>
class Tempus::StepperSubcyclingObserverBase< Scalar >

Base observer for StepperSubcycling.

This class provides a means to observe values (e.g., solution variables through SolutionHistory, and stepper member data through the Stepper), and cannot modify them.

Users deriving from this class can observer a lot of data, and it is expected that users will NOT modify any of that data. If the user wishes to modify the solution and/or stepper data during the Stepper::takeStep, they should use the Modifier class (with care!).

Below is the Subcycling algorithm with the locations of the observe calls italicized.

\begin{algorithm} \renewcommand{\thealgorithm}{} \caption{Subcycling with the locations of the application actions indicated.} \begin{algorithmic}[1] \State {\it appAction.execute(solutionHistory, stepper, BEGIN\_STEP)} \State Compute $x_{n}$ from $x_{n-1}$, applying appActions from sub-steppers \State {\it appAction.execute(solutionHistory, stepper, END\_STEP)} \end{algorithmic} \end{algorithm}

Definition at line 44 of file Tempus_StepperSubcyclingObserverBase.hpp.

Member Function Documentation

template<class Scalar>
void Tempus::StepperSubcyclingObserverBase< Scalar >::execute ( Teuchos::RCP< SolutionHistory< Scalar > >  sh,
Teuchos::RCP< StepperSubcycling< Scalar > >  stepper,
const typename StepperSubcyclingAppAction< Scalar >::ACTION_LOCATION  actLoc 
)
inlineprivatevirtual

Execute application action for Subcycling Stepper.

Implements Tempus::StepperSubcyclingAppAction< Scalar >.

Definition at line 59 of file Tempus_StepperSubcyclingObserverBase.hpp.

template<class Scalar>
virtual void Tempus::StepperSubcyclingObserverBase< Scalar >::observe ( Teuchos::RCP< const SolutionHistory< Scalar > >  ,
Teuchos::RCP< const StepperSubcycling< Scalar > >  ,
const typename StepperSubcyclingAppAction< Scalar >::ACTION_LOCATION  actLoc 
)
pure virtual

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