|
template<typename Y, typename Z, std::floating_point Scalar, size_t s, std::array< std::array< Scalar, s+1 >, s+1 > butcherTableau> |
Y | RungeKuttaExplicit (const Y &y_n, const std::array< Z, s > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n) |
| Calculates explicit Runge-Kutta methods. Order is defined by the Butcher tableau.
|
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 3 >, 3 > | Heun2 |
| Butcher tableau for Heun's method (2nd order) (explicit)
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 4 >, 4 > | Heun3 |
| Butcher tableau for Heun's method (3nd order) (explicit)
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 2 >, 2 > | RK1 |
| Butcher tableau for Runge-Kutta 1st order (explicit) / (Forward) Euler method.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 3 >, 3 > | RK2 |
| Butcher tableau for Runge-Kutta 2nd order (explicit) / Explicit midpoint method.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 4 >, 4 > | RK3 |
| Butcher tableau for Runge-Kutta 3rd order (explicit) / Simpson's rule.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 5 >, 5 > | RK4 |
| Butcher tableau for Runge-Kutta 4th order (explicit)
|
|
template<typename Y, typename Z, std::floating_point Scalar, size_t s, std::array< std::array< Scalar, s+1 >, s+1 > butcherTableau>
Y NAV::ButcherTableau::RungeKuttaExplicit |
( |
const Y & | y_n, |
|
|
const std::array< Z, s > & | z, |
|
|
const Scalar & | h, |
|
|
const auto & | f, |
|
|
const auto & | constParam, |
|
|
const Scalar & | t_n ) |
|
inline |
Calculates explicit Runge-Kutta methods. Order is defined by the Butcher tableau.
- Parameters
-
[in] | y_n | State vector at time t_n |
[in] | z | Array of measurements, one for each evaluation point of the Runge Kutta |
[in] | h | Integration step in [s] |
[in] | f | Time derivative function |
[in] | constParam | Constant parameters passed to each time derivative function call |
[in] | t_n | Time t_n |
- Returns
- State vector at time t_(n+1)
Definition at line 44 of file NumericalIntegration.hpp.