0
$\begingroup$

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

$\endgroup$
0
$\begingroup$

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).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.