フィルターのクリア

ode15s slows down at reaching steady state SOLVED

2 ビュー (過去 30 日間)
Damjan Lasic
Damjan Lasic 2017 年 1 月 4 日
コメント済み: Torsten 2017 年 1 月 12 日
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 件のコメント
Damjan Lasic
Damjan Lasic 2017 年 1 月 12 日
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 2017 年 1 月 12 日
I assume you checked the Jacobian
https://de.mathworks.com/help/optim/ug/checking-validity-of-gradients-or-jacobians.html
?
Best wishes
Torsten.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by