!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '366319058984917'); fbq('track', 'PageView'); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5M6SH59');
18 minutes read
24 October 2022

Interaction of Nonlinearities in FEA

18 minutes read

At the University I was taught to first check the plastic capacity of the cross-sections. Then I was taught to check the elastic stability of members. I even had some fatigue classes.

The overall theme was: firstly check this, then that, and later this thing here. As if all of those things were totally independent of each other. Sadly, this is not how real structures work!

Codes and linear FEA teach us, that we should check aspects of our models’ capacity independently. Sadly, in reality, everything is connected, and nonlinear FEA can easily show, that plastic deformations can reduce buckling capacity.

This means that checking everything separately may lead to overestimation of capacity… sometimes by a big margin!

And this is what I will guide you through today! We will end with a decent example showing you how this really works – so this will be a highly practical trip!

How things are

To get anywhere, we first have to realize where are we.

Sadly, the engineering world, especially in structural design, just hates interactions. And I can’t really blame anybody. It’s difficult enough to say, what is the capacity of an element under a single load. Mixing various effects makes this so much harder!

And this leads to a very well-known process: everything is checked independently.

It’s so obvious, I won’t even try to convince you – I will just give you two separate examples. One from the practice of code design, and one from the FEA world.

I’ve been teaching steel structures for a decade, based on Eurocodes, so I usually turn there for examples. But let’s keep it simple, and stay with the basics!

Code EN 1993-1-1 is the basic design standard for steel beams. It’s divided into chapters and each chapter “deals” with something:

  • Firstly you would encounter chapters on cross-section capacity calculations. There is one for cross-section in compression (6.2.4), bending (6.2.5), or torsion (6.2.7). Every possible internal force has a chapter.
  • Secondly, you would encounter “stability” chapters. There you would learn how to calculate a member in compression (6.3.1) or bending (6.3.2).
  • At the very end, you would find the only “big interaction formula”. The infamous equations 6.61 and 6.62 – student’s worst nightmare! Those equations allow you to calculate a lateral torsional buckling of a member in compression and bending (in both directions).

If you would like to do “hand calculations” according to that code, this is more or less it. And you know what is “funny”? The interaction formulas for lateral torsional buckling… do not include torsion!

If you would think about it, it seems that lateral torsional buckling should somehow depend on torsion. Even the name suggests that! Sadly, while you can calculate the torsional capacity of the cross-section, you just don’t have a way to include such a load in the “interaction formula”! There is no way to do that foreseen in the code!

So the procedure for a member in compression, bending, and torsion looks like this:

  • Check cross-section due to compression
  • Check cross-section due to bending
  • Check cross-section due to torsion
  • Check member due to buckling under compression
  • Check member due to lateral torsional buckling under bending
  • Check the member due to combined stability under compression and bending

Did you notice how “complete” the list looks? It seems that everything is there, right? You would really need to focus to notice, that the “final” capacity of the element… doesn’t take torsion into account!

Imagine that you have a beam that has a 50% capacity used due to torsion. And at the same time, its lateral torsional buckling (LTB) capacity without torsion is at 80%.

All of the above checks would show that “everything is ok”. But even if you would “simply add torsional stress” to LTB check the capacity would be at 130%. And this doesn’t even include torsion impact on lateral torsional buckling – just the stress!

Clearly, the beam is too weak, and we don’t even know by how much! And yet, checking things independently shows, that seemingly all is fine!

A very important note:

Please don’t think for a second that I’m cricisizing Eurocodes. I’m not. I just wanted to show you how things look like in reality.

I’m not saying I could have done this code better… because I clearly couldn’t!

Same but different!

Now, let’s take a look at something “more general”, and that is linear FEA!

I don’t want to dive deep into why I feel that linear FEA may be insufficient in many design cases. This is not a post about that after all.

So instead, let’s take a look at how you would do the linear FEA design.

I don’t think I will surprise you by saying, that there aren’t many steps to this process. In fact, there are usually only 2 steps:

  • Check the linear static analysis! It will give you stresses that you can “interpret” to say if the material capacity is sufficient. While I have my objections, let’s say here, that this is doable. This would be the “cross-section” check from the previous part. You effectively check if, in each place, the material is “strong enough”.
  • Check Linear Buckling Analysis (LBA). I admit that this is a more “tricky part”. It checks “a bit” from the stability of the system, but not much. I can’t really compare this to the “stability check” done by Eurocode. This is because there are some major differences:
    • Eurocode assumes that you have to calculate the “critical load” for each load type separately (i.e. Critical Force). Then you take this value, calculate the slenderness of the member, and use “buckling curves” to establish buckling capacity. Then you take those for compression and bending, and “combine them” in the “interaction equations” that omitted the torsion we already discussed.
    • Linear Buckling Analysis calculates the “critical load” for all the loads you have in your model ‘at once’. So this is not a “critical force” (unless you only have a single compressive load modeled). This is a “critical load multiplier”, as it’s hard to give it a numerical value in complex loading. This is a “better” part since Eurocode had to combine critical force and critical moment with some funky equations. On another hand… you only get this: the critical load! You don’t have buckling curves, you can’t include imperfections, etc. So this is NOT the buckling capacity of the system. At best it’s a “helping value” that allows you to guess capacity due to stability (usually much lower!).
    • But let’s ignore the above problems… and let’s just say that you miraculously CAN derive the buckling capacity from LBA. Just for the sake of the argument.

This is all that you will do in structural linear FEA. Sure, you could play with modal analysis if you would need it, but let’s leave this at that.

Do you already see the problem?

Yea, precisely! The “stress verification” and the “stability verification” are completely separate from each other!

Even Eurocodes connect those two to some degree. Simply, the procedure treats stability as a “reduction factor” for plastic capacity. I’m not sure if I’m a fan of such an approach, but you know – it’s better than nothing!

In Linear FEA literally, NOTHING connects the “stress verification” and “stability verification”. Everybody knows that stresses obtained in LBA have no practical meaning, while if your model would buckle under the load, linear static analysis won’t even see that! It will simply continue to load your structure without any warning messages!

So, just like in the Eurocode example – if the stress analysis would show you that the capacity is around 90%, and the buckling analysis would show you that the capacity is at 90%*… it’s very likely that your model is too weak!

*A quick note: I assume that you have a reasonable way of establishing buckling capacity from LBA! Because if we would say that 90% capacity means that the critical load multiplier is 1/0.9 = 1.111 things are BAD! In such a case, your structure is definitely too weak due to buckling. It doesn’t matter if the stress interaction will be there or not!

How does this work?

So far, I showed you that we don’t really check interactions of various effects in design. This is sadly the case. So now, let’s see if there is any solution, and how bad this effect can be!

The solution lies in Nonlinear FEA.

To demonstrate this phenomenon, I have to first do an analysis that would be equivalent to those from linear FEA. So what we want to do, is to check capacity due to material capacity, and due to stability… SEPARATELY!

This is actually doable, without much hassle!

Nonlinear Material Goes First!

Firstly, let’s do the equivalent analysis to “linear static”. The goal is, to calculate the capacity of the material, completely ignoring stability. This is why we will only use nonlinear material.

This is how our model fails in such a case:

I’m first to admit that I love such animations, but realistically it’s the equilibrium path is the actual outcome of the analysis. Below, you can see just that – the chart showing how the deformations of the tip of that chimney change in relation to increasing loads. I show those loads as a “multiplier”, which means that 0.5 means 50% of the applied load:

We could spend several posts discussing how to read capacity from such a chart. I could also show you how plastic strains change in the same analysis. But let’s shorten this, and I will simply say, that the plastic capacity of the above structure is somewhere around the “bend” of the chart above. In this particular case between 0.55-0.6 of the applied load.

Do you know what is the funny part? We didn’t go into any details on how to analyze outcomes – we just made a rough estimate. And that estimate is still WAY more accurate than whatever you could do based on stresses from the linear analysis. Crazy right?

Nonlinear Geometry Goes Second

Now it’s time for the “equivalent” of Linear Buckling from the Nonlinear FEA Kingdom. In this case, we want to calculate the “perfectly elastic buckling capacity”. So we will use Nonlinear Geometry, but we will use Linear Material.

Just as in the previous case, the outcomes look like this:

Did you notice how different the failure mode is? You can clearly see the “buckling dimple” that goes to the inside. And the cool thing about elastic material is, that this dimple can “travel” upward the shell! Everything is elastic, so there are no permanent deformations stopping that!

Of course, however awesome that would look, the actual outcome from the analysis is below:

Here, the analysis of the outcomes is pretty simple. You can see, that the load increased up to 0.58 of the total applied load, and then rapidly decreased. This is the capacity!

Just as in the previous case, I have to say, that the above outcome is way more accurate than LBA. This is because our analysis actually takes into account nonlinear geometry, and LBA just can’t do that! This is important, because buckling is a nonlinear phenomenon, and ignoring that would lead to serious overestimation of outcomes.

Both nonlinearities combined go third!

It wasn’t hard to notice, that the analysis we did use either nonlinear material or nonlinear geometry. Furthermore, the capacity from both analyses was quite close – around 0.55-0.6 of the applied load.

The equivalent would be using Linear Stress analysis, and Linear Buckling analysis separately and obtaining such outcomes.

I think that it’s easier to analyze less abstract outcomes at this point. Let’s say, that I applied two times more load than I had to due to codes! I could do that, just to see what would happen in the element, when the loads would be higher than foreseen by the code.

This means that the capacity of the structure would be 55-60% of the applied load (twice higher than needed). So in the end, my structure could safely transfer 110-120% of the loads foreseen by the code. A perfect design!

So now, let’s make the magic happen! So far, we calculated “plastic capacity” and “buckling capacity” separately. Let’s combine those, and run an analysis with both nonlinearities present:

I think the first thing that will catch your eye is that the failure looks completely different. And, I have to add, that to me… it simply looks “real”.

You can see that the shell fails “to the inside”. It’s important since in the nonlinear material analysis shell didn’t deform like that at all. On another hand, the buckling dimple does not “travel” on the shell. As soon as it forms, yielding starts around it – so there are no “elastic movements” possible!

Of course, the real outcome is still on the chart:

Oh, yea… this is real!

As you remember both “stress” and “buckling” capacity was around 0.55-0.6 of the applied load. But when you combined those effects together, the capacity drops to barely above 0.4.

Let’s again assume that I applied twice as much load as code foresees. The “buckling” and “stress” capacity was around 110-120% of the code load. But considering both yielding and buckling together in the same mode, the capacity dropped to 80% of the load foreseen by the code.

So… everything looked just fine until it stopped!

As you can imagine this is not a joke, but rather a serious problem!

When our powers combine!

I think that at this point, you don’t have any doubts that this effect exists.

But before we will get to the capacity alone, let me first talk about failure in general. I put all 3 failure models in the gif above. Side by side it’s very visible that those failures are completely different!

I think that I’ve said 3 times in this article, that the “real outcome” is the equilibrium path, not the animation. And this is of course true. But it doesn’t mean, that the animation is useless.

Apart from the fame-points you get for putting such things online, those animations really can help you. Thanks to them, you can see the failure mode of the structure!

This means, that if you want to strengthen your design, you don’t have to guess what to do. The animation shows you clearly what is failing. So while strengthening you can act like a surgeon, not like a fortune-teller!

And this is the first point. The “combined” failure model of your structure can be different than those shown in “buckling” or “stress” analysis! This means, that you may be missing a “different” (and worse!) failure mode!

This would be the first argument to use Nonlinear FEA in design, and simply check things properly!

Of course, the main reason remains the accuracy with which you can calculate capacity!

Clearly missing 30% of the estimated capacity is a serious problem.

I hope that I managed to show you, that the interaction of various effects is significant in design! Regardless if you are doing a simple code-check or FEA calculations!

I would be really happy if you would remember this:

When you calculate separate capacities of various effects for your structure be careful. Especially when the capacities you obtain are similar in value!

It’s likely that the “combined” capacity of your structure (including all of the effects calculated separately) will be actually significantly lower than the worst capacity you managed to obtained!

This is caused by interaction of effects cooperating together to cause failure quicker.

To those with the hammer

They say, that if you have a hammer, everything starts to look like a nail.

I think it’s quite clear, that I’m biased toward doing Nonlinear FEA calculations. I won’t even try to hide that this is a vast majority of the analysis that we do at the office.

As you can imagine, I got used to the fact that the calculations I do simply allow me to check phenomena like the one I described here.

Of course, this is one of the huge benefits of nonlinear FEA. I can’t imagine doing a responsible design without checking stuff like that. This is why I design pressure vessels, weird shell structures, and similar things. I just know how to do it correctly!

It’s a good career, and of course, I would encourage you to check the things you design to the best of your ability (and beyond, so you can learn and develop!). This is how I got to this place, and I’m pretty certain you can as well!


I would be an idiot if I would think, that every barn will be checked with nonlinear FEA! I mean, simple things have to be designed as well! And definitely, not everything deserves a nonlinear FEA design!

So while I would definitely encourage you to learn Nonlinear FEA, this is not the only takeaway from this post!

Remember that this effect exists!

And it doesn’t matter what methods you use to design your strucutre!

You may use a code procedure that misses something, or perhaps you are using linear FEA in design. This means, that you won’t be able to check how big an influence this effect will have on your design!

But this doesn’t mean that the effect won’t exist!

You will simply have to estimate (do I dare to say guess?) some extra safety margin. And if the “stress” and “buckling” capacity of your linear FEA will be close to each other… the margin should be even bigger!

Of course, the same goes for code procedures that exclude some components from interactive equations. In the Eurocode example, I started with, you can’t include torsion into the design. There is no way to do it. So, if you happen to have an element in torsion… keep a safety margin for this!

Of course, you will instantly ask “how big is the safety margin that I need?”. To be honest, I just don’t know! This will clearly be case-dependent, and I know better than to give “one fits all” answers.

If you will feel, that guessing this safety margin makes you uncomfortable – then do accurate calculations with nonlinear FEA. You won’t have a problem then!

But if you want to keep to simple methods, that is totally fine! Just be aware that this guessing is part of the package!

Linear hall of shame!

I’m adding this chapter, because without a doubt someone will ask in a year about this, and I won’t have the model then!

You most likely noticed that I’ve only shown you nonlinear outcomes. It’s quite clear that I could easily get the linear outcomes as well.

So just to show you why I don’t think that linear FEA is great for design, here they are!

On the left above, you see the first eigenvalue from Linear Buckling. This is what failure mode LBA predicted. The Critical Load multiplier was 1.11. I already explained that outcomes from LBA are not buckling capacity. But if you would treat them as such, you would overestimate the capacity by literally 2 times!

On another hand, the linear analysis shows that under applied load the maximal stress is 2230 MPa. This is almost 10 times higher than yield stress (275MPa in this case). To be precise, if we would treat yield stress as “failure” the model is “only” 8 times too weak!

Of course, you could ignore the “stress peak” (a common practice I’m afraid). But then, the capacity is just a function of how much you want to ignore! I still think you would not ignore 0.6 * 2230 = 1300MPa. This is how much stress (almost 5 times the yield stress!) you would have at the load considered a failure in nonlinear material analysis.

LBA overpredicted the capacity by 2 times, Linear Stress analysis underpredicted the load by 5 times… I can’t really comment on how useful those outcomes are.

Please note, that in the above “estimation”, the value of “stress capacity” and “buckling capacity” are not close. In fact, they are very far apart!

So, the linear FEA could suggest, that the interaction effect I described would not happen. But we already know that it does happen in this case, and is significant!

This is an inherited problem of Linear FEA. We know that in this case, the “stress” and “buckling” capacity are close to each other. But linear FEA is so bad at estimating capacity, that our linear estimates do not even see that!

Remember this:

Interaction effects happen when “real stress” and “real buckling” capacity of the model are close to each other. How would you estimate the “real” capacity of both based on linear FEA is up to you!

Glorious finish line!

Here we are at the very end! I really hope that you like the ride!

Without a doubt the interaction effects of many phenomena are important. Often, you won’t be able to take those into account without nonlinear FEA use.

So either use nonlinear FEA or be prepared to guess and maintain an extra safety margin.

This effect is the worst when the capacities of separated effects are close to each other. Then the “final reduction” of strength will be the worst!

But it’s not about the outcomes you’ve got from linear FEA, but the “real” capacities your model has. Sometimes, due to the accuracy of calculations, it may be even hard to judge if the capacities are close to each other. So you know, be careful!

Author: Łukasz Skotny Ph.D.

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!

Read more

10 Lessons I’ve Learned in 10 Years!

Get Essential FEA Course for Free!

Join the discussion

Comments (0)

Sign up to newsletter

and get Free FEA Course!