In a code base that is difficult to change for unrelated issues, I have many invocations of NDSolve
that look like the following:
NDSolve[equations, variables, {t, 0, 100},
Method -> {"ExplicitRungeKutta", "StiffnessTest" -> False}]
This has stopped working with Mathematica 9.0, because something is timing out (our problem appears similar to the one described here). The fix is to change the invocation to look like this:
NDSolve[eqns, vars, {t, 0, 100},
Method ->
{"ExplicitRungeKutta",
"StiffnessTest" -> False,
"EquationSimplification"->"Solve"}]
I would like to be able to change the part of the Method
option involving "EquationsSimplification"
to "Solve"
globally, in such a way that it won't be clobbered when a call leaves that option alone, but sets other options (like using the "ExplicitRungeKutta"
method, or turning off "StiffnessTest"
). This will allow me to fix things in an init.m file once and for all.
(Yes, I'm aware this is ugly and hacky, but the other approaches are probably less appealing.)
"StiffnessTest"
) is not an option for any function in theNDSolve`
context. So, it looks like you have to insert it at the top level. $\endgroup$