Mon 20 Apr 2009 07:29:48 PM UTC, original submission:
From: Taneli Kalvas <taneli.kalvas@jyu.fi>
To: -unavailable-
Subject: [Bug-gsl] Bug in odeiv integrator
Date: Wed, 15 Apr 2009 22:47:08 +0300
Hi!
The behaviour of gsl_odeiv_evolve_apply() differs from documentation.
The documentation says:
"If the user-supplied functions defined in the system dydt return a
status other than GSL_SUCCESS the step will be aborted. In this case, t
and y will be restored to their pre-step values and the error code from
the user-supplied function will be returned."
The y values are restored, but the t value is not. This happens in case,
where the control function has first rejected a step because of too
large error and when taking a new step, the user function returns an
error.
It is easy to get around this problem by resetting the t in case of user
function errors, so this is easy to fix, but I hope the problem would be
fixed internally in gsl_odeiv_evolve_apply() to prevent further headaches.
Thanks and best regards,
Taneli Kalvas
--
Taneli Kalvas
M.Sc., Researcher
Physics Department, room FL114
P.O. Box 35 (YFL)
40014 University of Jyväskylä, Finland
Phone: +358-44-314-1602
Fax: +358-14-260-2351
Email: -unavailable-
|