9 #ifndef Tempus_StepperTrapezoidal_decl_hpp 10 #define Tempus_StepperTrapezoidal_decl_hpp 12 #include "Tempus_StepperImplicit.hpp" 31 template<
class Scalar>
38 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel,
39 Teuchos::RCP<Teuchos::ParameterList> pList = Teuchos::null);
68 virtual void setInitialGuess(Teuchos::RCP<
const Thyra::VectorBase<Scalar> > initial_guess)
72 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDotTemp(
73 Teuchos::RCP<Thyra::VectorBase<Scalar> > x);
87 virtual void describe(Teuchos::FancyOStream & out,
88 const Teuchos::EVerbosityLevel verbLevel)
const;
114 template <
typename Scalar>
122 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOld,
123 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xDotOld)
131 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > x,
132 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDot,
133 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDotDot = Teuchos::null)
135 xDotDot = Teuchos::null;
137 Thyra::V_StVpStV(xDot.ptr(),
s_,*x,-
s_,*
xOld_);
138 Thyra::V_VpStV (xDot.ptr(),*xDot,-1.0,*
xDotOld_);
142 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOld,
143 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xDotOld)
149 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xOld_;
150 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xDotOld_;
156 #endif // Tempus_StepperTrapezoidal_decl_hpp virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
Trapezoidal method time stepper.
StepperTrapezoidalTimeDerivative(Scalar s, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xOld, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xDotOld)
Constructor.
virtual void initialize(Scalar s, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xOld, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xDotOld)
virtual Scalar getOrder() const
Teuchos::RCP< StepperObserver< Scalar > > stepperObserver_
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getXDotTemp(Teuchos::RCP< Thyra::VectorBase< Scalar > > x)
Provide temporary xDot memory for Stepper if SolutionState doesn't.
Teuchos::RCP< Teuchos::ParameterList > getDefaultParameters() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
virtual std::string description() const
Teuchos::RCP< StepperTrapezoidalObserver< Scalar > > stepperTrapObserver_
virtual bool isMultiStepMethod() const
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xDotOld_
virtual bool isExplicitImplicit() const
StepperTrapezoidal()
Default Constructor – not allowed.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Teuchos::RCP< Stepper< Scalar > > predictorStepper_
Thyra Base interface for implicit time steppers.
virtual void compute(Teuchos::RCP< const Thyra::VectorBase< Scalar > > x, Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot, Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot=Teuchos::null)
Compute the time derivative.
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess)
Pass initial guess to Newton solver (only relevant for explicit schemes)
Teuchos::RCP< const Thyra::VectorBase< Scalar > > xOld_
Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess_
virtual void initialize()
Initialize during construction and after changing input parameters.
StepperObserver class for Stepper class.
Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory(Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null)
Nonmember constructor.
Time-derivative interface for Trapezoidal method.
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual bool isExplicit() const
This interface defines the time derivative connection between an implicit Stepper and WrapperModelEva...
virtual ~StepperTrapezoidalTimeDerivative()
Destructor.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
virtual void setObserver(Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null)
Set Observer.
virtual bool isImplicit() const
virtual Scalar getOrderMax() const
virtual Scalar getOrderMin() const
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotTemp_
virtual bool isOneStepMethod() const