10#ifndef Tempus_StepperHHTAlpha_decl_hpp
11#define Tempus_StepperHHTAlpha_decl_hpp
13#include "Tempus_config.hpp"
14#include "Tempus_StepperImplicit.hpp"
15#include "Tempus_WrapperModelEvaluatorSecondOrder.hpp"
45template <
class Scalar>
58 const Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >& solver,
59 bool useFSAL, std::string ICConsistency,
bool ICConsistencyCheck,
60 bool zeroInitialGuess, std::string schemeName, Scalar beta, Scalar gamma,
63 stepperHHTAlphaAppAction);
73 virtual Teuchos::RCP<StepperHHTAlphaAppAction<Scalar> >
getAppAction()
const
114 return Scalar(1.0) / (
beta_ * dt * dt);
122 virtual Scalar
getBeta(
const Scalar)
const {
return Scalar(1.0); }
128 virtual void describe(Teuchos::FancyOStream& out,
129 const Teuchos::EVerbosityLevel verbLevel)
const;
132 virtual bool isValidSetup(Teuchos::FancyOStream& out)
const;
137 const Scalar dt)
const;
143 const Scalar dt)
const;
157 const Scalar dt)
const;
162 const Scalar dt)
const;
187 Teuchos::RCP<Teuchos::FancyOStream>
out_;
192template <
class Scalar>
195 Teuchos::RCP<Teuchos::ParameterList> pl);
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Application Action for HHT Alpha.
void predictDisplacement(Thyra::VectorBase< Scalar > &dPred, const Thyra::VectorBase< Scalar > &d, const Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const
virtual Scalar getW_xDotDot_coeff(const Scalar dt) const
Return W_xDotxDot_coeff = d(xDotDot)/d(x).
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
void predictVelocity(Thyra::VectorBase< Scalar > &vPred, const Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const
virtual bool isExplicitImplicit() const
void correctAcceleration(Thyra::VectorBase< Scalar > &a_n_plus1, const Thyra::VectorBase< Scalar > &a_n) const
void setAlphaF(Scalar alpha_f)
void setBeta(Scalar beta)
Teuchos::RCP< StepperHHTAlphaAppAction< Scalar > > stepperHHTAlphaAppAction_
virtual Scalar getBeta() const
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Set the model.
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void correctVelocity(Thyra::VectorBase< Scalar > &v, const Thyra::VectorBase< Scalar > &vPred, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const
void setGamma(Scalar gamma)
void correctDisplacement(Thyra::VectorBase< Scalar > &d, const Thyra::VectorBase< Scalar > &dPred, const Thyra::VectorBase< Scalar > &a, const Scalar dt) const
virtual std::string getSchemeName() const
virtual bool isMultiStepMethod() const
virtual Scalar getOrderMax() const
virtual bool isExplicit() const
virtual Teuchos::RCP< StepperHHTAlphaAppAction< Scalar > > getAppAction() const
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
virtual void setAppAction(Teuchos::RCP< StepperHHTAlphaAppAction< Scalar > > appAction)
virtual Scalar getOrder() const
void predictDisplacement_alpha_f(Thyra::VectorBase< Scalar > &dPred, const Thyra::VectorBase< Scalar > &d) const
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &)
Set the initial conditions and make them consistent.
virtual Scalar getOrderMin() const
virtual Scalar getAlphaF() const
void predictVelocity_alpha_f(Thyra::VectorBase< Scalar > &vPred, const Thyra::VectorBase< Scalar > &v) const
virtual OrderODE getOrderODE() const
StepperHHTAlpha()
Default constructor.
void setAlphaM(Scalar alpha_m)
virtual bool isImplicit() const
virtual bool isOneStepMethod() const
Teuchos::RCP< Teuchos::FancyOStream > out_
virtual Scalar getBeta(const Scalar) const
Return beta = d(x)/d(x).
void setSchemeName(std::string schemeName)
virtual Scalar getAlpha(const Scalar dt) const
Return alpha = d(xDot)/d(x).
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
virtual Scalar getGamma() const
virtual Scalar getAlphaM() const
void validateSchemeParameters() const
Validate final scheme parameters and emit any consistency warnings.
Thyra Base interface for implicit time steppers.
Teuchos::RCP< StepperHHTAlpha< Scalar > > createStepperHHTAlpha(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
@ SECOND_ORDER_ODE
Stepper integrates second-order ODEs.