|
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::Heun2Quat (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) with Quaternion as last entry in state.
|
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::Heun3Quat (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) with Quaternion as last entry in state.
|
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::RungeKutta1Quat (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 with Quaternion as last entry in state.
|
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::RungeKutta2Quat (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 with Quaternion as last entry in state.
|
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::RungeKutta3Quat (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 with Quaternion as last entry in state.
|
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> |
Y | NAV::RungeKutta4Quat (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) with Quaternion as last entry in state.
|
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 Derived, typename Z, std::floating_point Scalar, size_t s, std::array< std::array< Scalar, s+1 >, s+1 > butcherTableau> |
Derived::PlainObject | NAV::ButcherTableau::RungeKuttaExplicitQuat (const Eigen::MatrixBase< Derived > &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)
|