Newton

The NewtonRaphson algorithm uses the Newton-Raphson algorithm to solve the nonlinear residual equation. The Newton-Raphson method is the most widely used and most robust method for solving nonlinear algebraic equations. The command is of the following form:

algorithm Newton < -initial > < -initialThenCurrent >

-initial

optional flag to indicate to use initial stiffness iterations

-initialThenCurrent

optional flag to indicate to use initial stiffness on first step, then use current stiffness for subsequent steps


References

Read the page at Wikipedia


Theory

The Newton-Raphson method is an iterative method where, starting at a good initial guess \(x_0\,\!\) we keep iterating until our convergence criteria is met with the following:

\[\Delta x = - \frac{df(x_n)}{dx}^{-1}f(x_n)\,\!\]

\[ x_{n+1} = x_n + \Delta x\,\!\]

The method is generalized to n unknowns by replacing the above scalar equations with matrix ones.

\[R(U_n+\Delta x) = R(U_n)+\frac{\partial R(U_n)}{\partial U} \Delta U + O(\Delta U ^2) \,\!\]

The matrix \(\frac{\partial R(U_n)}{\partial U}\,\!\) is called the system Jacobian matrix and will be denoted \(K\):

\[K = \frac{\partial R(U_n)}{\partial U}\,\!\]

resulting in our iterative procedure where starting from a good initial guess we iterate until our convergence criteria is met with the following:

\[ \Delta U = - K^{-1}R(U_n),\!\]

\[ U_{n+1} = U_n + \Delta U\,\!\]


Code developed by: fmk