Tempus  Version of the Day
Time Integration
Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar > Class Template Reference

SDIRK 2 Stage 3rd order. More...

#include <Tempus_RKButcherTableau.hpp>

Inheritance diagram for Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >:
Tempus::RKButcherTableau< Scalar >

Public Member Functions

 SDIRK2Stage3rdOrder_RKBT ()
 
void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &pList)
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
 
virtual std::string description () const
 
- Public Member Functions inherited from Tempus::RKButcherTableau< Scalar >
virtual std::size_t numStages () const
 Return the number of stages. More...
 
virtual const Teuchos::SerialDenseMatrix< int, Scalar > & A () const
 Return the matrix coefficients. More...
 
virtual const Teuchos::SerialDenseVector< int, Scalar > & b () const
 Return the vector of quadrature weights. More...
 
virtual const Teuchos::SerialDenseVector< int, Scalar > & bstar () const
 Return the vector of quadrature weights for embedded methods. More...
 
virtual const Teuchos::SerialDenseVector< int, Scalar > & c () const
 Return the vector of stage positions. More...
 
virtual int order () const
 Return the order. More...
 
virtual int orderMin () const
 Return the minimum order. More...
 
virtual int orderMax () const
 Return the maximum order. More...
 
virtual bool isImplicit () const
 Return true if the RK method is implicit. More...
 
virtual bool isDIRK () const
 Return true if the RK method is Diagonally Implicit. More...
 
virtual bool isEmbedded () const
 Return true if the RK method has embedded capabilities. More...
 
virtual void initialize (const Teuchos::SerialDenseMatrix< int, Scalar > &A, const Teuchos::SerialDenseVector< int, Scalar > &b, const Teuchos::SerialDenseVector< int, Scalar > &c, const int order, const std::string &longDescription, bool isEmbedded=false, const Teuchos::SerialDenseVector< int, Scalar > &bstar=Teuchos::SerialDenseVector< int, Scalar >())
 
virtual void initialize (const Teuchos::SerialDenseMatrix< int, Scalar > &A, const Teuchos::SerialDenseVector< int, Scalar > &b, const Teuchos::SerialDenseVector< int, Scalar > &c, const int order, const int orderMin, const int orderMax, const std::string &longDescription, bool isEmbedded=false, const Teuchos::SerialDenseVector< int, Scalar > &bstar=Teuchos::SerialDenseVector< int, Scalar >())
 
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Private Attributes

bool thirdOrderAStable_default_
 
bool thirdOrderAStable_
 
bool secondOrderLStable_default_
 
bool secondOrderLStable_
 
Scalar gamma_default_
 
Scalar gamma_
 

Additional Inherited Members

- Protected Member Functions inherited from Tempus::RKButcherTableau< Scalar >
virtual void setDescription (std::string longD)
 
const std::string & getDescription () const
 
void set_A (const Teuchos::SerialDenseMatrix< int, Scalar > &A)
 
void set_b (const Teuchos::SerialDenseVector< int, Scalar > &b)
 
void set_c (const Teuchos::SerialDenseVector< int, Scalar > &c)
 
void set_order (const int &order)
 
void set_orderMin (const int &order)
 
void set_orderMax (const int &order)
 
void set_isImplicit ()
 
void set_isDIRK ()
 DIRK is defined as if a_ij = 0 for j>i and a_ii != 0 for at least one i. More...
 
- Protected Attributes inherited from Tempus::RKButcherTableau< Scalar >
Teuchos::RCP< Teuchos::ParameterList > rkbtPL_
 

Detailed Description

template<class Scalar>
class Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >

SDIRK 2 Stage 3rd order.

The tableau (order=2 or 3) is

\[ \begin{array}{c|c} c & A \\ \hline & b^T \end{array} \;\;\;\;\mbox{ where }\;\;\;\; \begin{array}{c|cc} \gamma & \gamma & \\ 1-\gamma & 1-2\gamma & \gamma \\ \hline & 1/2 & 1/2 \end{array} \]

\[ \gamma = \left\{ \begin{array}{cc} (2\pm \sqrt{2})/2 & \mbox{then 2nd order and L-stable} \\ (3\pm \sqrt{3})/6 & \mbox{then 3rd order and A-stable} \end{array} \right. \]

The default value is $\gamma = (3\pm \sqrt{3})/6$.

Reference: E. Hairer, S. P. Norsett, and G. Wanner, Solving Ordinary Differential Equations I: Nonstiff Problems, 2nd Revised Edition, Table 7.2, pg 207.

Definition at line 1892 of file Tempus_RKButcherTableau.hpp.

Constructor & Destructor Documentation

◆ SDIRK2Stage3rdOrder_RKBT()

template<class Scalar >
Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::SDIRK2Stage3rdOrder_RKBT ( )
inline

Definition at line 1896 of file Tempus_RKButcherTableau.hpp.

Member Function Documentation

◆ description()

template<class Scalar >
virtual std::string Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::description ( ) const
inlinevirtual

Implements Tempus::RKButcherTableau< Scalar >.

Definition at line 2012 of file Tempus_RKButcherTableau.hpp.

◆ getValidParameters()

template<class Scalar >
Teuchos::RCP<const Teuchos::ParameterList> Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::getValidParameters ( ) const
inlinevirtual

Reimplemented from Tempus::RKButcherTableau< Scalar >.

Definition at line 1987 of file Tempus_RKButcherTableau.hpp.

◆ setParameterList()

template<class Scalar >
void Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::setParameterList ( Teuchos::RCP< Teuchos::ParameterList > const &  pList)
inlinevirtual

Reimplemented from Tempus::RKButcherTableau< Scalar >.

Definition at line 1925 of file Tempus_RKButcherTableau.hpp.

Member Data Documentation

◆ gamma_

template<class Scalar >
Scalar Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::gamma_
private

Definition at line 2020 of file Tempus_RKButcherTableau.hpp.

◆ gamma_default_

template<class Scalar >
Scalar Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::gamma_default_
private

Definition at line 2019 of file Tempus_RKButcherTableau.hpp.

◆ secondOrderLStable_

template<class Scalar >
bool Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::secondOrderLStable_
private

Definition at line 2018 of file Tempus_RKButcherTableau.hpp.

◆ secondOrderLStable_default_

template<class Scalar >
bool Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::secondOrderLStable_default_
private

Definition at line 2017 of file Tempus_RKButcherTableau.hpp.

◆ thirdOrderAStable_

template<class Scalar >
bool Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::thirdOrderAStable_
private

Definition at line 2016 of file Tempus_RKButcherTableau.hpp.

◆ thirdOrderAStable_default_

template<class Scalar >
bool Tempus::SDIRK2Stage3rdOrder_RKBT< Scalar >::thirdOrderAStable_default_
private

Definition at line 2015 of file Tempus_RKButcherTableau.hpp.


The documentation for this class was generated from the following file: