The manual has the following comment and suggestion for ODE evolve:

Evolving the system directly through a discontinuity with a strict tolerance may result in extremely small steps being taken at the edge of the discontinuity (e.g. down to the limit of machine precision). In this case it may be necessary to impose a minimum step size hmin suitable for the problem:

     while (t < t1)
     {
        gsl_odeiv_evolve_apply (e, c, s, &sys, &t, t1, &h, y);
        if (h < hmin) { h = hmin; } ;
     }

The value of h returned by gsl_odeiv_evolve_apply is always a suggested value and can be modified whenever needed.

--

I find that this is untrue as gsl_odeiv_evolve_apply will use the control function to modify the step size. The starting h is only a suggestion to the function. This example is wrong as it will not force a minimum.

Still... it would be nice to have a possibility for forcing a minimum step size.

Taneli

--
Taneli Kalvas
M.Sc., Researcher
Department of Physics, room FL114
P.O. Box 35 (YFL)
40014 University of Jyväskylä, Finland
Phone:  +358-14-260-2456
Mobile: +358-44-314-1602
Fax:    +358-14-260-2351
Email:  [email protected]

_______________________________________________
Bug-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gsl

Reply via email to