I remember my first presentation regarding my Ph.D. It was my first year on the doctoral program, and I was starting to be on a first-name basis with people that were my teachers just a semester ago. I went to the middle of the room and started talking about shell buckling… the problem was everything I did was calculated with LBA. I simply didn’t know the difference between linear and nonlinear FEA! Don’t worry… you don’t have to follow my mistakes!

**Linear Finite Element Method simplifies a lot of things. For instance, the material will never yield resulting in unrealistically high stresses in your model. Also, you may not predict buckling or membrane state (or do it very poorly) because nonlinear geometry is not taken into account. Nonlinear FEA, when defined correctly, takes care of all those problems for you.**

If you want to avoid blunders I did as a Ph.D. researcher… definitely read on!

**Linear or nonlinear geometry**

This may not be the most “obvious” part of the nonlinearity but I start here… because this is how I have learned nonlinear FEA. You see, when you use linear analysis solver assumes that you will be within “small deformations”. This actually means that 2 assumptions are made:

**Assumption 1:**Deformation do not impact how the structure behaves (i.e. noting enters membrane state)**Assumption 2:**There is no stability failure

The two above are big ones… unless you are designing something solid in shape. I mean, if you really have to analyze a stocky solid it won’t enter a membrane state, and it won’t buckle either. In such a case nonlinear geometry won’t do you any good…

… funny thing is, it won’t do you any harm either! If you use a nonlinear geometry analysis with something that behaves linearly… you will get the same outcomes as from linear analysis. But of course, the setup and the analysis itself will take some additional time!

**Things start to become more complicated when things deform… a LOT!**

Imagine you have a string attached on both ends to the wall. If you put a load on it, the string will deflect like crazy! Simply put if you would treat it as a beam, such a beam is so “weak” due to bending that calculated deformations would be insane!

But it’s actually not so simple to deflect so much. If the horizontal movement on both supports is blocked… string has to get longer to deform downward with this nice arc. Maybe even much longer!

Elongation is not “free” – you have to apply a normal force to elongate something. And with this in mind, the string “resists” getting longer and longer by developing the normal force inside it. This limits the deformation and allows the string to actually carry the load. You use this phenomenon every time you hang your laundry to dry!

While seemingly obvious, the linear analysis does not see this happen. Simply put, in linear analysis deformations of the system does not impact its response. In other words, the string gets longer to allow for very big deformations, but this does not generate tension in the string. And hence, you get really stupid outcomes!

**Being stable**

The second problem is with stability. As you most likely know you can pull a crate on a string, but you can’t push the crate with the same string. What would happen is that the string would simply tangle up, and not carry any compression. In an extremely simplified form, this is bucking.

In essence, everything that is slender (thin and relatively long) have a “critical load”. When you apply this load, instead of nicely carrying it with compression the element will simply “buckle”. Usually, this will look like your element simply “bends into an arc”. This actually is a form of failure… sadly linear analysis will gladly load your element way above its critical load and display nice results. Completely ignoring the fact that your element actually failed way before the applied load level!

Sometimes, buckling can catch even experienced professionals by surprise. Take a look at the shell below. Maximal stress is 140MPa (way below the yield of 355MPa). However what you don’t see here is, that such a shell buckles under the compressive stress of around 80-100MPa (in this case) and that it will fail under load much smaller than the one obtained in the analysis… This means that we just failed to estimate the maximal capacity. Sadly, based on the outcomes of linear analysis alone, we can think that our shell can be loaded much more than in reality! I know, it’s scary!

**LBA for the rescue!**

Luckily for us, there are other analyses we can perform to check if we will lose stability or not. Without a doubt, a Linear Bifurcation Analysis (LBA) is the most popular choice. This is still a “linear” analysis (as the name suggest), but it’s not a “stress analysis” in a sense. What it does is, that it tells you how many times you have to increase the load in your model to cause the ideal critical failure.

This means, that if you have a beam you can use LBA to see where it will fail due to instability. A pretty nifty trick!

But there is a big problem in this paradise. As I already told you LBA is linear by definition. This means for instance, that it cannot see nonlinear geometry in the model. So… your model cannot enter “membrane state” we already discussed, and all pressure loaded plates are bent (not in tension) regardless of their deformations. This means, that LBA will often find some really bizarre failure modes, that are completely unrealistic – like those:

The above hopper is loaded with pressure acting to the outside. You don’t have to be an expert to see that something is off here. There are relatively thin plates between stiffeners, and those would enter the membrane state in reality. But since LBA “doesn’t know that” it produces such funky instability failure modes that are completely impossible to occur in reality.

Sadly, this is not all. Since buckling is a geometrically nonlinear phenomenon, LBA can often be wrong. While for beams it does a pretty good job, I wouldn’t trust LBA outcomes for shells! Sadly, LBA will often overpredict capacity – sometimes by a big margin!

In both of the above cases, you will need a nonlinear analysis to deal with such problems.

To sum it up:LBA can warn you that you have stability problems in your structure. Sadly, it cannot take nonlinear geometry into account (among other effects), which results in some problems. If nonlinear geometry would impact the outcomes you may either get a weird “impossible” failure modes… or LBA will greatly overestimates the capacity of your shell model (and this is a real problem!).

This is why, in a lot of cases (i.e. shell structures) you should use nonlinear analysis instead!

Want to learn more about LBA? Definitelly read this!

**Nonlinear geometry in analysis**

We already discussed Linear Static (usually denoted as LA for Linear Analysis) and Linear Bifurcation Analysis (LBA). Those would be the “linear” analysis as far as geometry is concerned. It is only fair to discuss the nonlinear approach now!

Simply put nonlinear geometry can take into account all those effects I just described. In a pretty extreme situation, the outcomes may look like this:

What the analysis does, is that it divides the loads to small portions (called increments), and then it applies those increments to your model “one by one”. Thanks to this, the analysis “see” how the model behave and take all the nonlinearities into account.

This is a completely different league of analysis – possibilities are really awesome! But… (there is always a “but” right?) setting up a nonlinear analysis, and computing itself takes much more time. In order to include membrane and stability effects, you have to pay in preparation and learning time. Still, I think it’s well worth the investment! Especially since you can later animate your outcomes like this (which is super cool for Customer presentations… not to mention blogging :P):

Nonlinear geometry in a nutshell:Nonlinear buckling (as geometrically nonlinear analysis is often called) takes into account membran effects. It can also analyze stability failures (if set up properly). Simply put, it’s a way more powerful algorithm than Linear Analysis (also including LBA).

The problem is, that the setup and computing time takes much longer than in case of linear analysis. Not to mention that you actually need to own software that is capable of doing such an analysis… and you need to know how to set it up!

**Want to learn more about linear and nonlinear buckling?**

Definitely check my free online course! I think it will be a perfect fit for you!

**Linear or nonlinear material**

All right, now we are talking!

I get the feeling that nonlinear material is something that you initially thought when I started discussing nonlinear analysis… and for a good reason!

There is only one assumption I want to discuss here. It adds to the 2 assumptions for linear geometry we already discussed:

**Assumption 3:**Relation between stress and strain in the material is linear

This doesn’t sound too bad, does it? Sadly, I think this assumption is responsible for a lot of woes – I believe it is mostly responsible for the fact that people don’t trust their FEA outcomes. It also causes most problems in analyzing FEA outcomes and drawing conclusions from those!

Let’s take a closer look!

**Material straight like a line!**

Firstly, let’s take a look at a typical strain-stress curve. This is the chart that shows you what is the relation between stress and strain in the material. If you ever studied anything slightly connected with steel structures you most likely saw this:

This is how typically mild steel behaves. If you would put a steel specimen into a hydraulic press for a tension test… basically this is what you would get. To make it easier to imagine just switch *stress* for *load* and *strain* for *elongation* and you are fine : )

The problem is, that modeling such a complex behavior takes time and effort. And it’s relatively easy to see this beautiful straight elastic part of the chart. I don’t know about you, but it sure does make me want to use a linear approach!

This is a really neat approach. We don’t have to “care” for all the nonlinearities, while within the linear zone, the answers we get are just perfect! Awesome stuff!

But you already know where I’m going with this… After all, we can “enter” the nonlinear part of the chart when the strain in our material gets high enough. Then the problems begin.

Initially, this may not look like a big issue. I mean a rule could be made that “if I ever get stress higher than yield this is a failure”. You know the reasoning being that if a big portion of your model will yield it would fail anyway. But there is a big issue with this approach, that comes with more complex geometries than a flat steel piece: stress concentrations!

**Concentrate on the solution**

Whenever you have a stiffener end abruptly in your model, or maybe a weird opening, those regions produce higher strains. But those are extremely localized to very small areas. And the question is… how to interpret outcomes in such cases? Below you can see a model that at most is barely loaded at all… but over the stiffener, the stress concentrates to a total value of 1800MPa:

So, did this part fail? Perhaps, after all, the dark blue is around 450MPa. But since this is a linear analysis we can easily scale this down. What if the maximal stress would be “only” 900MPa, while the dark blue would be 225MPa for a steel grade S355?

On one hand, the “average stress” (however you wish to define it here) would be way below yield. On the same note that “stupid” dot over the stiffener would be almost 3 times over the yield. How to interpret outcomes in such a case?

The short answer is… you can’t!

Linear analysis is not meant to be used like that. Sure, you could argue a lot about whether the stress in the concentration is “allowable or not” but in the end, it would be a judgment call. If you would like to be “certain”, you would have to use nonlinear material!

If you don’t believe me, ask yourself such questions:

- Assuming such stress is acceptable (this part would not fail in nonlinear analysis BTW), how big this “red zone” would have to be in order for me to consider this a failure?

- How do I wish to analyze the size of the zone in order to prove that it is “still acceptable” while a slightly bigger one is “not acceptable” anymore?

- What if the stress would be 10% higher… would this still be ok? How about 20%? What is the limit stress in such a case and how can I calculate it?

You see, those questions have no answers when you use Linear Analysis. Only with a nonlinear material, you can make such calls – and this is the “power” of the nonlinear analysis in this case.

To sum it up:Linear analysis is spot on with stresses when those are below yield point of the material (or other nonlinear behaviours for the matter). However, if the strains in material are so high than you would enter the “nonlinear” part of the stress-strain relationship… linear outcomes start to go “dumb”. Pretty fast they are “outrageously stupid”. Sadly, such high strains appear in most models in small areas around details due to concentrations.

It’s basically impossible to judge if the element capacity is ok based on such outcomes.

This is why you need to use nonlinear material, when dealing with stresses higher than yield!

**Nonlinear material saves the day!**

In case of stability issues, we could use LBA to at least “guess” if the troubles are big or not. Here, there is no “secondary linear analysis” to help us out.

The only thing you could really do in such a case is to use nonlinear material. Truth be told there are a LOT of different material models. I’ve described 4 that I consider “most commonly used” in this article.

Let’s discuss a very simple case here: a bilinear material:

As you can see above, the material takes the elastic (linear) and plastic properties of the material into account. Such a material would be called “bi-linear” for obvious reasons. But there are 2 approaches you may have with it. I guess you most likely heard about “work hardening” – the fact that some materials (like steel and other metals) actually strengthen under high strains.

You may or may not want to use it in your model. Usually, in my design, I don’t want to go into the strengthening zone of the material. I was taught at university that this is a “desperate” zone if you are doing a new design (but it has its uses when you need to strengthen something that already exists). In such a case my material model would look like this:

But if I would expect very high strains (“climbing” the hardening slope) I might use such a material model:

This way, I can take the work hardening into account (in a simplified way). I usually go with no hardening, but I guess this will comes down to what you are trying to do. In my models, where strains are very localized (due to stress concentrations as we discussed above) the difference between those two materials is minimal – I actually checked that once.

Nonlinear material summaryIn essence nonlinear material just “makes your life easier”. You don’t have to wonder if the stress you got in that pesky stress concentration is too high or not. Instead you can just check plastic strain, and see if there was any possibility of plastic collapse and you are fine. Both are “clearly” defined so judgement calls are rarely needed.

Of course, there is a downside as well. As with all nonlinear analysis setting the analysis up takes a bit longer, and computing definitely takes longer. It seems you just have to wait for the better results : )

Want to know how nonlinear material works? Take a read!

**Do I need nonlinear analysis in my case?**

I want to wrap it up with the most common question. Now you know the differences between linear and nonlinear approach, but the question remains: how about my case?

It’s impossible to discuss this in one post, so I’ve made a whole series about tis topic on my blog. You will find there not only a flowchart that will guid you in the choice, but also a complete guide on how to approach each step of the way. I’m sure you will find those useful!

**Common questions about linear vs nonlinear FEA**

**Is this stress above yield acceptable?**

Well… there is no answer to that. Firstly, the stress above yield in the linear analysis just indicates that there will be yielding involved in reality. This in itself is not a tragedy, but it doesn’t mean this is always acceptable. My favorite example is:

Imagine you have 2 specimen. First is a rod under uniform tension, the second is the same rode under bending. Is yield acceptable?

Well for the rode in tension it’s not! After all the entire cross-section is under the same stress. If you allow it to yield, the rod will fail.

On another hand in bending only the outer parts of the same cross-section will yeild. In such a case you are most likely fine, and this is perfectly allowable in design codes. Even more, when you use the “plastic section modulus” in design (default in most codes for steel elements in class 1 and 2) then you allow your cross-section to yield substantially!

What the above shows? It only shows that whether stress higher than yield in the linear analysis is allowed, depends on what model are you analyzing! There is no one-fits-all answer! Remember, any time you are in doubt… just use the nonlinear material and be certain!

**Is using linear geometry safe? **

No, not really. I can imagine where this comes from… after all, you get higher deformations and bigger stresses when elements can’t enter membrane state. For those, outcomes would be “worse” in LA. But don’t forget that those elements are attached to something! If they will enter the membrane stare a big horizontal force will be applied at supports (and you won’t get it in LA!). This means that you will be missing a major load component.

On another hand, if you make an element that “survives” bending in LA… most likely it won’t enter a membrane state. So there is something to be said about that as well. If the deformations are small* you should be fine with LA, as long as buckling is not an issue.

* I know “small” is not extremely precise. Most likely you have a code to follow that should define “allowable deformations”. I think those could be treated as “small enough”. If you don’t have such a code my wild guess would be something like “small means length of the element divided by 300” or something similar. It’s best to make some tests with linear and nonlinear analysis and estimate your limits yourself of course : )

MEHANI YoucefMarch 5, 2019 at 7:44 amNice .

Łukasz SkotnyMarch 5, 2019 at 10:57 amI’m glad that you like it : )

LuisMarch 16, 2019 at 9:19 pmReally nice article!

Łukasz SkotnyMarch 17, 2019 at 4:44 amI’m really happy that you like it Luis!

Thanks for the comment : )