In solving a large system of ODEs I found that Method->ExplicitRungeKutta
(also Automatic
as a matter of fact) is fast, but often unstable. I tried the option Method->ImplicitRungeKutta
, but for the given number of ODEs (3924) the memory used by the kernel grows above 50GB. Eventually I have to stop the calculation. What options of NDSolve
can be tried to improve the stability and remain with reasonable memory consumption?
$\begingroup$
$\endgroup$
15
"StiffnessSwitching"
), depending on the ODE's behavior. Without seeing what your ODEs look like, it's hard to say more. $\endgroup$"StiffnessSwitching"
switches from explicit to implicit, but never goes back to explicit. $\endgroup$"NonstiffTest"
as well as a"StiffnessTest"
option. See the discussion in Stiffness Detection. $\endgroup$NDSolve
is quite robust for IVP of ODE(s). (There exist rare cases that one needs to adjustMaxStepSize
though. ) But who knows… As @J.M. said, it's hard to advise without a concrete example. $\endgroup$