User login

Navigation

You are here

Solving nonlinear equilibrium problem

Hi!

I am trying to solve (for equilibrium points) a geometrically nonlinear problem of the form

f(u) = F

where u is the displacement and F is the load. At first I tried the plain

Newton method, with, perhaps obviously, limited success. I then tried to use

linesearch and trustregion strategies to improve the situation. Eventually, however,

I realized that I needed to use some form of continuation method. Though the most

commonly used methods in mechanics seems to be based on gradually increasing the

load during the solution process, I have been unable to get this to work in a robust way.

I have now been experimenting with a pseudo transient continuation method wherein the equilibrium

points are viewed as stationary points to the ODE

u´ = -f(u) + F

This has so far worked fine with an implicit solver. Now to my questions: Looking in the literature, it seems to me that

the method of gradually increasing the load is preferred (in fact I have not come across the ODE-method), why?

What are the relative merits of the respectivemethods? Also, why are linesearch or trust region strategies not an alternative to continuation methods? Is there

some way to explain this mathematically?

 

Best regards

Bashir

Ettore Barbieri's picture

Dear Bashir,
with reference to your equation, let's assume that it is possible to decompose F in lambda*F1 where F1 is the "unitary" load force vector and lambda is a scalar (this is usually possible in mechanics):

 
if lambda is fixed, assuming that there exists a solution for the problem, using Newton-Rhapson (NR) or line-search (LS) (which is a sophisticated version of NR), you should be able to get a solution. The difference between NR and LS is that NR works fine if the initial guess is "close enough" to the actual solution (there is actually a theorem stating that there is quadratic convergence). If the initial guess is not close enough, NR might pose some problems. It can happen, for example, that the residual increases instead of decreasing (i.e. "overshooting"); LS overcomes this issue by gradually decreasing the residual, hopefully bringing the iteration "close enough" to the solution, when then you can use again NR and exploiting the quadratic convergence of the NR.

 
This can be done when the load is fixed (i.e., lambda is a fixed value): what happens now if lambda itself is variable? It means that your problem is now a continuation problem, i.e. you're looking for the "equilibrium path" in the "lambda-u" space.

Coming to your questions, line search and numerical continuation are not alternative formulations. You can do a numerical continuation by gradually increasing the load, then at a fixed load apply an NR or LS method to find the solution at that load level.  Then you can repeat the procedure for every load level of your interest and therefore trace the equilibrium path. Such approach is called "incremental load control".

However, this does not work for nonlinear problems with an unstable point, i.e. the  lambda-u curve presents a local maximum or a minimum (the "slope" is horizontal). For this case, it happens that for a fixed load level there exist two different solutions and according to your initial guess, with NR or LS you'll find only one of them.

There is a way of circumventing this problem if "u" is the displacement: instead of applying a force, you can reformulate your load in terms of applied displacements ("displacement control"), rather than applied force; however, this is not always possible, but most importantly, there could exist another instability (snap-back), when the equilibrium path exhibits a point with "vertical" slope, i.e. there could be two different load levels that simultaneously satisfy the equilibrium for the same displacement level.

In this case a more general method is required if you want to trace the equilibrium path. This approach is called "arc-length" method because it follows the equilibrium path along its "curvilinear abscissa" rather than incrementing the load or the displacement.

The method is conceptually simple: you basically add an equation (a constraint) to the nonlinear equation  f(u)-lambda*F1=0 .
This constraint imposes that the length of an increment "along" the equilibrium path is fixed. It is like riding on a roller coaster instead of looking at the roller coaster from the bottom up.
In finite elements, this method is usually known as the "Riks method". With the arc-length, in principle (but not always) one is always able to trace even complicated paths. Of course, it is possible to combine LS with arc-length methods.

A good book from where you can learn more about these techniques is the famous
"Crisfield, M. (1991). Non-Linear Finite Element Analysis of Solids and Structures. John Wiley & Sons Inc".

I'm pretty sure though that these techniques are well explained in any non-linear finite elements book.

The pseudo-transient continuation method you used, I think it is more suitable for an explicit analysis, rather than implicit.
Contrarily to NR or LS that require the tangent stiffness matrix, with the explicit you don't need to assembly the tangent stiffness matrix, but only the "internal force vector" f(u). This approach is more suitable, for instance, for large scale problems where assemblying the tangent stiffness matrix at each iteration becomes too computationally expensive. Nonetheless, in this case particular care must be observed in the choice of the "fictitious" time step, in order to avoid the instability of the explicit scheme.
However, I think that in order to trace the equilibrium path you still have to consider a parametric continuation in the form
u´ = -f(u) + lambda*F1
 to decide the lambda-level to be used for the subsequent load-steps.

Hi, 

and thank you very much for a thorough answer! I guess that one of the prinicpal differences between the incremental load-procedure and Newton with line search (LS) is that the former can provide the actual load path whereas the latter can not (so there is no hidden even "deeper truth"?). However, if we are only interested in equilibrium points, then any of the methods (and combinations) could in principle be used (assuming no unstable points), but I guess in that case LS is preferred due to simplicity or efficiency? What confused me a little was a vague remembrance of having seen the incremental load-procedure used in a "heuristic" manner, i.e. no adaptive increase or something like that, to solve for one equilibrium point only, without bothering about the actual path up to that point, but maybe that is not so common.

Regarding the pseudo-transient continuation method, I guess another potential advantage could be in the case of illconditioned Jacobian matrices,  J, (Deuflhard, Newton Methods for Nonlinear problems mentions problems with dynamical invariants that give rise to singular Jacobian, but I'm not sure if that is relevant to mechanics), since either you don't solve any linear system (explicit method) or you solve systems of the form I-dt*J (implicit method), with I being the identity matrix, and dt the time step. 

Best regards

Bashir

 

 

Hi,to my understanding, in non-linear cases, the incremental load-procedure provides better convergence, for it divides the actural process into steps, in each of which the NR is applied. Maybe u confused load steps with iterative increments? I may make a mistake about that. Plz correct me if I am wrong about this concept.

Best regards,

Yuzhong

Hi! Thank you for your comment. I do not belive that I have misunderstood how the incremental load-procedure works, rather perhaps when it should be applied. Incrementing the load while iterating or adding line search to the NR are ways to globalize the ordinary Newton's method, but the incremental load-procedure could also track the equilbrim path if desired (which it is not in my case). What I was thinking about was if the incremental load-procedure is somehow "even more global" than the line search strategy. My initial answer was No, but my succes with the pseudo transient method made me a little confused.

Best regards

Bashir

 

elabbasi's picture

Dear Bashir,
 
One case that I can think of where the pseudo-transient method would work better is when the Jacobian matrix of f(u) is singular for some values of u.

In that case, the Newton-Raphson method, even with Line Search or trust region would involve a singular system of equations. The same problem may occur when you gradually increase the load. However, the pseudo-transient continuation method that you mentioned would have a non-singular Jacobian because of the added u' term (I'm assuming implicit solution of the pseudo-transient problem). For such problems, the arc-length method that Ettore mentions also does not involve a singular matrix.

Actually, in finite element analysis, all these methods are used sometimes under different names to help reach convergence in nonlinear problems. The Riks method is frequently used to refer to the arc-length method, and different "stabilization techniques" are really similar to the pseudo-transient method.

Nagi

Hi!

I appreciate your comment. From the comments so far, I think I need to revisit my equations and see if and why the Jacobian becomes very illconditioned (I do not think that it  becomes singular, the linear solver should have issued a warning) for some values of the state variables (elastic instabilities perhaps).

Best regards

Bashir

Subscribe to Comments for "Solving nonlinear equilibrium problem"

Recent comments

More comments

Syndicate

Subscribe to Syndicate