Line Search for Nonlinear System of Equations with Newton-Raphson

237 Views Asked by At

I'm trying to implement a line search with the Newton-Raphson method for a nonlinear system of 2 equations. Without the line search the procedure I'm using is quite simple and works well for my problem. It is as follows:

To solve $N(d) = F$, where $N$ is nonlinear wrt $d$

  • Solve $N'(d_i)\Delta d = F^{n+1}-N(d_i)$ for $\Delta d$
    • $\Delta d = N'(d_i)^{-1}(F^{n+1}-N(d_i))$
  • Take $d_{i+1} = d_i+\Delta d$
  • Check $||F^{n+1}-N(d_{i+1})||$ vs tolerance

Now with the line search we want $$G(s_i) = \Delta d_i^T (F^{n+1}-N(d_i+s_i\Delta d_i)) = 0$$

What I tried to do was expand $N$ again, giving: $$N(d_i+s_i\Delta d_i) = N(d_i)+s_iN'(d_i) \Delta d_i$$ $$G(s_i) = \Delta d_i^T(F^{n+1}-N(d_i)-s_iN'(d_i) \Delta d_i) = 0$$ $$s_i = \dfrac{\Delta d_i^T(F^{n+1}-N(d_i))}{\Delta d_i^TN'(d_i)\Delta d_i}$$

However, this doesn't get me anywhere seeing as $F^{n+1}-N(d_i) = N'(d_i)\Delta d_i$ so then $s_i = 1$. Does anybody know how else I'm supposed to solve this? Any advice appreciated.

EDIT: I have written in my notes that we can use Newton to solve $G(s_i) = 0$ although this requires $G'(s_i)$ and the tangent stiffness $N'$. I'm going to try and write through this approach: $$G(s_{i+1}) = G(s_i)+G'(s_i)\Delta s_i = 0$$ $$\Delta d_i^T (F^{n+1}-N(d_i+s_i\Delta d_i)) - \Delta d_i^TN'(d_i+s_i\Delta d_i)\Delta d_i \Delta s_i = 0$$ $$\Delta s_i = \dfrac{\Delta d_i^T (F^{n+1}-N(d_i+s_i\Delta d_i))}{\Delta d_i^TN'(d_i+s_i\Delta d_i)\Delta d_i}$$ I'm going to try with $s_1 = 1$ and see what happens

1

There are 1 best solutions below

0
On BEST ANSWER

I think what I have in my edit is correct, it seems to work! Any check would be great of course.

I have written in my notes that we can use Newton-Raphson to solve $G(s_i) = 0$ in a similar fashion as we solve the original problem, although this requires $G'(s_i)$ and the tangent stiffness $N'$. $$G(s_{i+1}) = G(s_i)+G'(s_i)\Delta s_i = 0$$ $$\Delta d_i^T (F^{n+1}-N(d_i+s_i\Delta d_i)) - \Delta d_i^TN'(d_i+s_i\Delta d_i)\Delta d_i \Delta s_i = 0$$ $$\Delta s_i = \dfrac{\Delta d_i^T (F^{n+1}-N(d_i+s_i\Delta d_i))}{\Delta d_i^TN'(d_i+s_i\Delta d_i)\Delta d_i}$$ This can be initialized with $s_i = 1$ and stopped when $|G(s_i)|\leq .5|G(0)|$. *

*As recommended by H. Matthies and G. Strang, "The solution of nonlinear F.E. equations," IJNME, Vol. 14, 1613-1626 (1979).