0.4.1
Loading...
Searching...
No Matches
NumericalIntegration.hpp File Reference

Provides Numerical integration methods. More...

Go to the source code of this file.

Namespaces

namespace  NAV
 
namespace  NAV::ButcherTableau
 

Functions

template<typename Y, typename Z, std::floating_point Scalar>
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>
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>
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>
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>
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>
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>
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.
 

Variables

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)
 

Detailed Description

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.