next up previous contents
Next: Simple 1D Structure File Up: Discretizations and Numerical Algorithms Previous: Residuals ``bottom out''

Threshold violations

 

The threshold violation warnings are meant to point out potential problems with the solution. They may not actually indicate a serious problem with the solution. Alamode checks for violations by default because it is likely that all of the unknowns represent concentrations, and it is not physical to have negative concentrations. Thresholds are adjusted after a nonlinear update because negatives can cause nonlinear convergence problems.

Threshold violation warnings that are printed can usually be ignored if they do not occur on the last nonlinear update. These are just overshoot in the nonlinear update, and they do not indicate a problem with the converged solution.

Threshold violation warnings/adjustments that occur on the last nonlinear update may be an indication of a problem with the converged solution. Also, if the violations are large and they were adjusted, conservation of dose is no longer guaranteed. For this reason, -failIfHadThresholdViolation is on by default.

Suggestions:

Threshold violations that occur with bottoming out of residual and/or update norms in the Newton solve may be due to taking too large of a timestep in either the TR or BDF2 step. Neither substep is monotonic, and a consistent application of the algorithm to an ODE system may lead to oscillating signs. The cause of these oscillations can be seen by applying TR/BDF2 to the test ODE

equation1545

where tex2html_wrap_inline3462 . Let tex2html_wrap_inline3464 . The TR step is

equation1549

where tex2html_wrap_inline3466 and tex2html_wrap_inline3468 . Thus, the TR sign change comes from taking a large timestep compared to the eigenvalues of the system before the modes associated with the large eigenvalues have decayed enough. The BDF2 step is

equation1556

where tex2html_wrap_inline3470 . If the concentration has been reduced by significant fraction over the TR step tex2html_wrap_inline3472 , the sign on C will change.

These sign changes are a result of the consistent application of the timestepping algorithm. Adjust negative values in the nonlinear solve will not lead to convergence, because the converged values for the consistent timestep equations should be negative. Although this situation will fix itself through nonlinear failures and repeating integration over the time step interval with a smaller time step, the failures are not a productive use of computing resources.

Suggestions for dealing with threshold violations arising from the sign change conditions in TR/BDF2 include:


next up previous contents
Next: Simple 1D Structure File Up: Discretizations and Numerical Algorithms Previous: Residuals ``bottom out''

Dan Yergeau
Wed Aug 20 14:01:54 PDT 1997