9 #ifndef Tempus_IntegratorBasicOld_decl_hpp 10 #define Tempus_IntegratorBasicOld_decl_hpp 12 #include "Thyra_ModelEvaluator.hpp" 14 #include "Tempus_config.hpp" 15 #include "Tempus_Stepper.hpp" 17 #include "Tempus_TimeStepControl.hpp" 18 #include "Tempus_IntegratorObserverBasic.hpp" 19 #include "Tempus_IntegratorObserverComposite.hpp" 20 #include "Teuchos_ParameterListAcceptorDefaultBase.hpp" 28 template<
class Scalar>
31 virtual public Teuchos::ParameterListAcceptor
37 Teuchos::RCP<Teuchos::ParameterList> pList,
43 std::string stepperType);
50 Teuchos::RCP<Teuchos::ParameterList> pList,
61 virtual bool advanceTime(
const Scalar timeFinal)
override;
74 Teuchos::RCP<Teuchos::ParameterList> pl)
override 77 if (pl != Teuchos::null) *
tempusPL_ = *pl;
84 virtual Scalar
getTime()
const override 96 virtual Teuchos::RCP<Stepper<Scalar> >
getStepper()
const override 131 virtual Teuchos::RCP<IntegratorObserverComposite<Scalar> >
getObserver()
146 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getX()
const 149 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDot()
const 152 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDotDot()
const 169 {
return integratorPL_->get<
int>(
"Screen Output Index Interval"); }
175 {
return integratorPL_->get<std::string>(
"Screen Output Index List",
""); }
194 void describe(Teuchos::FancyOStream & out,
195 const Teuchos::EVerbosityLevel verbLevel)
const override;
222 template<
class Scalar>
224 Teuchos::RCP<Teuchos::ParameterList> pList,
228 template<
class Scalar>
231 std::string stepperType);
234 template<
class Scalar>
238 template<
class Scalar>
240 Teuchos::RCP<Teuchos::ParameterList> pList,
246 #endif // Tempus_IntegratorBasicOld_decl_hpp IntegratorBasicOld()
Constructor that requires a subsequent setParameterList, setStepper, and initialize calls...
void parseScreenOutput()
Parse when screen output should be executed.
virtual void setScreenOutputIndexInterval(int i)
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList() override
virtual std::string getScreenOutputIndexList() const
virtual Teuchos::RCP< Stepper< Scalar > > getStepper() const override
Get the Stepper.
Teuchos::RCP< Teuchos::ParameterList > tempusPL_
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList() override
Teuchos::RCP< Teuchos::Time > integratorTimer_
virtual Teuchos::RCP< const SolutionHistory< Scalar > > getSolutionHistory() const override
Get the SolutionHistory.
virtual Teuchos::RCP< SolutionHistory< Scalar > > getNonConstSolutionHistory() override
Get the SolutionHistory.
virtual Teuchos::RCP< TimeStepControl< Scalar > > getNonConstTimeStepControl() override
Teuchos::RCP< Teuchos::ParameterList > getIntegratorParameterList()
virtual Teuchos::RCP< const TimeStepControl< Scalar > > getTimeStepControl() const override
Get the TimeStepControl.
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override
Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory_
virtual void initializeSolutionHistory(Teuchos::RCP< SolutionState< Scalar > > state=Teuchos::null)
Set the initial state which has the initial conditions.
Teuchos::RCP< Teuchos::Time > stepperTimer_
Thyra Base interface for time steppers.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const override
Create valid IntegratorBasicOld ParameterList.
virtual void setObserver(Teuchos::RCP< IntegratorObserver< Scalar > > obs=Teuchos::null)
Set the Observer.
virtual Teuchos::RCP< Teuchos::Time > getIntegratorTimer() const override
Returns the IntegratorTimer_ for this Integrator.
virtual void checkTimeStep()
Check if time step has passed or failed.
Teuchos::RCP< TimeStepControl< Scalar > > timeStepControl_
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDot() const
Get current the time derivative of the solution, xdot.
Teuchos::RCP< IntegratorObserverComposite< Scalar > > integratorObserver_
virtual void setStepperWStepper(Teuchos::RCP< Stepper< Scalar > > stepper)
Set the Stepper.
virtual void setStatus(const Status st) override
Set Status.
virtual Teuchos::RCP< Teuchos::ParameterList > getTempusParameterList() override
Return a copy of the Tempus ParameterList.
Status
Status for the Integrator, the Stepper and the SolutionState.
virtual Teuchos::RCP< Teuchos::Time > getStepperTimer() const override
IntegratorObserver class for time integrators.
Teuchos::RCP< Teuchos::ParameterList > integratorPL_
virtual Teuchos::RCP< IntegratorObserverComposite< Scalar > > getObserver()
Get the Observer.
virtual int getIndex() const override
Get current index.
std::string description() const override
TimeStepControl manages the time step size. There several mechanisms that effect the time step size a...
Teuchos::RCP< Stepper< Scalar > > stepper_
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDotDot() const
Get current the second time derivative of the solution, xdotdot.
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual void setTimeStepControl(Teuchos::RCP< TimeStepControl< Scalar > > tsc=Teuchos::null)
Set the TimeStepControl.
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getX() const
Get current the solution, x.
virtual int getScreenOutputIndexInterval() const
virtual void setTempusParameterList(Teuchos::RCP< Teuchos::ParameterList > pl) override
virtual void initialize()
Initializes the Integrator after set* function calls.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
virtual Teuchos::RCP< SolutionState< Scalar > > getCurrentState()
Get current state.
virtual ~IntegratorBasicOld()
Destructor.
virtual void setScreenOutputIndexList(std::string s)
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl) override
virtual Scalar getTime() const override
Get current time.
virtual Status getStatus() const override
Get Status.
virtual void startTimeStep()
Start time step.
virtual void setSolutionHistory(Teuchos::RCP< SolutionHistory< Scalar > > sh=Teuchos::null)
Set the SolutionHistory.
virtual void startIntegrator()
Perform tasks before start of integrator.
virtual void setStepper(Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > model)
Set the Stepper.
virtual void endIntegrator()
Perform tasks after end of integrator.
Teuchos::RCP< IntegratorBasicOld< Scalar > > integratorBasic(Teuchos::RCP< Teuchos::ParameterList > pList, const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model)
Nonmember constructor.
virtual bool advanceTime()
Advance the solution to timeMax, and return true if successful.
Solution state for integrators and steppers. SolutionState contains the metadata for solutions and th...
std::vector< int > outputScreenIndices_
Vector of screen output indices.