-snes_converged_reason:

Nonlinear solve did not converge due to DIVERGED_LOCAL_MIN iterations 4

(which is expected)

Add -snes_converged_reason.  What do you want to do when the solver
fails?  Pretend like it succeeded and get the wrong answer?  Usually
people shorten the time step and retry, which is what you see happening
here.
Well yes, actually - I expected it to fail for this test case but it stubbornly gets the right answer. The explicit integrator has no problem keeping a fixed timestep and throwing the expected NaNs when it blows up.

It's alarming to see the unexpected behavior of setting TSADAPTNONE and seeing it actually adapting (in a rudimentary fashion) the timestep, and keeping that reduced timestep even after the stiffness goes away.


You can call TSAdaptSetCheckStage and have your function unconditionally
set accept to PETSC_TRUE (and you'll likely get the wrong answer).

Thanks for the help!

Reply via email to