Boost logo

Boost Users :

Subject: Re: [Boost-users] [Odeint] Stiff System of differential equations
From: Karsten Ahnert (karsten.ahnert_at_[hidden])
Date: 2016-01-13 16:57:23

Hi Jules,

On 13.01.2016 21:01, jules wrote:
> Hi all,
> I am currently working with a very large set of differential equations;
> it is a disease model with 20160 classes depending on which vaccine has
> been admnistered, history of infection, and age. To solve this I have
> been using the runge_kutta_fehlber78 controlled stepper with the
> integrate_const function. There I need to set the absolute_error,
> relative_error and the step_size.

> My issue is that the results from the solver seems to depend highly on
> the step_size and whether or not an observer is provided. Since the
> solver is adaptive I feel like the results should not depend on
> step_size and they should definitely not depend on the presence of an
> observer.

How do you use the solver? Runge Kutta 78 is an adaptive stepper, but
you need to put it into the controlled_runge_kutta stepper. Furthermore,
it is not a dense output solvers. This means that the solver need to
reach to the time points where you want to observe your solution.
Therefore, it needs to change the step size from the adaptive scheme
just to reach the appropriate observation time.

Maybe should try the dopri5 or bulirsh_stoer stepper, since they can use
dense output and they should not be sensitive on the observation time
and the time step.

> My question is why would the results be related to the step_size or the
> observer? How would it be possible to get the same results regardless of
> the step_size and the presence of an observer? Could this be related to
> the system being stiff and if so how would it be possible to solve it
> (The jacobian is too complicated to calculate because of the population
> dynamics)? Any help would be appreciated.
> Many thanks,
> Jules
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at