How to correctly interpret results in nonlinear analysis
10 minutes read
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 for 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 the stability path – the most important tool in the correct estimation of the load-bearing capacity of the model. Since using a stability path is a very complex matter it is impossible to write everything in one post. Today we will go through the 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:
Stability path 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 load multiplier 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
Load multiplier denoted as 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.
Normalized deformation 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 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 the 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 a 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.
Start: 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 stability path chart. since we didn’t start, there is no deformation and no load – so plots are “empty”.
Increment 1: 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 stability path at this point looks like this:
Increment 2: 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 3: 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 stability path will be a straight line.
Increment 7: 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 10 – Finish: 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!
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, the 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.
Increment 10: 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 40: 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 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).
Increment 100 – Finish: 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!).
There is much to tell about the 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 the following posts.
This example is a part of the design of the silos 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 to each increment without making diagrams of said load (in silo applied loads are rather complex), so instead in the stability path in this example, I used total reaction force in one of the supports.
Increment 40: 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 60: First yielding appears in the model. The yield stress is 231.8 MPa because of temperature influence of stored material.
Increment 70: Load is getting closer to maximal capacity of the model
Increment 80: Plastic stability failure is developing
Increment 100: Model after failure
Increment 160: 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 arc-length method is being used.
Increment 590: 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 load multipliers come in handy).
After the 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 path if enough data is available
What is a load multiplier
If you like my blog, consider sharing the info about it with your colleagues!
In the end a picture of the finished silo from example 3:
Have a nice day!
Want to learn more about FEA?
Try a free online course I’ve created! You can get it by signing up below this post!
I have over 10 years of practical FEA experience (I'm running my own Engineering Consultancy), and I've been an academic teacher for a decade. Here, I gladly share my engineering knowledge through courses, and on the 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.
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.
Hello Ł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!
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
Each Tuesday you will get awesome FEA Content directly yo your email!
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Share
Join the discussion