<div dir="ltr">There must be something I'm missing about SNESSetFunctionDomainError().<div><br></div><div>I'm using a matrix free newton solve and I was hoping that calling SNESSetFunctionDomainError() would completely stop the nonlinear solver... but that doesn't appear to be the case.</div>
<div><br></div><div>Now - if I call that function during the initial residual computation it appears to work (the solve never starts). However, if I call it during the _middle_ of a matrix free nonlinear solve during a residual calculation - it appears to do absolutely nothing.</div>
<div><br></div><div>Here's my stupid debugging code that's at the top of my residual callback method:</div><div><br></div><div><div> static int count = 0;</div><div> count++;</div><div><br></div><div> if (count == 5)</div>
<div> {</div><div> std::cout<<"stopping solve!"<<std::endl;</div><div> SNESSetFunctionDomainError(snes);</div><div> }</div></div><div><br></div><div><br></div><div>During the solve "stopping solve!" gets printed out after computing the 3rd linear iteration of the first newton step... but the solve just continues without stopping...</div>
<div><br></div><div>Is there something more I need to do here?</div><div><br></div><div>Thanks!</div><div><br></div><div>Derek </div></div>