Template Class RK23Integrator

Inheritance Relationships

Base Type

Class Documentation

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

RK23 (Bogacki-Shampine) adaptive integrator.

Second-order method with third-order error estimation. Good for problems that don’t require high accuracy. Lower computational cost than RK45.

Order: 2(3) - 2nd order method with 3rd order error estimation Stages: 4 Adaptive: Yes

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 RK23Integrator(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