Effacer les filtres
Effacer les filtres

ode15s slows down at reaching steady state SOLVED

2 vues (au cours des 30 derniers jours)
Damjan Lasic
Damjan Lasic le 4 Jan 2017
Commenté : Torsten le 12 Jan 2017
I'm solving a system of rather stiff equation describing a microkinetic model of methanol formation (30 species, ~70 reactions and vastly different rate constants).
I'm achieving satisfactory speeds of the ode15s solver during simulation since i started using an analitycal jacobian (tremendous increase in speed and stability of the solver). However, as the solution approaches steady state, the solver reduces the speed greatly and gets stuck. When using just the right time interval to get to reduction part, the ratio of sucessful and failed attempts reported increases drastically.
I'm not sure what's causing this behaviour. Is anyone else experiencing similar problems? When using numerical estimation of the jacobian, the solver always speeded up when steady state was reached. Has this something to do with numerical fluctuations in steady state due to floating point number rounding?
Any insight or help would be much appreciated.
EDIT: The problem was fixed by reducing the absolute tolerance of the solver.
  3 commentaires
Damjan Lasic
Damjan Lasic le 12 Jan 2017
If no Jacobian was provided, the simulation ran with increasingly big time steps after steady state was reached without a problem.
Anyway, i managed to "fix" this by changing the tolerances, so the problem is gone. Still don't really understand the mechanism though.
Torsten
Torsten le 12 Jan 2017
I assume you checked the Jacobian
https://de.mathworks.com/help/optim/ug/checking-validity-of-gradients-or-jacobians.html
?
Best wishes
Torsten.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by