boostorg / odeint

Boost.odeint
Boost Software License 1.0
44 stars 54 forks source link

Version 2 of controlled_runge_kutta::try_step for FSAL steppers does not compile #72

Open reneSchm opened 8 months ago

reneSchm commented 8 months ago

Hi! I want to use controlled_runge_kutta with runge_kutta_dopri5 and get the output of try_step regardless of its success, but version 2 of try_step does not compile. The error seems to be a missing argument here, since in the FSAL version there is no try_step method that takes six arguments.

I think the intention was to call version 4 here, so a possible fix would be to use m_dxdt also as dxdt_out, i.e. change the line (controlled_runge_kutta.hpp:685) to

return try_step( system , in , m_dxdt.m_v , t , out , m_dxdt.m_v , dt );

This does compile, and it produces correct results for single steps. However, I did not check if overwriting m_dxdt.m_v has any unwanted side effects for repeated stepping.