<div dir="ltr"><div><div>Hi all,<br><br></div>I am currently running petsc to solve a time-dependent nonlinear system with default options (NewtonLS, etc.). I have a question regarding convergence. My application evolves different fields and equations, which might be in different units (like temperature and velocity) and might not involve the same order of derivatives (for example second derivatives, scaling as ~1/dx^2 or first derivatives, scaling as ~1/dx). My application also has a handicap: the tangent matrix is cumbersome to calculate. <br><br>From what I understand and I see in the source code, convergence norms are performed on the whole residual, that is, including all fields/equations. Am I wrong?<br><br>My concern is, if I am using a relative convergence criteria for the residual norm, it might happen that I am solving one of my equations very nicely and another equation shouldn't be converging yet... But just because it's dealing with a much smaller residual than the other equation from the very beginning, the residual norm is not caring about it and it's showing convergence too early (specially if I don't run with the default parameters anymore and I ask for a relative convergence of 10^-3, for example).<br><br></div>I have been looking at the documentation and mailing list and I haven't been able to find if there is a specific petsc option to prevent this from happening (other than setting a very restrictive relative convergence, which is painful for me as I don't have a nice tangent matrix) or if I should implement a convergence criteria myself, probably something like what has been suggested here: <a href="http://lists.mcs.anl.gov/pipermail/petsc-users/2014-August/022577.html">http://lists.mcs.anl.gov/pipermail/petsc-users/2014-August/022577.html</a><br><div><br></div><div>Thanks in advance,<br><br>Carles<br></div></div>