Geomi
Public Member Functions | Private Attributes | List of all members
RKMK::DiagonalStep< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M > Class Template Reference

#include <DiagonalStep.hpp>

Inheritance diagram for RKMK::DiagonalStep< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >:
Inheritance graph
[legend]
Collaboration diagram for RKMK::DiagonalStep< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >:
Collaboration graph
[legend]

Public Member Functions

 DiagonalStep (Abstract::Problem< T_LIE_ALGEBRA, T_M > &problem)
 
const NOXVector< T_LIE_ALGEBRA::DOF > makeStep (void)
 
- Public Member Functions inherited from RKMK::Abstract::Step< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >
 Step (RKMK::Abstract::Problem< T_LIE_ALGEBRA, T_M > &problem)
 
bool setCoeffs (std::vector< double > a, std::vector< double > b) const
 
void setData (T_M h_var, NOXVector< T_LIE_ALGEBRA::DOF > y0_var)
 
void setType ()
 
const char type ()
 

Private Attributes

Teuchos::RCP< Teuchos::ParameterList > m_solverParametersPtr
 
Teuchos::RCP< NOX::StatusTest::Combo > m_statusTests
 
Teuchos::RCP< NOXGroup< NOXVector< T_LIE_ALGEBRA::DOF >, T_N_INTERNAL_STAGES > > m_grp
 
Teuchos::RCP< NOX::Solver::Generic > m_solver
 

Additional Inherited Members

- Static Public Attributes inherited from RKMK::Abstract::Step< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >
static const char TYPE_UNKNOWN = 0
 
static const char TYPE_EXPLICIT = 1
 
static const char TYPE_DIAGONAL_IMPLICIT = 2
 
- Protected Attributes inherited from RKMK::Abstract::Step< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >
RKMK::StepInternals< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M > * m_internals
 
RKMK::Abstract::Problem< T_LIE_ALGEBRA, T_M > & m_problem
 
char m_type
 

Detailed Description

template<typename T_LIE_ALGEBRA, int T_N_INTERNAL_STAGES, typename T_M = double>
class RKMK::DiagonalStep< T_LIE_ALGEBRA, T_N_INTERNAL_STAGES, T_M >

This class inherits RKMK::Abstract::Step and implements a \(p\) stages diagonal implicit RKMK step, where \(p\) is the template parameter T_N_INTERNAL_STAGES. A step is diagonal implicit iff the coefficients of the Butcher tableau check \( a_{i,j}=0,\,\forall i\leq j\).

The root \(k_i\) of the equation \(k_i-f\left(h\sum_{j=1}^ia_{i,j}k_j\right)=0\) is computed for every ascending \(i\) from \(1\) to \(p\) using the NOX library. The configuration of the coefficients allows to solve for \(p\) sets of \(q\) equations instead of one set of \(p\times q\) equations, thus significantly decreasing the cost of the solver.


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