Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pars = {k1d -> 1, k1r -> 0.1, keq -> 5, eps -> 10.^(-5)}
- DAEEqs = {x'[t] == -k1d*x[t] + k1r*(y[t])^2,
- (y[t])^2 == keq*x[t], x[0] == 1, y[0] == Sqrt[keq*1] } /. pars
- SetAttributes[StiffnessJacobianMonitor, HoldFirst];
- StiffnessJacobianMonitor[i_, method_NDSolve`StiffnessSwitching] :=
- If[SameQ[method["ActiveMethodPosition"], 2] && i < 5,
- If[MatrixQ[#], Sow[#];
- i = i + 1] &@method["Jacobian"]];
- i = 0;
- jacdata =
- Reap[sol =
- NDSolve[DAEEqs, {x, y}, {t, 0, 30},
- Method -> "StiffnessSwitching",
- "MethodMonitor" :> (StiffnessJacobianMonitor[i,
- NDSolve`Self];)];][[-1, 1]];
Add Comment
Please, Sign In to add comment