Tatooine
rungekutta43.h
Go to the documentation of this file.
1#ifndef TATOOINE_ODE_BOOST_RUNGEKUTTA43_H
2#define TATOOINE_ODE_BOOST_RUNGEKUTTA43_H
3//==============================================================================
5#include <boost/numeric/odeint/stepper/controlled_runge_kutta.hpp>
6#include <boost/numeric/odeint/stepper/runge_kutta4.hpp>
7//==============================================================================
8namespace tatooine::ode::boost {
9//==============================================================================
10template <typename Real, size_t N>
12 using stepper = ::boost::numeric::odeint::runge_kutta4<vec<Real, N>>;
13 using type = ::boost::numeric::odeint::controlled_runge_kutta<stepper>;
14};
15template <typename Real, size_t N>
17
18template <typename Real, size_t N>
19struct rungekutta43 : tatooine::ode::boost::solver<Real, N, rk43_t<Real, N>> {
20 rungekutta43(const Real absolute_error_tolerance = 1e-6,
21 const Real relative_error_tolerance = 1e-6,
22 const Real initial_stepsize = 0.01,
23 const Real a_x = 1, const Real a_dxdt = 1)
24 : tatooine::ode::boost::solver<Real, N, rk43_t<Real, N>>(
25 rk43_t<Real, N>(::boost::numeric::odeint::default_error_checker<
26 Real, ::boost::numeric::odeint::range_algebra,
27 ::boost::numeric::odeint::default_operations>(
28 absolute_error_tolerance, relative_error_tolerance, a_x,
29 a_dxdt)),
30 initial_stepsize) {}
31};
32//==============================================================================
33} // namespace tatooine::ode::boost
34//==============================================================================
35#endif
The default error checker to be used with Runge-Kutta error steppers.
Definition: controller_runge_kutta_with_domain_check.h:23
Definition: solver.h:9
Definition: controller_runge_kutta_with_domain_check.h:19
typename rk43_helper< Real, N >::type rk43_t
Definition: rungekutta43.h:16
Definition: algorithm.h:6
Definition: rungekutta43.h:11
::boost::numeric::odeint::controlled_runge_kutta< stepper > type
Definition: rungekutta43.h:13
::boost::numeric::odeint::runge_kutta4< vec< Real, N > > stepper
Definition: rungekutta43.h:12
Definition: rungekutta43.h:19
rungekutta43(const Real absolute_error_tolerance=1e-6, const Real relative_error_tolerance=1e-6, const Real initial_stepsize=0.01, const Real a_x=1, const Real a_dxdt=1)
Definition: rungekutta43.h:20
Definition: solver.h:22