Template Class RK45Integrator

Inheritance Relationships

Base Type

Class Documentation

template<system_state S>
class RK45Integrator : public diffeq::core::AdaptiveIntegrator<S>

RK45 (Runge-Kutta-Fehlberg 4(5)) adaptive integrator.

Fifth-order method with embedded 4th order error estimation. Popular adaptive ODE solver used in many scientific libraries.

Order: 5 (with 4th order error estimation) Stability: Good for non-stiff problems Usage: General-purpose adaptive ODE integration

Public Types

using base_type = core::AdaptiveIntegrator<S>
using state_type = typename base_type::state_type
using time_type = typename base_type::time_type
using value_type = typename base_type::value_type
using system_function = typename base_type::system_function

Public Functions

inline explicit RK45Integrator(system_function sys, time_type rtol = static_cast<time_type>(1e-6), time_type atol = static_cast<time_type>(1e-9))
inline void step(state_type &state, time_type dt) override
inline time_type adaptive_step(state_type &state, time_type dt) override