Rythmos - Transient Integration for Differential Equations Version of the Day
Public Member Functions
Rythmos::IntegrationObserverBase< Scalar > Class Template Reference

Base class for strategy objects that observe and time integration by observing the stepper object. More...

#include <Rythmos_IntegrationObserverBase.hpp>

Inheritance diagram for Rythmos::IntegrationObserverBase< Scalar >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual RCP
< IntegrationObserverBase
< Scalar > > 
cloneIntegrationObserver () const =0
 Clone this integration observer if supported .
virtual void resetIntegrationObserver (const TimeRange< Scalar > &integrationTimeDomain)=0
 Reset the observer to prepair it to observe another integration.
virtual void observeCompletedTimeStep (const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfo, const int timeStepIter)=0
 Observer an integration step.

Detailed Description

template<class Scalar>
class Rythmos::IntegrationObserverBase< Scalar >

Base class for strategy objects that observe and time integration by observing the stepper object.

ToDo: Finish Implementation!

Definition at line 24 of file Rythmos_IntegrationObserverBase.hpp.


Member Function Documentation

template<class Scalar >
virtual RCP<IntegrationObserverBase<Scalar> > Rythmos::IntegrationObserverBase< Scalar >::cloneIntegrationObserver ( ) const [pure virtual]

Clone this integration observer if supported .

Here, the cloned object just has to have the ouptut strategy copied, not the complete state of the object mid way through an integration.

Implemented in Rythmos::CompositeIntegratorObserver< Scalar >, and Rythmos::ForwardResponseSensitivityComputerObserver< Scalar >.

template<class Scalar >
virtual void Rythmos::IntegrationObserverBase< Scalar >::resetIntegrationObserver ( const TimeRange< Scalar > &  integrationTimeDomain) [pure virtual]

Reset the observer to prepair it to observe another integration.

Parameters:
integrationTimeDomain[in] The time domain over which the integration will be defined.

Preconditions:

  • integrationTimeDomain.length() > 0.0
Todo:
Add initial guess as an argument

Implemented in Rythmos::CompositeIntegratorObserver< Scalar >, and Rythmos::ForwardResponseSensitivityComputerObserver< Scalar >.

template<class Scalar >
virtual void Rythmos::IntegrationObserverBase< Scalar >::observeCompletedTimeStep ( const StepperBase< Scalar > &  stepper,
const StepControlInfo< Scalar > &  stepCtrlInfo,
const int  timeStepIter 
) [pure virtual]

Observer an integration step.

Parameters:
stepper[in] The stepper object that was just stepped forward once to integrate the transient ODE/DAE equations. On the very first call and every other call, this stepper should have a finite time range for a successfull step..
stepCtrlInfo[in] The info for the actual time step that was just completed.
timeStepIter[in] The time step iteration counter. In the first call to this function, this should be timeStepIter==0 and it should be incremented on each call only once. While the concrete implementation of *this could keep track of the this counter, putting it in the argument list helps to simplify logic and helps to validate correct usage.

Warning! This function is *NOT* stateless. It should be called once and only once per time step iteration.

NOTE: The function resetIntegrationControlStrategy() must be called prior to even the first call to function.

NOTE: If isInitialTimeStep(stepper->getTimeRange(), fullTimeRange) == true then this is the first time step (where fullTimeRange was passed into resetIntegrationObserver().

NOTE: If isFinalTimeStep(stepper->getTimeRange(), fullTimeRange) == true then this is the last time step (where fullTimeRange was passed into resetIntegrationObserver().

Implemented in Rythmos::CompositeIntegratorObserver< Scalar >, and Rythmos::ForwardResponseSensitivityComputerObserver< Scalar >.


The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Friends