Still looking into the reason why #6116 changes test results I noticed a number of things that could be simplified around the newton solver. This PR does:
Update documentation that is out of date
Simplifies function arguments, in particular I do no longer assume the calling function already happens to have a copy of a vector if the called function needs a copy. If we need a backup copy of a vector in a function, the function should create and destroy that copy. This may cost 1-2 additional vector copies per nonlinear iteration, but it makes the code much easier to understand. I also think because of this complexity there is a bug in compute_initial_newton_residual that I will address in a follow up.
This PR should not change any test results, it contains only code style improvements.
Still looking into the reason why #6116 changes test results I noticed a number of things that could be simplified around the newton solver. This PR does:
compute_initial_newton_residual
that I will address in a follow up.This PR should not change any test results, it contains only code style improvements.