|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::Heun2 (const Y &y_n, const std::array< Z, 2 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| Heun's method (2nd order) (explicit) .
|
|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::Heun3 (const Y &y_n, const std::array< Z, 3 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| Heun's method (3nd order) (explicit) .
|
|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::RungeKutta1 (const Y &y_n, const std::array< Z, 1 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| Runge-Kutta 1st order (explicit) / (Forward) Euler method .
|
|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::RungeKutta2 (const Y &y_n, const std::array< Z, 2 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| Runge-Kutta 2nd order (explicit) / Explicit midpoint method .
|
|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::RungeKutta3 (const Y &y_n, const std::array< Z, 3 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| Runge-Kutta 3rd order (explicit) / Simpson's rule .
|
|
template<typename Y, typename Z, std::floating_point Scalar> |
Y | NAV::RungeKutta4 (const Y &y_n, const std::array< Z, 4 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0) |
| 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) |
| Calculates explicit Runge-Kutta methods. Order is defined by the Butcher tableau.
|
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 3 >, 3 > | NAV::ButcherTableau::Heun2 |
| Butcher tableau for Heun's method (2nd order) (explicit)
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 4 >, 4 > | NAV::ButcherTableau::Heun3 |
| Butcher tableau for Heun's method (3nd order) (explicit)
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 2 >, 2 > | NAV::ButcherTableau::RK1 |
| Butcher tableau for Runge-Kutta 1st order (explicit) / (Forward) Euler method.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 3 >, 3 > | NAV::ButcherTableau::RK2 |
| Butcher tableau for Runge-Kutta 2nd order (explicit) / Explicit midpoint method.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 4 >, 4 > | NAV::ButcherTableau::RK3 |
| Butcher tableau for Runge-Kutta 3rd order (explicit) / Simpson's rule.
|
|
template<typename Scalar> |
constexpr std::array< std::array< Scalar, 5 >, 5 > | NAV::ButcherTableau::RK4 |
| Butcher tableau for Runge-Kutta 4th order (explicit)
|
|
Provides Numerical integration methods.
- Author
- T. Topp (topp@.nosp@m.ins..nosp@m.uni-s.nosp@m.tutt.nosp@m.gart..nosp@m.de)
- Date
- 2023-12-11
Definition in file NumericalIntegration.hpp.