Non-intuitive behaviour of the relative and absolute NLS convergence tests.
Specifying both, the absolute and relative tolerances for the convergence criteria of a multivariable process leads to counterintuitive behaviour. For a given specification in the project file:
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-16 1e-16 1e-16 1e-16 1e-16</abstols>
<reltols>1e-14 1e-14 1e-8 1e-8 1e-8</reltols>
</convergence_criterion>
after solution converged either in absolute or in relative terms, the global convergence test still fails (output with additional debug flags):
info: Convergence criterion, component 0: |dx|=3.1359e-17, |x|=4.3819e+03, |dx|/|x|=7.1565e-21
debug: abs satisfied true; rel satisfied true
info: Convergence criterion, component 1: |dx|=1.6991e-08, |x|=5.8788e+07, |dx|/|x|=2.8902e-16
debug: abs satisfied false; rel satisfied true
info: Convergence criterion, component 2: |dx|=5.6301e-19, |x|=1.4482e-18, |dx|/|x|=3.8876e-01
debug: abs satisfied false; rel satisfied false
info: Convergence criterion, component 3: |dx|=8.7737e-19, |x|=1.2361e-18, |dx|/|x|=7.0981e-01
debug: abs satisfied false; rel satisfied false
info: Convergence criterion, component 4: |dx|=1.4914e-18, |x|=7.6990e-18, |dx|/|x|=1.9372e-01
debug: abs satisfied false; rel satisfied false
Expected behaviour would be a passed convergence test because either one or another criterion is fulfilled.