Math and numerics: Odeint - problem with adaptive step size
I’m a moderately experienced C++ programmer using Visual Studio 2017, but I’m new to using the boost odeint library.
I’m trying to integrate the Hodgkin-Huxley equations, which are a set of ODEs that describe the generation of nerve impulse. The output should be a time-series waveform which is mainly flat but with occasional spikes in it.
I have a functor HH which works fine with a standard fixed-step Runge-Kutta routine
I certainly don’t understand how the boost code works under the hood, but I wondered if anyone could suggest a change in my calling code that might make it work? I have hand-crafted some adaptive step size code which works OK (and does run faster than the fixed step size), but it is a bit of a kludge and I would rather use code developed by people who actually understand the maths.
For reasons of brevity I haven’t put the HH code in this message, but could do if it would help.
Thanks for any help
Dr W J Heitler
School of Biology
University of St Andrews