KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Butcher tableau for Runge-Kutta method. More...
#include <butcher_tableau.h>
Public Member Functions | |
Life Cycle | |
virtual | ~ButcherTableau ()=default |
Destructor. More... | |
Operations | |
std::tuple< RowType::const_iterator, RowType::const_iterator > | GetMatrixRow (const unsigned int SubStepIndex) const |
RowType::const_iterator | GetMatrixRowBegin (const unsigned int SubStepIndex) const |
RowType::const_iterator | GetMatrixRowEnd (const unsigned int SubStepIndex) const |
constexpr const VectorType & | GetWeights () const |
constexpr double | GetIntegrationTheta (const unsigned int SubStepIndex) const |
Protected Attributes | |
Protected member Variables | |
const MatrixType | mA = Derived::GenerateRKMatrix() |
const VectorType | mB = Derived::GenerateWeights() |
const VectorType | mC = Derived::GenerateThetasVector() |
Type Definitions | |
using | VectorType = std::vector< double > |
using | RowType = std::vector< double > |
using | MatrixType = std::vector< RowType > |
static constexpr unsigned int | Order () |
static constexpr unsigned int | SubstepCount () |
Input and output | |
static std::string | Name () |
virtual std::string | Info () const =0 |
Butcher tableau for Runge-Kutta method.
Contains all info necessary of a particular RK method. It specifies the coefficients of the particular Runge-Kutta method.
using Kratos::ButcherTableau< Derived, TOrder, TSubstepCount >::MatrixType = std::vector<RowType> |
using Kratos::ButcherTableau< Derived, TOrder, TSubstepCount >::RowType = std::vector<double> |
using Kratos::ButcherTableau< Derived, TOrder, TSubstepCount >::VectorType = std::vector<double> |
|
virtualdefault |
Destructor.
|
inlineconstexpr |
|
inline |
The runge kutta must perform for all substeps 1...N-1:
du^(i) = dt * A_ij*k_j
This method return the coefficients A_i[1...i]. The rest of coefficients A_i[i+1...n] are skipped. This is they are always zero for explicit Runge-Kutta.
SubstepIndex | The i in the formula (the row of the matrix). Note that it counts from 1 to n. |
rK | The k in the formula (the reaction) |
|
inline |
|
inline |
|
inlineconstexpr |
|
pure virtual |
|
inlinestatic |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
protected |
|
protected |
|
protected |