Barry Smith <[email protected]> writes: >>> Perhaps if every rejected line indicated why such as >>> >>> TSAdapt 'none': step 20 stage rejected (nonlinear solve failed due to >>> xxxx) t=800 + 4.000e+01 retrying with dt=1.000e+01 >>> >>> or >>> >>> TSAdapt 'something': step 20 stage rejected (error control to large due to >>> xxxx) t=800 + 4.000e+01 retrying with dt=1.000e+01
*Stages* are not rejected due to local truncation error because the error estimate only occurs at step completion. Stages are rejected because the solve fails or the user's checkstage function rejects it. When a *step* is rejected due to an error estimate, the output currently reads: TSAdapt 'basic': step 25 rejected t=0.00175892 + 5.270e-05 wlte= 4.92 family='arkimex' scheme=0:'4' dt=3.185e-05 You can see that wlte (weighted local truncation error) is greater than 1. >> I'm concerned about these lines being too long and practically >> unreadable. > > It is silly to have something like it is now that is clearly > confusing to users when adding 3 or 4 words to the output would > remove that confusion. What exactly would you want it to say? You want it to dig into SNES and KSP to do a postmortem analysis of why the solver failed, and print all of that in a summary? We don't do that in SNES; we just say SNES_DIVERGED_LINEAR_SOLVE and the user can add -ksp_converged_reason to find out why.
signature.asc
Description: PGP signature
