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

Reply via email to