I am using gsl v1.15

I note that ODE evolver, gsl_odeiv_evolve_apply, defined in gsl-1.15/ode-initval/evolve.c, can only decrease the step size in the integration. If I define a control function that results in an increasing step size, the evolver does not increase the step size.

For example, if the integration goes from a region where the derivative changes quickly to one where the derivative changes slowly, the step size should get larger. This is not possible, even if a control function is defined that yields a large step size.

Reviewing the source code, there is a code block like

    if (hadjust_status == GSL_ODEIV_HADJ_DEC) {
        <some stuff>

but no code block like

    if (hadjust_status == GSL_ODEIV_HADJ_INC) {
        <some other stuff>

Let me know if I can help in any way resolve the issue.

Chris Rogers

ASTeC Intense Beams Group

tel: +44 (0)1235 44 6983

Building R2,
Rutherford Appleton Laboratory,
Harwell Science and Innovation Campus,
OX11 0QX

Reply via email to