As I wrote before, interpretation of results is a difficult task and can lead to serious problems. It is far easier to find a mistake in the model, than understand issues with result interpretation – after all, you will search mistakes everywhere in the model (geometry, loads, boundary conditions), but you will rarely challenge your own way of thinking. In this post, I will discuss a great tool for result interpretation.

This is why this topic is one of the most important I will share on the blog, and why I started with this one. Today I will describe *stability path –* the most important tool in correct estimation of load-bearing capacity of the model. Since using *stability path* is a very complex matter it is impossible to write everything in one post. Today we will go through basics and in coming posts, I will discuss usages of this method in practical examples.

**Stability Path Basics**

For correct interpretation of model capacity *stability path* for the model should be used. In order to receive it a bit more complex analysis is required where the load is applied to the model in increments and relation between load and displacement of the model in each increment can be observed. Before we dive into it 3 most important definitions:

is a chart presenting the relationship between loads and displacements in the model. One can plot a stability path in many various forms: on vertical axis loads should be marked, but what exactly is there is usually up to author – this could be a value of applied force or a total constraint force in certain direction etc., but usually, a*Stability path**load mu**ltiplier*is used. On horizontal axis, deformations should be shown (also at which node/point and on what DOF is up to author) – sometimes*normalized deformations*are used instead of “real” deformations.*Stability path*appears in the literature under many names for instance:*equilibrium path, load-displacement chart, displacement response path etc.*

Exemplary stability path

denoted as*Load multiplier**r*is a parameter by which the applied load is multiplied in the analysis in any given increment. Often in the subscript type of analysis is marked (more on types of analysis here). To explain in a bit more clear let’s imagine we have a model with 10kN load somewhere. If we would like to apply this load in 10 increments (1kN each) then the first increment would be 1kN so the load multiplier would be 0.1 (since 10kN * 0.1 = 1kN) and in the second increment total load would be 2kN so the load multiplier would be 0.2 and so on.*Load multiplier*can be used on the vertical axis instead of loads or constraint forces.

which I usually denote as Δ is a ratio of displacement in the selected DOF (Degree Of Freedom) in current increment to deformation received in this DOF in the linear analysis for load multiplier*Normalized deformation**r*= 1.0.*Normalized deformations*can be used instead of deformations on the horizontal axis of the*stability path*.

There are some benefits of using both *load multipliers* and *normalized deformations* rather than “straight values” like total reaction force or maximal deflection. Those will be discussed in following posts.

#### Stability Path: Example 1 – how it is done

Let’s start with the simplest example. We will analyze a simply supported beam (pinned at both ends) with one singular force in the middle as shown below. The material is set to be elastic and we will use geometrically linear analysis. In other words, we will perform fully linear analysis but with incremental loading. Such analysis has little sense in general but is a nice example of how to make *stability path*.

: At first glance, it is obvious that deformations of the node in the middle will be highest, and also most meaningful in the analysis, so we will pick this node for a reference node for deformations (Degree of Freedom – DOF – in force direction). On the vertical axis, we will simply use an applied load. Total load in this example is 500kN. Under each increment, I will show the deformed model and a*Start**stability path*chart. since we didn’t start, there is no deformation and no load – so plots are “empty”.: In analysis settings, I have decided to divide my load into 10 equal increments. This means that increment 1 is 500kN / 10 = 50kN. For this load, displacement in the middle is 66.5 mm, so the*Increment 1**stability path*at this point looks like this:the Second increment adds additional 50kN, and the total load is now 100kN. Displacement is 133mm. At this point I wish to write that I did not perform 2 design runs – at one analysis I got everything that will be shown in this example. Sometimes I meet people who decrease (or increase) load manually and perform some analysis – in simple case like this – it would work, in more complex ones you cannot obtain an “unstable” part of the path this way and only use of nonlinear solvers can lead to good results. Currently, situation looks like this:**Increment 2**:Additional 50kN is being added (to a total of 150kN). Of course, since everything is linear, deflection will be 3 times higher than in the first step, and**Increment 3**:*stability path*will be a straight line.: Lets speed up a bit. Increment 7 means that the total load is 7 x 50kN = 350kN. Displacement is 66.5m x 7 = 465.5mm.*Increment 7*: Of course at the end, full 500kN is applied to the model and deformation is 665mm. Please note, that if you use linear solver (or you set that you wish not to obtain intermediate results in nonlinear solver) this would be the only “drawing” that you would get from the analysis, and in linear calculations that would be entirely sufficient as well!*Increment 10 – Finish*

This is how the stability path is built for the model. In the next example, I will use a geometrically nonlinear model to show what the difference will be.

#### Stability Path: Example 2 – nonlinear analysis

We will use the same beam but in geometrically nonlinear calculations. Since both supports are pinned (without sliding), we are expecting that the deflections will decrease as I described in the chapter about *geometrical nonlinearity *here. In this example, load is divided into 100 increments (5kN each), but I will show you only some of them. Also, I have left the linear stability path for reference on the chart.

: Load is 50kN, displacement is 47mm so almost 20mm smaller than in linear analysis (LA). We can see that the stability path is no longer linear and that it is rising in comparison to LA – path. This informs us that there is some sort of stiffening in the model.*Increment 10*: Load in 200kN, displacement is 117. If I would divide the load in only 5 increments the stability curve would consist of straight lines, but since I use 100 the curve I receive is nice and smooth. Sometimes just by the look on*Increment 40**stability path*, you can tell whether the outcome is incorrect: if the curve is to “edgy” this means too few increments were taken and this may seriously influence outcomes (I will discuss this in future).: There is nothing more to discuss here so straight to the finish line! Applied load is 500kN, maximal deformation is 190mm (over 3 times smaller than in linear analysis!).*Increment 100 – Finish*

There is much to tell about *stability path* and its uses, today, however, I only want to show you how the *stability paths* are done, so we can discuss them in-depth in following posts.

#### Stability Path: Example 3 – practical use

This example is a part of silos design I did a few months ago. I will write about such projects later on, for now only a short sample on how this works. For one of the loads’ combinations for my silos, I have performed a GMNIA (geometrically and materially nonlinear analysis with imperfect geometry). Since I wish to be accurate, I have divided the load into many increments (1000 to be exact). It’s impossible to write how much load was applied each increment without making diagrams of said load (in silo applied loads are rather complex), so instead in stability path in this example, I used total reaction force in one of the supports.

: This is almost the beginning of the analysis. Since this load case was axially symmetrical only part of the shell is being analyzed with symmetry boundary conditions (this way computing is much faster since the solution is smaller). In results below entire model is shown (with a close-up to the support region) as well as stability path at each step of the analysis.*Increment 40*: First yielding appears in the model. The yield stress is 231.8 MPa because of temperature influence of stored material.*Increment 60*: Load is getting closer to maximal capacity of the model*Increment 70*: Plastic stability failure is developing*Increment 80**Increment 100**: Model after failure*Post-failure state of the model. Please note that the load is actually decreasing now, which may feel illogical (after all theoretically each increment should add a portion of the load). This is because an**Increment 160**:*arc-length method*is being used.: End of the analysis. Variables in the arc-length method I have set told solver that now it should quit the calculations. Since the load I have set was never reached (model lost capacity at around 60% of applied load) without additional “limiting points” solver would work without end! It is also worthwhile to note that in this model I have implemented loads twice as high as they have supposed to be as I wanted to see the failure mechanism, so 60% result is actually a positive outcome (this is where*Increment 590**load multipliers*come in handy).

After presented calculations were done, it is easy to see that capacity is reached when the reaction force is equal to 5300kN and that post – failure state in the model is not stable (*stability path *is decreasing). It is also easy to see that the mechanism of failure is due to plastic instability. There are many uses for this method and many other aspects I will discuss later.

What you should know after reading this:

- What is a
stability path- How to make
stability pathif enough data is available- What is a
load multiplier

Terms I will often use are shortly described in the glossary.

If you like my blog, consider sharing the info about it with your colleagues!

In the end a picture of finished silo from example 3:

Have a nice day!

Łukasz

Miguel GarnicaMarch 4, 2017 at 2:04 amHello Łukasz. Thank you for this information about your experience using FEA. It is great and very useful! I have a question for you and I would appreciate your answer: why did you use plastic nonlinear material instead of elastoplastic material? Is there any advantage modelling plastic materials in FEA or is it a requirement to perform stability path? Thanks again!

Łukasz SkotnyMarch 4, 2017 at 7:37 amHey Miguel 🙂

Thank you for the comment – I’m really happy that you like the post!

In this analysis I used an elasto-plastic material. It was good “enough”. Sure I could play with “full” nonlinear material do do different things after initial yield, but instead I simply checked plastic strains to be sure I’m still in “plastic plateau comfort zone”. If you do something like that using nonlinear plastic material is unnecessary – it would give the same results 🙂

If you are interested in nonlinear material models you can read more here!

If you have any more questions feel free to ask 🙂

Have a great day!

Łukasz

MokhtarJune 21, 2019 at 9:47 amHey, software used ?

Best Regards

Łukasz SkotnyJune 21, 2019 at 12:49 pmHey Mokhtar

I’m using Femap with NX Nastran

All the best

Ł

MichalNovember 5, 2019 at 7:25 amHi Łuaksz,

great job at all with this blog!

just a quick question:

“Example 3 – practical use” – as you wrote GMNIA analysis was performed (like with nonlinear material), but as a reply to Migues question post you stated elasto-plastic material. This makes me a little bit confused. It might by my misunderstanding, but would appreciate your comment.

Take care

Michal

Łukasz SkotnyNovember 5, 2019 at 11:26 amHey Michał!

I’m glad that you like the blog – it’s always nice to hear that 🙂

As to your question, I used an elasto-plastic or elastic perfectly plastic material as it is often called. You may hear about “bi-linear” material. This is exactly it! You may read more about it on the blog in a few places – like where I directed Migues in my answer. But this is not the most high-tech material model you could pull off. There are ways to make your material nonlinear in plasticity zone (i.e. if you are using stainless steel or you want to include work hardening of a

“normal” ferritic steel, after the plastic plateau). There are merits to using such models in many cases, but this one wasn’t like this.

Hope this clears your doubts a bit 🙂

All the best

Ł