Hi,
On 09/03/2010 12:46 PM, Sergey B Kirpichev wrote:
On 9/3/10, Tuomo Keskitalo<[email protected]> wrote:
Please see function gsl_odeiv2_evolve_apply in evolve.c. If step_apply
returns with a failure, then a smaller step size is attempted. evolve_apply
tries hard to make a step forward, even if it has to use a smaller step size
than the user or previous step suggested.
Please explain, why this smaller step was attempted. Where the step
size is decremented?
In ode-initval2/evolve.c starting from line 186. Failure of a step can
be due to e.g. local error of the step being larger than desired error
level (too large step size), approaching a singularity or discontinuity,
or domain error in the user function. Whatever the reason, evolve_apply
tries to advance with a smaller step size.
I really think the best way to add evolution with a constant step size
to GSL ode-initval framework is to make a separate evolve_apply routine
for it. This new routine should probably return an error code if the
local error of the step exceeds the desired error level.
BR,
Tuomo
--
[email protected]
http://iki.fi/tuomo.keskitalo
_______________________________________________
Bug-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gsl