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@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users