Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Logging IntegrationOberserver that counts calls to observer functions and lists their order. More...
#include <Rythmos_LoggingIntegrationObserver.hpp>
Related Functions | |
(Note that these are not member functions.) | |
template<class Scalar > | |
Teuchos::RCP < LoggingIntegrationObserver < Scalar > > | createLoggingIntegrationObserver () |
Nonmember constructor. More... | |
Overridden from IntegrationObserverBase | |
RCP< IntegrationObserverBase < Scalar > > | cloneIntegrationObserver () const |
Clone this integration observer if supported . More... | |
void | resetIntegrationObserver (const TimeRange< Scalar > &integrationTimeDomain) |
Reset the observer to prepair it to observe another integration. More... | |
void | observeStartTimeIntegration (const StepperBase< Scalar > &stepper) |
Observe the beginning of a time integration loop. More... | |
void | observeEndTimeIntegration (const StepperBase< Scalar > &stepper) |
Observe the end of a time integration loop. More... | |
void | observeStartTimeStep (const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfo, const int timeStepIter) |
Observer the beginning of an integration step. More... | |
void | observeCompletedTimeStep (const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfo, const int timeStepIter) |
Observe a successfully completed integration step. More... | |
void | observeFailedTimeStep (const StepperBase< Scalar > &stepper, const StepControlInfo< Scalar > &stepCtrlInfo, const int timeStepIter) |
Observer a failed integration step. More... | |
Additional Inherited Members |
Logging IntegrationOberserver that counts calls to observer functions and lists their order.
Definition at line 44 of file Rythmos_LoggingIntegrationObserver.hpp.
|
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.
Implements Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 171 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Reset the observer to prepair it to observe another integration.
integrationTimeDomain | [in] The time domain over which the integration will be defined. |
Preconditions:
integrationTimeDomain.length() > 0.0
Implements Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 182 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Observe the beginning of a time integration loop.
stepper | [in] The stepper object. |
Warning! This function is NOT stateless. It should be called once and only once at the beginning of getFwdPoints().
NOTE: The function resetIntegrationControlStrategy()
must be called prior to even the first call to function.
NOTE: This method should be pure virtual but has been given a default implementation for backwards compatibility. We will make this pure virtual in the future.
Reimplemented from Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 189 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Observe the end of a time integration loop.
stepper | [in] The stepper object. |
Warning! This function is NOT stateless. It should be called once and only once at the end of getFwdPoints().
NOTE: The function resetIntegrationControlStrategy()
must be called prior to even the first call to function.
NOTE: This method should be pure virtual but has been given a default implementation for backwards compatibility. We will make this pure virtual in the future.
Reimplemented from Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 196 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Observer the beginning of an integration step.
stepper | [in] The stepper object. |
stepCtrlInfo | [in] The info for the time step about to be taken. |
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 at the beginning of each time step.
NOTE: The function resetIntegrationControlStrategy()
must be called prior to even the first call to function.
NOTE: This method should be pure virtual but has been given a default implementation for backwards compatibility. We will make this pure virtual in the future.
Reimplemented from Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 202 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Observe a successfully completed integration step.
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()
.
Implements Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 212 of file Rythmos_LoggingIntegrationObserver.hpp.
|
virtual |
Observer a failed integration step.
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 attempted. |
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 failed 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()
.
NOTE: This method should be pure virtual but has been given a default implementation for backwards compatibility. We will make this pure virtual in the future.
Reimplemented from Rythmos::IntegrationObserverBase< Scalar >.
Definition at line 222 of file Rythmos_LoggingIntegrationObserver.hpp.
|
related |
Nonmember constructor.
Definition at line 128 of file Rythmos_LoggingIntegrationObserver.hpp.