10 #ifndef Tempus_IntegratorObserverSubcycling_impl_hpp
11 #define Tempus_IntegratorObserverSubcycling_impl_hpp
13 #include "Tempus_Stepper.hpp"
17 template <
class Scalar>
22 template <
class Scalar>
27 template <
class Scalar>
34 *out <<
"\n Begin Subcycling "
35 "-------------------------------------------------------\n";
41 template <
class Scalar>
47 template <
class Scalar>
53 template <
class Scalar>
59 template <
class Scalar>
65 template <
class Scalar>
71 template <
class Scalar>
78 if ((cs->getOutputScreen() ==
true) || (cs->getOutput() ==
true) ||
87 *out << std::scientific << std::setw(6) << std::setprecision(3)
88 << cs->getIndex() << std::setw(11) << std::setprecision(3)
89 << cs->getTime() << std::setw(11) << std::setprecision(3)
90 << cs->getTimeStep() << std::setw(11) << std::setprecision(3)
91 << cs->getErrorAbs() << std::setw(11) << std::setprecision(3)
92 << cs->getErrorRel() << std::fixed << std::setw(7)
93 << std::setprecision(1) << cs->getOrder() << std::scientific
94 << std::setw(7) << std::setprecision(3) << cs->getNFailures()
95 << std::setw(11) << std::setprecision(3) << steppertime << std::endl;
99 template <
class Scalar>
106 *out <<
" End Subcycling "
107 "---------------------------------------------------------\n\n";
111 #endif // Tempus_IntegratorObserverSubcycling_impl_hpp
virtual void observeEndIntegrator(const Integrator< Scalar > &integrator) override
Observe the end of the time integrator.
virtual Teuchos::RCP< Teuchos::Time > getStepperTimer() const =0
virtual void observeBeforeTakeStep(const Integrator< Scalar > &integrator) override
Observe before Stepper takes step.
virtual void observeAfterTakeStep(const Integrator< Scalar > &integrator) override
Observe after Stepper takes step.
virtual Teuchos::RCP< const TimeStepControl< Scalar > > getTimeStepControl() const =0
Returns the TimeStepControl for this Integrator.
virtual void observeAfterCheckTimeStep(const Integrator< Scalar > &integrator) override
virtual void observeStartTimeStep(const Integrator< Scalar > &integrator) override
Observe the beginning of the time step loop.
virtual ~IntegratorObserverSubcycling()
Destructor.
basic_FancyOStream & setOutputToRootOnly(const int rootRank)
virtual void observeStartIntegrator(const Integrator< Scalar > &integrator) override
Observe the beginning of the time integrator.
virtual void observeNextTimeStep(const Integrator< Scalar > &integrator) override
Observe after the next time step size is selected.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
IntegratorObserverSubcycling()
Constructor.
double totalElapsedTime(bool readCurrentTime=false) const
virtual RCP< FancyOStream > getOStream() const
virtual void observeEndTimeStep(const Integrator< Scalar > &integrator) override
Observe the end of the time step loop.
virtual Teuchos::RCP< const SolutionHistory< Scalar > > getSolutionHistory() const =0
Returns the SolutionHistory for this Integrator.