I used Newton solver to solve a nonlinear variational problem and the default absolute tolerance and relative tolerance of Newton solver were used. However, the computation did not converge after 500 iterations. I think I need to decrease the absolute and relative tolerance of Newton solver. But I do not know which value I should use. For example:
Choosing larger tolerances when the nonlinear solver doesn’t converge is in general not a good idea, unless the default tolerances were super small (which is not the case). In doing so, you may be able to trick the code into saying “the nonlinear solver” has converged, but the reality remains that the solution you computed may still be bad, since the final residual is large (or, at the very least, not really small).
I searched these two parameters but did not find explanations for them. Do you have any document, website, or textbook that explains the parameters of Newton solvers? Thank you very much.
Newton method computes an increment \delta x, which you then need to add back to the previous solution x^{prev} to get the updated solution x^{updated} = x^{prev} + \delta x. In principle, you could also pick a step length \alpha \in \mathbb{R}^+ and decide that x^{updated} = x^{prev} + \alpha \delta x. The default is \alpha = 1.
This tells that the jacobian matrix is not symmetric. You’ll have to look into the implementation of the LU solver to see how that information is used.