StepperSDIRK_2Stage3rdOrder ()
Default constructor.
StepperSDIRK_2Stage3rdOrder (const Teuchos::RCP< const Thyra::ModelEvaluator < Scalar > > &appModel, const Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > &solver, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, bool useEmbedded, bool zeroInitialGuess, const Teuchos::RCP< StepperRKAppAction < Scalar > > &stepperRKAppAction, std::string gammaType="3rd Order A-stable", Scalar gamma=Scalar(0.7886751345948128))
void setGammaType (std::string gammaType)
std::string getGammaType () const
void setGamma (Scalar gamma)
Scalar getGamma () const
std::string getDescription () const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override
virtual bool isValidSetup (Teuchos::FancyOStream &out) const override
virtual void setStepperDIRKValues (Teuchos::RCP< Teuchos::ParameterList > pl)
Set StepperDIRK member data from the ParameterList.
virtual void initialize () override
Initialize after construction and changing input parameters.
virtual void setModel (const Teuchos::RCP< const Thyra::ModelEvaluator < Scalar > > &appModel) override
Set the model.
virtual void setInitialConditions (const Teuchos::RCP< SolutionHistory < Scalar > > &solutionHistory) override
Set the initial conditions and make them consistent.
virtual void setResetInitialGuess (bool reset_guess)
Set parameter so that the initial guess is reset at the beginning of each timestep.
virtual bool getResetInitialGuess () const
virtual void takeStep (const Teuchos::RCP< SolutionHistory < Scalar > > &solutionHistory) override
Take the specified timestep, dt, and return true if successful.
virtual Teuchos::RCP< Tempus::StepperState < Scalar > > getDefaultStepperState () override
Get a default (initial) StepperState .
virtual bool isExplicit () const override
virtual bool isImplicit () const override
virtual bool isExplicitImplicit () const override
virtual bool isOneStepMethod () const override
virtual bool isMultiStepMethod () const override
virtual OrderODE getOrderODE () const override
std::vector< Teuchos::RCP< Thyra::VectorBase < Scalar > > > & getStageXDot ()
Teuchos::RCP< Thyra::VectorBase < Scalar > > & getXTilde ()
virtual Scalar getAlpha (const Scalar dt) const override
Return alpha = d(xDot)/dx.
virtual Scalar getBeta (const Scalar) const override
Return beta = d(x)/dx.
virtual Scalar getAlpha (const Scalar dt, int i) const
Return alpha = d(xDot)/dx for stage i.
Teuchos::RCP< Teuchos::ParameterList > getValidParametersBasicDIRK () const
Teuchos::RCP< Teuchos::ParameterList > getValidParametersBasicImplicit () const
void setStepperImplicitValues (Teuchos::RCP< Teuchos::ParameterList > pl)
Set StepperImplicit member data from the ParameterList.
void setStepperSolverValues (Teuchos::RCP< Teuchos::ParameterList > pl)
Set solver from ParameterList.
void setSolverName (std::string i)
Set the Solver Name.
std::string getSolverName () const
Get the Solver Name.
virtual Teuchos::RCP< const Thyra::ModelEvaluator < Scalar > > getModel () const override
virtual Teuchos::RCP< const WrapperModelEvaluator < Scalar > > getWrapperModel ()
virtual void setDefaultSolver ()
virtual void setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver) override
Set solver.
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver () const override
Get solver.
const Thyra::SolveStatus< Scalar > solveImplicitODE (const Teuchos::RCP< Thyra::VectorBase < Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase < Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters < Scalar > > &p, const Teuchos::RCP< Thyra::VectorBase < Scalar > > &y=Teuchos::null, const int index=0)
Solve implicit ODE, f(x, xDot, t, p) = 0.
void evaluateImplicitODE (Teuchos::RCP< Thyra::VectorBase < Scalar > > &f, const Teuchos::RCP< Thyra::VectorBase < Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase < Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters < Scalar > > &p)
Evaluate implicit ODE residual, f(x, xDot, t, p).
virtual void setInitialGuess (Teuchos::RCP< const Thyra::VectorBase < Scalar > > initialGuess) override
Pass initial guess to Newton solver (only relevant for implicit solvers)
virtual void setZeroInitialGuess (bool zIG)
Set parameter so that the initial guess is set to zero (=True) or use last timestep (=False).
virtual bool getZeroInitialGuess () const
virtual Scalar getInitTimeStep (const Teuchos::RCP< SolutionHistory < Scalar > > &) const override
virtual std::string description () const
void setStepperValues (const Teuchos::RCP< Teuchos::ParameterList > pl)
Set Stepper member data from ParameterList.
Teuchos::RCP< Teuchos::ParameterList > getValidParametersBasic () const
Add basic parameters to Steppers ParameterList.
virtual bool isInitialized ()
True if stepper's member data is initialized.
virtual void checkInitialized ()
Check initialization, and error out on failure.
void setStepperName (std::string s)
Set the stepper name.
std::string getStepperName () const
Get the stepper name.
std::string getStepperType () const
Get the stepper type. The stepper type is used as an identifier for the stepper, and can only be set by the derived Stepper class.
virtual void setUseFSAL (bool a)
void setUseFSALTrueOnly (bool a)
void setUseFSALFalseOnly (bool a)
bool getUseFSAL () const
void setICConsistency (std::string s)
std::string getICConsistency () const
void setICConsistencyCheck (bool c)
bool getICConsistencyCheck () const
virtual Teuchos::RCP< Thyra::VectorBase < Scalar > > getStepperX ()
Get Stepper x.
virtual Teuchos::RCP< Thyra::VectorBase < Scalar > > getStepperXDot ()
Get Stepper xDot.
virtual Teuchos::RCP< Thyra::VectorBase < Scalar > > getStepperXDotDot ()
Get Stepper xDotDot.
virtual Teuchos::RCP< Thyra::VectorBase < Scalar > > getStepperXDotDot (Teuchos::RCP< SolutionState < Scalar > > state)
Get xDotDot from SolutionState or Stepper storage.
virtual Teuchos::RCP< const RKButcherTableau < Scalar > > getTableau () const
virtual Scalar getOrder () const
virtual Scalar getOrderMin () const
virtual Scalar getOrderMax () const
virtual int getNumberOfStages () const
virtual int getStageNumber () const
virtual void setStageNumber (int s)
virtual void setUseEmbedded (bool a)
virtual bool getUseEmbedded () const
virtual void setErrorNorm (const Teuchos::RCP< Stepper_ErrorNorm < Scalar > > &errCalculator=Teuchos::null)
virtual void setAppAction (Teuchos::RCP< StepperRKAppAction < Scalar > > appAction)
virtual Teuchos::RCP< StepperRKAppAction < Scalar > > getAppAction () const
virtual void setStepperRKValues (Teuchos::RCP< Teuchos::ParameterList > pl)
Set StepperRK member data from the ParameterList.
virtual Teuchos::RCP< RKButcherTableau < Scalar > > createTableau (Teuchos::RCP< Teuchos::ParameterList > pl)
template<class Scalar>
class Tempus::StepperSDIRK_2Stage3rdOrder< Scalar >
SDIRK 2 Stage 3rd order.
The tableau (order=2 or 3) is
The default value is .
Reference: E. Hairer, S. P. Norsett, and G. Wanner, Solving Ordinary Differential Equations I: Nonstiff Problems, 2nd Revised Edition, Table 7.2, pg 207.
See StepperDIRK for additional details.
Definition at line 2617 of file Tempus_StepperRKButcherTableau.hpp .