Related: What's behind Method -> {“EquationSimplification” -> “Residual”}
By reading the document carefully, I've learnt that there are 3 possible options in "EquationSimplification" for DAE systems: Solve
, Residual
and MassMatrix
. Solve
and Residual
have been explained in the above answer detailedly. As far as I understand, Residual
converts the DAE system into the residual form $f(t, x, \dot{x}) = 0$ and solves the system with IDA
from Sundials.
On the other hand, MassMatrix
converts the system into the mass matrix form $M.\dot{x} = f(t, x)$. But I cannot find in the documentation which solver will be used (maybe I missed something?). Can anyone explain what's the solver behind it?
I tried some examples with NDSolve`ProcessEquations
with "EquationSimplification" -> "MassMatrix"
and "TimeIntegration" -> "StateSpace"
. The NumericalFunction
behind them are different. My guess is that it does not use the method StateSpace
. It probably uses some ODE solvers, since other softwares like Matlab does use ODE solvers to solve DAE problems in mass matrix form?
"MassMatrix"
in the document seems to be quite brief, that's (at least partly) the reason why I avoided talking about this option in the linked answer. (I doubt if this option will be automatically chosen byNDSolve
in any cases? We need to explicitly set“EquationSimplification” -> “MassMatrix”
even for the 2 examples in the document. ) Hope someone knowledgable can give an answer. $\endgroup$NDSolve
ProcessEquations` with“EquationSimplification” -> “MassMatrix”
and"TimeIntegration"->"StateSpace"
. TheNumericalFunction
behind them are different. My guess is that it does not use the methodStateSpace
. It probably uses some ODE solvers, since other softwares like Matlab does use ODE solvers to solve DAE problems in mass matrix form? $\endgroup$