Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tempus::GeneralDIRK_RKBT< Scalar > Class Template Reference

General Implicit Runge-Kutta Butcher Tableau. More...

#include <Tempus_RKButcherTableau.hpp>

Inheritance diagram for Tempus::GeneralDIRK_RKBT< Scalar >:
Tempus::General_RKButcherTableau< Scalar > Tempus::RKButcherTableau< Scalar >

Public Member Functions

 GeneralDIRK_RKBT ()
 
virtual std::string description () const
 
void setParameterList (Teuchos::RCP< Teuchos::ParameterList > const &pList)
 
Teuchos::RCP< const
Teuchos::ParameterList > 
getValidParameters () 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
 

Additional Inherited Members

- Protected Member Functions inherited from Tempus::General_RKButcherTableau< Scalar >
void parseGeneralPL (Teuchos::RCP< Teuchos::ParameterList > const &pList)
 
- 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::GeneralDIRK_RKBT< Scalar >

General Implicit Runge-Kutta Butcher Tableau.

The format of the Butcher Tableau parameter list is

  <Parameter name="A" type="string" value="# # # ;
                                           # # # ;
                                           # # #">
  <Parameter name="b" type="string" value="# # #">
  <Parameter name="c" type="string" value="# # #">

Note the number of stages is implicit in the number of entries. The number of stages must be consistent.

Default tableau is "SDIRK 2 Stage 2nd order":

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

where $\gamma = (2\pm \sqrt{2})/2$. This will produce an L-stable 2nd order method.

Reference: U. M. Ascher and L. R. Petzold, Computer Methods for ODEs and DAEs, p. 106.

Definition at line 1617 of file Tempus_RKButcherTableau.hpp.

Constructor & Destructor Documentation

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

Definition at line 1621 of file Tempus_RKButcherTableau.hpp.

Member Function Documentation

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

Implements Tempus::RKButcherTableau< Scalar >.

Definition at line 1648 of file Tempus_RKButcherTableau.hpp.

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

Reimplemented from Tempus::RKButcherTableau< Scalar >.

Definition at line 1658 of file Tempus_RKButcherTableau.hpp.

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

Reimplemented from Tempus::RKButcherTableau< Scalar >.

Definition at line 1650 of file Tempus_RKButcherTableau.hpp.


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