I remember well when I first tried to understand buckling. For whatever reason, this was not natural for me. There were so many equations, that didn’t make any sense back then! But it’s way easier to understand stability thanks to FEA. To go there, we need to find a good answer to a question: what is Buckling Analysis?

**Buckling Analysis is an FEA routine that can solve all the difficult buckling problems that cannot be solved by hand calculations. Linear Buckling (LBA) is the most common Buckling Analysis. The nonlinear approach, on the other hand, offers more robust solutions than Linear Buckling.**

As with everything in engineering, there are different “levels” of complexity in Buckling Analysis. Definitely the more you know, the more you can calculate accurately… but let’s start at the beginning.

**Buckling is the Name of the Game!**

Firstly, I feel I should start with something pretty important:

Usually, when people say

“Buckling Analysis”they haveLinear Bifurcation Analysis (LBA)in mind.While LBA is a great tool, and we will definitely talk more about it here, this is just the begining!

In truth,

many problems require nonlinear approach to buckling, and I will discuss this here as well! Such approach is also a “buckling analysis”, but you may have heard “nonlinear buckling” used in this regard.

To be fair, I prefer to talk about “stability” rather than “buckling”. While this may be my weird quirk (I guess a Ph.D. in stability does that to you!), I think it’s a bit more precise. I guess this comes from the fact, that when we discuss buckling, people instantly think about Eulers column, and “buckling” of compressed straight members.

While in fact, stability covers a LOT more effects. I can comfortably call most of them “buckling” anyway, but I think stability simply fits better into the role. So before we go any further let’s take a look at some cool ways in which stuff can lose stability.

**50 Shades of Stability**

There is one thing we have to cover before we go into FEA buckling analysis and all the “technical” stuff. You simply needed to be aware of how things can actually fail due to stability! After all, it’s critical to know what you are trying to solve in FEA. It’s not only the “know your enemy” thing. The actual approach to modeling and analysis will differ in some cases, depending on the stability type you have to deal with. This is why I compiled a list of all the awesome ways something may fail due to stability:

**Buckling!**Well yes, everything starts here. I sometimes wonder how many structures failed before we realized how dangerous buckling is. If you compress a slender member it will fail at stresses much lower than yield – a classical phenomenon.

**Lateral Torsional Buckling!**This is something “different” and the same I would say. When the beam is in beginning, half of the cross-section is compressed, while the other half is in tension. The compressed part wants to “buckle” while the tension part tries to stabilize the whole beam. In the end, the beam will “twist” and fail if it won’t be supported laterally in a proper way. Think about it like about “normal buckling, but in bending not compression”. It’s also way worse to calculate… since you need to know the Critical Bending Moment!

**Local buckling!**This is fun! I really don’t like the “local/global” division. But the fact remains. If you have a beam with a very slender web, it can happen that the web will buckle on its own, before the beam will fail due to buckling (or LTB in bending). This failure of a slender part may mean failure. However, often (especially in welded steel I-sections in bending) it can lead to another state of equilibrium where the beam is still working. Such conditions are usually called as “post-critical capacity” or “post-critical work”.

**Buckling under shear!**Not only compression can cause buckling. Shear does this as well. You could argue that shear by default leads to compression and tension (like in the truss model we use to calculate shear reinforcement in concrete beams). But still, your FEA software will show you shear, rather than compression, so I think it’s fair to treat this as something different. You usually won’t have issues with this kind of stability… unless you are doing beams with slender webs, or you are designing shells/plate structures. Rules for beams are pretty well known I would say, but shear stability of shells can really catch you off-guard!

**Shell stability!**This is my Ph.D. right there! So many options. Shells can fail due to compression in the longitudinal or circumferential direction, or due to shear. But usually, due to all of those effects combined in one way or another. Plus, this can happen in a local or global manner. Yup, it is a mess! I won’t even bother to name all the possibilities (there is even buckling due to extensive plastic deformations!). In essence, shell stability is a complex topic, and we will discuss this as well of course (never run from those difficult tasks!).

**Global Equilibrium!**I’m putting this here, but with mixed feelings. Technically, if you have a structure that has too weak anchoring if the wind blows it may tip over. While the wind did not “destroyed” any piece of the building (i.e. nothing “buckled”), the entire thing just collapsed. Technically this is a form of stability, but I usually would categorize it as “failure” as such, and I wouldn’t oppose anyone who would argue that this is not “classical stability”.

All right, I know it’s a lot to take in. But truth be told, without understanding all that, doing FEA Buckling Analysis isn’t a great idea. It’s pretty easy to omit stuff if you are unaware of! We will get back to this close to the end of this post.

**Linear Buckling**

To this day I don’t understand why they don’t teach this in kindergartens. This is the most “basic” and user-friendly analysis FEA can provide for buckling problems. While limited, and pretty inaccurate in some cases, Linear Bifurcation Analysis (LBA) is so easy to use, that it’s a default stability analysis in most FEA packages. It is so popular, that in some software this type of analysis is simply called “buckling”.

The idea is, that you input, support and load the model, and then the analysis provides you with a critical load multiplier as an outcome.

Load multipliers as outcome:If you are used to using design codes, it may seem weird to present a capacity as a “load multiplier”. But this actually makes a lot of sense. In essence you should read such outcomes as “how many times I should increase my load for the structure to reach failure”. Of course, load multiplier higher than 1.0 means that the load you applied doesn’t reach “analysis failure” while multiplier lower than 1.0 leads into doom!

You can read more about load multiplier as an outcome here!

Critical load multiplier you get from Linear Buckling is a pretty peculiar one.

The outcome should read: **how many times do I have to increase the loads for my ideal model to fail due to elastic stability.**

Engineers often read the above as a “capacity due to stability”, which is sadly **completely wrong! **The below graph shows it clearly:

It’s like with the Eulers column we started with. While critical force might be quite high, the “actual” capacity will be much lower. There are three main aspects we should look into:

**Imperfections!**Let’s face it, a chance that our column will be perfect are 0 (in words: zero). Whatever we will do, and however we will try, there will be something off. Maybe the axis won’t be perfectly straight or vertical, maybe we will apply the load with a slight eccentricity, or maybe the material of out column won’t have perfectly the same properties across the member. Whatever the cause may be, all of those factors will lead to reduced capacity. This reduction is not taken into account in Euler’s equation. This means, that this Equation (and LBA for the matter) overestimates capacity because of this effect.

**Linear geometry!**I do admit that this is important only in some cases, but when it is important it does change things. It’s clear that LBA is linear. On another hand buckling as a phenomenon is not. As with everything it doesn’t mean that you have to analyze everything with a nonlinear approach. Sometimes, the impact will be small (like in most beam models). But in other places (plate/shell structures) this is something you cannot simply overlook!

**Linear material!**Usually, engineers try to kept plasticity “away” from stability. But this is only because all we can calculate manually is the “elastic stability”. Think about it this way. Buckling is more or less a complex deformation thing. When steel yields, deformations are “for free” since those are “plastic deformations” and do not require the additional load to happen. So it’s actually pretty reasonable to assume, that when your element starts to yield it will be more prone to buckling. And it is! Both the Euler’s equation nor LBA can take that into account.

We need to discuss those issues one by one before we move on. This is the critically important stuff (the pun!).

**Who cares about imperfections?!**

This is the part of FEA design that many engineers would gladly forget about! I’m pretty certain that if imperfections would be simple to implement, nobody would complain. Sadly, this is a rather complicated thing, and also seriously time-consuming. So it’s only natural that people want to ditch it!

Fun note:with my several years of experience in corporate training I’ve learned something curious. It is often the case, that the most difficult things in design are usually “overlooked” or plainly “ignored”. And when I ask about those topics, I usually hear things like “it’s impractical”, or “too little time”, and the old time classic “we always did it that way”.I think that showing on examples how the ignored effect reduces capacity is a pretty important thing in such cases.

Since imperfections are also often ignored, let’s do a simple example, shall we?

Very basics of imperfections!

Before we go into more complex things, let’s take a look at how this really works. We will use our trusted Euler’s column for this ok?

Firstly, let’s take a look at how this works in LBA. We have a nice column, and we load it with the load P=1. It doesn’t really matter how much load “1” means. Notice that the column does not deform to the sides at all. It may shorten a bit due to Hooke’s law and all that, but this is a minuscule problem here.

All right, let’s increase the load to P=2. Again, nothing really happens. Side deformations are still zero.

Finally, we apply a “big enough load”. I denoted it as Pcr, but it is often called “Eulers Force” or simply “Critical Force”. With this much load, our column buckles! Funny enough, it doesn’t matter how big the side deformations are. Instantly, in a place called bifurcation point, our column “snaps” into the failure mode… and it’s done! Formally, the side deformations become infinite (this is what LBA would show), but of course the “real beam” would simply break at some point (LBA doesn’t see that though).

Of course, “infinite” looks really bad on charts in FEA software, so instead the shape is “normalized”. Often times you will see that the maximal horizontal deformations in LBA are equal to “1”. But it’s not 1m or 1mm or anything else. It’s just a way to show you the “shape”. Think about it this way: if this point moves “1”, and the other point moves only “0.5” then the second point moves half the distance of the first. How far they go is irrelevant. This is simply linearly scalable.

What did we learned from that?Well there is only one conclusion to make. Since we are analyzing a “perfect model” horizontal deformations happen only at failure!

This is not the case in reality… so let’s take a look!

**Ok, ok… I do care about imperfections!**

Now, let’s take a look at our wonderful column, but let’s bend it initially.

Usually “the bend”, is the way in which we bead with all the things that are uncertain (straight axis, constant material properties, eccentricities and all!). Taking all of those effects separately wouldn’t be practical. Instead, we will combine them into one value of “imperfection” I marked as U0 below:

Note how the reaction changes of the model:

**Zero load:**Model already has a certain horizontal deformation U0. I will call the “imperfection amplitude”. Also, it is bent in a sin arch (this is the “imperfection shape”). Note that you need both shape and amplitude to define the imperfection.

**P=1 load is applied:**Since the initial imperfection was there, applying the load P=1 causes some bending. Because of this beginning, our column deflects more, and now the horizontal deformations are equal to U1.

**P=2 load is applied:**Again, even more, load appears, causing bigger bending, but also bigger deformation U2.

**The limit load is applied:**At some point, the load is so high, that the column fails due to buckling. Note, that we can easily assume that no yielding was involved… but it might just as well be involved. We will get back to this later!

This is what I would call a “limit load”, or the actual capacity of the beam. To be precise I should add, that if the stress level would rise to the yielding point, yielding should be taken into account to get a “proper” limit load. For now, let’s assume that the buckling happened in a purely elastic zone for simplicity.

Please note, that the “real capacity” I called limit load is smaller than the critical load predicted by LBA!This means that imperfections along with second-order effects really reduce capacity. Sometimes by a very high margin. The

maximal reductionbetween a “perfect” and “imperfect” modelI saw in my own designs was 2.5 times smaller capacity!I feel you don’t want to make such mistakes… so it’s better to include imperfections in your models if you are using FEA as the main design tool.

But there is a problem with LBA… even if you implement imperfections, LBA won’t take secondary effects into account! There will be no increase of deformations in the middle with the increase of the load. While taking secondary effects into account seems necessary… LBA won’t do tricks like this for you. Which leads us to the second point of the list we are discussing!

**Linear as… Linear Buckling!**

The phenomenon I just described (with the increasing deformation due to imperfection) is actually nonlinear. Sure, you need to implement imperfections in the first place. Without them, the whole thing doesn’t happen in our example anyway. But I covered this already in the previous part. But even if you implement imperfections things aren’t great for LBA! Since this is a linear algorithm, it can’t take second-order geometry effects (like increase of deformations I just described) into account. There is no setting that can change this! Simply put LBA uses “linear geometry”. For the second-order geometry effects to happen in analysis you need “nonlinear geometry”.

Small disclaimer for picky people:I understand that “second-order geometry” and “nonlinear geometry” is not exactly the same thing. Some software (especially cheaper ones in civil engineering) only have “second-order geometry” implemented. It is often called “second-order analysis” in those programs. With it, you can’t really do “geometrically nonlinear analysis” unless it is implemented separately. “Full nonlinear geometry” allow for some more tricks. I.e. things can enter the membrane state during analysis. You can read more on nonlinear geometry or how it works here!

I suspect that this will die off at some point, as all the FEA packages will allow for nonlinear geometry. As of now, to get the increase in horizontal deformations under load you don’t need the “full nonlinear geometry”. All you need is a remnant of the past called “second-order geometry”. Think about it as “nonlinear geometry of the old times”.

Just to avoid angry stares, I will refer to this mostly as “second-order effects” in the rest of this post! Just be aware that it’s almost the same as “nonlinear geometry”.

All right! Let’s assume that the solver wants to include an increase of deformations (second-order effects). The only way to do it would be to apply load as I did. Divide it into smaller portions, and see how the model behaves with a smaller load. And then progressively add more and more load, noticing how the model deforms and taking that into account.

Sadly, LBA cannot do it… since it is linear!

This means that even if you would include imperfections, LBA won’t take into account this additional deformation from imperfection (often called “second-order deformation”). Not everything is susceptible to this. Most of the beam models won’t care that much since design rules cover this effect. But for instance, shells will cry in outrage!

**For beam models,** the problem is smaller. But it is not because you can “completely ignore” second-order effects. That would be too much even for beams! However, beams (and columns and other “members”) are pretty easy to predict. This means that code design procedures that you may use (like those in EN 1993-1-1) already include second-order effects “hidden” in the procedure itself. In essence, you can estimate the critical load without those, and factor for second-order effects later, thanks to the design procedure.

**For shell models, **things are grimmer. It’s almost impossible to predict how various shells will react to imperfections, and what will be the scope of “second-order effects”. It’s hard to make a blanket “safe side” assumptions about this. What you would get would lead to extremely conservative design in many cases (while being extremely needed in others!). This means, that you simply cannot use LBA in shell design. Well, you may use LBA, but such a procedure must be governed by insane expectations and assumptions. You know, like calibrating the design method for each particular case!

**Elastic or Plastic… what Capacity Really is?**

The final point on this shortlist of Linear Buckling limitations is a fun one. Here, we will wonder what on earth capacity of an element really is!

This may come as a surprise, but this is actually quite a complex topic!

Firstly, let’s throw out of the window all the “weird stuff”. We won’t talk here about fatigue, nor dynamic effects, corrosion and many other things that may cause collapse. Since things are complicated already, let’s agree that we will keep strictly to static design. Also, we won’t check additional stuff like maximal allowable deformations and the like. Those have no real impact on buckling.

That being said we are left with stability and plasticity:

Plastic failure:You can think about it as a “stress failure”. In essence, a part is loaded with so much, that the material fails to carry stresses it is subject to. You know, like a concrete brick in a hydraulic press. There is no stability influence. I don’t think I have to convince you that when you compress a concrete cube in a hydraulic press… it won’t buckle!

Stability failure:I myself refer to this as “elastic failure” but it may not be the best way to describe this phenomenon (hence I used stability instead). This is the “pure buckling failure”. Since in this case buckling happens in “purely elastic range” plastic capacity of the material is irrelevant (as long as it’s high enough to keep buckling within elastic range).

Most designing procedures (the analytical ones described in codes) use a single capacity metric (usually in percentages). In most cases it’s derived in a way, that you calculate the plastic capacity first, and then reduce it to take stability into account. In the end, you get one single value describing the capacity ratio of an element.

But in such an approach, it is pretty easy to lose a very important thing! **Those two are not separate!**

In fact

plastic failure and stability failure can “cooperate” to cause failure sooner than any single one of them could!

This can definitely surprise you!

I often see people checking stresses (i.e. plastic analysis) and then checking stability. Usually, if both are ok, the outcome they see is “structure is ok”. Sadly, this may not be the case! As with everything, there are several possibilities here:

**Plastic failure dominates!**This is a simple situation. Like a concrete cube in a hydraulic press. Sure, one could stupidly argue that such a cube could buckle. But even then, buckling capacity would be what… thousand times higher than the plastic capacity (i.e. the crushing force). In such a case, it is obvious that the plastic failure will be the failure mechanism, and that is that.

**Stability failure dominates!**Imagine a rod with 1mm diameter that is 10m long. You try to compress it. It will buckle at the sight of any compressive load. You don’t even have to load it, the pure “threat” of the load is enough! I don’t think I need to convince you that increasing yield strength of steel from which the rode is made changes nothing. It will buckle under a few MPa of compressive stress. Way below any reasonable yield limit. In such cases buckling dominates, and buckling capacity would be the deciding factor.

**There is always stuff in the middle!**Now imagine a 1m long steel pipe (with a reasonably small cross-section). When you apply compressive load since it is imperfect (let’s face it everything is…) it will be also in bending. So just as in the previous example, the horizontal deformation will increase. But this also means that the eccentricity is higher! This, in turn, causes even more bending and more deformation! This is a spiral that reduces the capacity due to stability as we discussed already. But in this particular case, before the buckling will happen stresses from compression and bending start to cause yielding in the middle of the pipe. This makes the deformation even higher! This, in turn, increases the stresses, and reduces capacity due to stability at the same time! Finally, pipe collapses!

This is where the fun happens. Because you see… the pipe from the last example could fail let’s say under load 80. While its capacity due to stability could be 90, and plastic capacity could be 100. And this is when people get it wrong! It is often the case, that buckling and plastic capacity are somewhat close to each other (like 90 and 100 in this example). In situations like that… they will “cooperate” to destroy the model, and the final capacity will be lower than any of the two effects alone!

To put this in perspective let’s consider our 3 cases again, but with numbers:

**Plastic failure dominates!**Plastic capacity: 10, Elastic capacity: 10000, Final “real” capacity: 10. There is no “influence of stability, since plastic and elastic capacity were “far away” from each other, and one clearly dominated.

**Stability failure dominates!**This is the same situation but in reverse! Stability capacity: 10, Plastic capacity 10000, Final “real” capacity: 10. This time plastic capacity was so high that this failure mode did nothing to actually “assist failure”.

**And finally, stuff in the middle!**Just as I wrote in the example above. Plastic capacity: 100, Stability capacity: 90, Final “real” capacity: 80. Notice that 80 is lower than both 100 and 90, which leads to a super important conclusion:

If the stability and plastic capacity are close to each other it is not enough to check them both separately!

And this is another thing where LBA won’t help you. It cannot use nonlinear material (to calculate plastic capacity). This means it won’t take into account the “cooperation” of failure modes!

**What you get with LBA!**

Ok! It’s high time for something positive right!

I just told you, that Linear Buckling (LBA) will provide you with some sort of an outcome… but it won’t include important effects like imperfections, second-order deformations or influence of yielding on buckling capacity.

So the only reasonable question is… why on earth even bother with LBA?!

Luckily there is a solid answer to such a question!

LBA shines when you have a defined design procedure!This is mostly the case with beam models. In order to design a column or a beam, you need to work pretty hard. Most codes (like EN 1993-1-1) describe design procedures that allow you to take all the effects we just discussed into account. However, to use them, you need to know the member

slenderness.You can calculate it manually – it’s doable in many cases, but in some pretty time-consuming. But instead

you can use LBA to calculate the critical load – the most troublesome component of calculating slenderness!

This is where this analysis shines! It can greatly simplify the work you need to put in to design a problematic element in your beam models. But… that is more or less “it”. If you are not into beam models and code-driven design… LBA is just a nice toy!

Sure, based on the outcome you can make “educated guesses” about capacity due to stability… but those will be guesses, as you don’t include all the factors I just described!

Teaching various companies about FEA and stability I often hear that they are using a “magical LBA limit”. You know something like “if critical load multiplier is higher than X we are fine”. I must admit that “X” varies greatly (from around 2 to even 50!), but everyone is convinced that their value works! Sadly, there is no single “blanket value” and I can show this based on a simple example.

Let’s look at an example, how LBA outcomes are “relative”:Imagine a 2m heigh truss. Each compressed strout designed according to Eurocodes will have it’s capacity around twice lower than critical Eulers force. This means, that if the truss is “well designed” the critical load multiplier for those elements will be abound 2.0-3.0.

The same outcome (2.0-3.0) would raise some flags for a simple frame system if this load multiplier would be assosiated with a sway stability failure.

And the same outcome (2.0-3.0) would be a likely disaster in a design of silo shell, as the actuall capacity may be several times lower.

As you can see above, “the same outcome” from LBA in one situation is perfectly acceptable (truss diagonals) while leads to almost certain failure in other cases (shell buckling).

What I am trying to say here is, that there is no “magic critical load multiplier” that solves all of your problems! And in fact, **LBA outcomes cannot be used as a capacity measures!** At least not without a lot of work beforehand. Let’s discuss this further, shall we?

**Using LBA to Estimate Buckling Capacity**

Sure, I can imagine a procedure that would help you to learn more for very specific and highly repetitive models. But it would be up to you to figure this out. Below is the list of what I would do (if I would work in highly repetitive tasks of course) to generate enough knowledge to use LBA more wisely:

- Decide what are the types of structures that you do, that are highly repetitive. Each of the groups shall be analyzed separately.

- Calculate the actual capacity of the structure – this is NOT an outcome from Linear Buckling! Most likely you will have to use some design codes, testing or nonlinear FEA approach to get the correct answers.

- For each case, also calculate Linear Buckling. Notice, how the “actual” capacity differs from the LBA outcome.

- Make a list of all the models you calculated this way. After some time, you may start to analyze things statistically, and draw conclusions. You know something like “I analyzed 30 models like this one I’m doing now. Each was fine and the lowest outcome I got from LBA was 3.2. This time I got an outcome from LBA of 3.6… which means there is a really good chance that my structure is ok”. Of course, you can do all sort of statistical analysis of the outcomes, or even try to see what parameters of your models increase/decrease LBA outcomes.

- After some serious time (and work involved) you can draw conclusions purely from LBA. Not because LBA is so awesome at judging capacity due to stability, but because you put in a LOT of work!

- Every time someone tells you the “magic LBA limit” ask them if they did such a study I just described, and what models did they use for the study. You will quickly realize that in most cases people are just “guessing” or doing stuff the way they always did (even though they don’t know why!).

As you see, it’s completely doable to use LBA to judge the capacity of the models quickly. But there is a good reason why no of the codes I know of, allow using LBA directly as “capacity”. It simply doesn’t work this way.

I would love to tell you “Yup! it’s so simple. Just take the LBA outcome and you are fine”. Sadly, the most beautiful part of the engineering is, that it is way more complicated than this. And it’s actually dangerous to you and your designs to make such shortcuts without understanding how things work!

**Nonlinear Buckling Analysis – the Older Brother of LBA!**

Of course, there is a solution to this. It’s the 21st century after all!

But I will start with when not to use it ok?

When you don’t need a nonlinear approach:

Beam models!Yea, as I told you before, all the things “omitted” by LBA are “hidden” in the code-driven procedures of design. Since you will use codes in design of the beams I assume, you are absolutely fine with not doing the nonlinear analysis I will describe later. All the phenomena are already taken into account by the design code.Ok, maybe not all of them… just read the code and make sure if you comply with all the assumptions. If that is the case, you are set!

Plate/Shell structures where buckling is not an issue!You know, not everything buckles (this may come as a surprise, I know!). But since this is a topic about buckling I guess your structure has to be verified anyway. Also, nonlinear analysis is useful even if the structure does not buckle, as it deals with the irritating stress concentrations for you! Yup, no more guessing how much stress is “allowable” beyond yield, and no more radically-safe-side-estimates! Nonlinear FEA is good for you when you design stuff!

All right, so let’s wonder how Nonlinear Buckling Analysis works. It’s actually dramatically simple! Let’s take a look at what the solver will do:

**Step 1: Divide the load!**When you set up the analysis you define how to divide your load into small chunks called “increments”. This is an important part, small increments help with convergence, but take longer to compute.**Step 2: Apply the load in turns!**This is where the magic happens. Solver applies the load increments to your model in a step-by-step manner. It sees “in real-time” how the model behaves. This, in turn, means, that it will take the “second-order effects” into account (and as we discussed LBA cannot do that for you). Also, if the material yield somewhere along the way, the solver “knows it” and can take it into account along the way!**Step 3: Display outcomes!**Outcomes are pretty funny. It’s not a single view of your model, but rather a slideshow, where outcomes for each load increment are shown. This means you can ger an awesome animation of outcomes like the one below!

What you don’t see at the animation is, that the model had some imperfections applied to it. I automatically changed its geometry with the certain “imperfection shape” with the “imperfection amplitude” taken from the design code.

Notice, how the model response changes. Firstly it deforms more or less uniformly around the circumference. Then it selects one “dimple” and this one grows greatly. Afterward, a nearby dimple grows as well (that is after failure actually). This is purely a nonlinear solution, as linear one would show the same deformation all the time, only scaled with a higher and higher number (it could not change the character!).

And finally, notice that at some point stresses stop increasing when reaching 138.2MPa. This is because if yielding (in high temperatures, but it’s irrelevant). The model is set up in such a way, that at a certain stress (138.2MPa) no more stress can be carried, and plastic deformations start.

All of the 3 effects I just describe solve the 3 problems we had with LBA!

Benefits of Nonlinear Buckling:

Analysis is nonlinear!Which means it can take “second order effects” into account!

Imperfections will work as intended!Since “second order effects” are accounted for, implementing imperfections actually may sense. They wil work as intended increasing the deformations of the model in subsequent load iterations!

Nonlinear material may be added!If buckling will happen while part of the model are yielding (as on the example above) you can easily add nonlinear material properties to take that into account!

This is why Nonlinear FEA is in high demand. You can simply design stuff accurately, without guessing and over-conservative assumptions!

Of course, there is a lot more to discuss in this topic, here I wanted to show you how the nonlinear analysis work, and what is the difference between linear and nonlinear buckling approach. If I managed to interest you in this subject, you can read more on nonlinear FEA it in this post!

## Stability Analysis: Modeling and Boundary Conditions

If you start to wonder if this will ever be over… this is the last part so take heart!

So far you have learned about Linear and Nonlinear approach to Buckling Analysis. In a sense, this is all I wanted to teach you here. But it’s only fair to point out some potential flaws in analysis, and what you need to pay special attention to!

Remember when I told you that your modeling will depend on the type of analysis you may want to check? Let’s start there!

Problems with beam models in Buckling Analysis!Regardless if you want to verify stability with a linear or nonlinear approach, there are some universal issues with beam (member) models! This is the shortlist:

Lateral Torsional Buckling!This will work in beam models, only if you have 7th Degree of Freedom (DoF) implemented. This is starting to be a “thing” in some beam oriented civil engineering software. Usually, you can only do LBA is such software (without the Nonlinear Buckling possibility). While all the limitations of LBA still apply, with 7th DoF implemented you can at least get a critical multiplier for Lateral Torsional failure. Normally a software will show you the message “there is no compression” if you will try to do an LBA check on a simply bent beam!

No local stability!Even if you have a slender beam with a very slender web, you won’t get local stability check with member model. Solver sees each cross-section as a point with parameters attached to it. There is no way to “buckle the web” in such a system. To verify local stability you will need a plate model, where webs and flanges of your cross-sections are modeled with plates!

No stability due to shear!This is a similar thing in beams. Since most likely the web will get “hit” and you don’t have it separately in your model, buckling analysis won’t see that as a real possibility and will simply ignore this. It’s especially important in high beams with relatively slender webs!

No shell stability!Ok, this is part mocking, but I actually saw someone trying to solve a chimney as a beam model in FEA… sadly this is not how it works. If you have a cross-section that is in class 4 (and all chimneys are!) you will have to use a plate/shell model to get a shot at analyzing stability properly!

THERE IS NO WARNING!This is the worst part! If you have a beam that will fail at stability due to shear, or a chimney that would fail due to shell stability stuff… Buckling Analysis of a beam model won’t show you any warnings! It will be just “blind” ignoring the problem… because it really can’t see it! This can be pretty devastating for the design (even if you want to simply check a beam against lateral torsional buckling!) so be careful. This is also why I listed all the stability failures and so on. Just so you know what you should be looking for!

As you can see above, if you have a very important part to design, and you are not certain what stability issues it may have… it’s better to use the plate model. Sadly, the beam model may omit some pretty important things in the analysis!

And finally, at the very end… **stability is very susceptible to change in boundary conditions!**

Normally we don’t care if the support is blocked against torsion under our column or not. Or is the hinge in both directions or only in one? Or even if our shell is supported in the pinned way, or it can slide at one direction or another.

Practical experience shows, that such decisions don’t impact normal stress analysis at all. But stability cares about those! Just be sure, that you are using a reasonable Boundary Conditions in your analysis. I know, I know, you always should pay attention tho those. But **in stability** **analysis accuracy in Boundary Conditions is even more important!**

This is a very big and important topic. **You can read all you should know about Boundary Conditions here!**

**Summary!**

Och wow… you are still here? It’s been a third day that I write this post and I feel like writing a book, not a blog! Thanks for reading through all of this. I really hope this was useful. Definitely let me know what you think about it below!

Since we covered so much, let’s try to summarize this a bit!

**Stability (or Buckling if you like) is a pretty complex phenomenon.**There are many ways in which model may fail due to stability, and not all of those can be analyzed in beam models (even if you have a beam structure!).

**Linear Buckling is the most common stability analysis.**While it will help you to calculate slenderness of your beams, its use as of means to calculating capacity is limited. At very best you can use it along with other design methods, and draw conclusions on a big set of very similar models based on LBA. A pretty time-consuming thing, but doable for sure!

**Linear Buckling misses things!**It won’t see “second-order effects” which means that deformations of beams under compressions won’t increase during the analysis. This also means that it won’t capture the proper work of imperfections in your model. Not to mention it cannot see the yielding of material and its impact on buckling analysis outcomes. Unfortunately, those effects may be pretty important at times, especially in plate and shell structures.

**Nonlinear Buckling to the Rescue!**Luckily, you can do a nonlinear analysis. Since it divides loads into small steps, it can actually take into account all the things Linear Buckling is missing. A super tool for experts wishing to model reality as accurately as possible (and for great optimization of structures!).

**Buckling Analysis require proper Boundary Conditions!**It’s very important to have proper Boundary Conditions in your models when you want to analyze stability. Always have that in mind!

And… that’s all!

Let me know what you think in the comments below, and if you like the post, definitely share it with friends!

Alexander KarachunAugust 21, 2019 at 7:37 amGreat post!

Here is one additional shade of buckling (maybe one of the weirdest sorts of buckling) – buckling in tension.

I`m trying to model this case in Nastran using Constrain equations (link rotations of beam ends) but fail)

https://www.youtube.com/watch?v=EKngs1vvcJU

https://en.wikipedia.org/wiki/Buckling#/media/File:Continuous_model_tensile_buckling.jpg

Łukasz SkotnyAugust 21, 2019 at 9:28 amHey Alex!

Wow I really need to take a look – this is some crazy stuff! I admit I never heard about such a phenomenon before 🙂

Thank you for posting this 🙂

Ł

JayaramAugust 22, 2019 at 2:41 amHej! Lukasz,

Appreciate your great work and knowledge sharing!

Thanks for sharing

//JM

Łukasz SkotnyAugust 22, 2019 at 6:42 amThank you Jayaram! You are very kind 🙂

Aamir SultanAugust 22, 2019 at 4:38 pmHey Lukasz,

Thank you so much for such an informative post .

I was wondering can we publish results of linear buckling capacity in some journals .

Regards.

Łukasz SkotnyAugust 22, 2019 at 6:58 pmThank you Aamir!

I’m really glad that you like the post. Publishing LBA results alone wouldn’t help much I think. It should be at least a comparison between LBA and a test result or LBA and nonlinear approach. This way someone can at least learn what is the difference…

All the best

Ł

VasilisAugust 24, 2019 at 1:06 pmVery good post Lucasz!

When designing irregular beam structures with weak in torsion stiffness members like purlins is that a great number of the first buckling modes relates to these members and the intresting modes are hidden. So additional work is needed in order either to support these members in torsion or model the casing OR to exclude them from the model but with the cost to reapply the roof or side loading.

Łukasz SkotnyAugust 24, 2019 at 3:19 pmHey Vasilis!

Yea, searching for the correct LBA form can be a mess sometimes!

All the best!

Ł

Mike BeaumontAugust 25, 2019 at 2:20 pmGreat blog post Łukasz, stability is such an interesting topic!

Łukasz SkotnyAugust 25, 2019 at 3:11 pmThank you Mike!

Indeed stability is one of those great fields, where you can always learn more 🙂

Just like in FEA. I guess I’m double lucky 🙂

All the best

Ł

Edson GusmõesAugust 26, 2019 at 4:27 pmHey Lucasz;

Congratulations!

Buckling and instability are not easy to explain, many engineers think they have mastered “buckling” but they´re far from understanding it.

Once again you make a very difficult topic seem very easy, you´re the best Lucasz!

I would love to have read this text at the beginning of my journey as a civil engineer.

I´ve shared this text to many colleagues. Please keep blessing us with texts like this one.

All the best.

Edson

Łukasz SkotnyAugust 27, 2019 at 6:54 amThank you Edson, you are most kind!

I’m really happy that you like the text. To be honest, at some point I need to write several books about stability, FEA and all that… it just takes so much time to create the post, that entire book is a completely different beast!

All the best Man, and see you around!

Ł

KANHU sabatAugust 26, 2019 at 5:20 pmWell articulated post,Great work it has given me the broader perspective of buckling.Thanks for the post.

Łukasz SkotnyAugust 27, 2019 at 6:52 amHey Kanhu!

I’m really glad that you like the post 😉

All the best!

Ł

BabakAugust 29, 2019 at 4:23 amThanks for the great post Łukasz,

Have you ever considered/trust using Solidworks study package for calculating buckling due to wind loads on big carbon steel tanks (diameter 30 meter, high 27, thickness 12mm), Thanks

Łukasz SkotnyAugust 29, 2019 at 4:51 amHey Babak!

I’m not fully sure what Solidworks *can* calculate. I mean I haven’t used Solidworks and I don’t know its capacity. If you can to nonlinear arc-length analysis and introduce imperfections, then I don’t see why I should not trust the software, but of course, benchmarking should be made of course. You can find one nonlinear geometry benchmark here: https://enterfea.com/nonlinear-geometry-benchmark/ If you get the same outcome in Solidworks I don’t see a reason why not to use it.

My experience is, that it is far more about engineering and FEA skills of the user rather than “solver capabilities” of the software nowadays. But in this particular case, I simply cannot be sure in the nonlinear analysis is “in package” of Solidworks, as this is mainly a CAD software and was developed as such (and solver is just an “add on”).

BTW if you have D=30 (R=15m) and t=12mm you have an R/t = 1250… I would be careful with this tank! Even if it is for fluids (no friction) and not a lot of the roof load (almost no vertical compression) you still need to take into account wind and circumferential compression. A lot of ugly failures happened because of this, also during erection before the roof is installed (depending on montage method think about montage stiffeners!).

All the best!

Ł

BabakAugust 30, 2019 at 6:13 amThank you very much for the prompt reply and sharing your experience!

I would probably use Ansys or Solidworks. Fortunately Solidworks support both nonlinear arc-length analysis and introduce imperfections. I just was thinking Solidworks may have some limitation handling study like large diameter tanks as it is originally developed for manufacturing industry.

I also need to do CFD to determine the wind pressure. The reason for CFD is the tank has wind girder (complex geometry) to mitigate the effect of wind load. I wouldn’t risk and do it with Ansys (depends on the cost) as it can handle both CFD and structure. I will let you know about the outcome.

Regards,

Babak

Łukasz SkotnyAugust 30, 2019 at 6:24 amHey Babak!

Wow… now that is a complex task. I never tried CFD and I know next to nothing about it. Interesting stuff for sure 🙂

If you have arc-length and ability to input imperfections I would be pretty relaxed. I mean Arclength methods are from the 70’… not much can be done wrong nowadays – they were really nicely tested before, and I’m sure people at Solidworks either use a very well known solver (Isn’t it Nastran BTW?) or at least nicely tested their solver agains well-known solutions. Do a few benchmarks just so you feel that you understand how stuff works and to the design you go!

Definitely let us know how the design will go 🙂

All the best

Ł

IevgenOctober 17, 2019 at 7:40 pmThx for the post. I like that you explain quite a complicated thing by a simple way.

Best regards

Łukasz SkotnyOctober 18, 2019 at 4:39 amThank you Levgen, I’m really glad that you like it 🙂

IevgenOctober 18, 2019 at 1:36 amHow can LBA give correct slenderness value if Ncr determined by LBA is incorrect?

Łukasz SkotnyOctober 18, 2019 at 4:47 amHey!

Och, I think we should go much more into details here.

I.e. if you are calculating the critical load for a beam, the LBA will be spot on. Then the slenderness for the beam will be calculated correctly.

But if you are aiming at something that buckles in a geometrically nonlinear manner (like a shell) then LBA won’t give correct outcomes, and as such slenderness is wrong in those cases. There are procedures that rely on such slenderness anyway, but they require very heavy parametrization for super well described specific cases… not a simple thing to pull off, and not the most popular approach either.

Hope this helps 🙂

Ł

AkashOctober 28, 2019 at 2:02 pmHello L!

Definitely gonna appreciate your hard work.

Just a small request- Plz make a blog regarding fatigue, vibration, frequency analysis….

Kind regards

Akash

Łukasz SkotnyOctober 28, 2019 at 7:30 pmHey Akash!

I’m glad that you find this all useful!

Not everything at once I guess… it would be awesome to write all that, it just takes enormous time to prepare this all 🙂

All the best!

Ł

Yaniv Ben-DavidDecember 21, 2019 at 8:08 pmWow Lukasz –

this is a mega useful post. Great work, thanks!

I have two following questions, if you don’t mind:

1. Can you say a word or two about the reason things buckle?

I mean, we all learnt about EULER and know the equations for beams. And even more, when we

imagine a beam with an initial imperfection as you demonstrated – the buckling phenomena seems clear.

However, what is going on there mechanically that makes a totally prefect and aligned beam to buckle?

Mathematicians will mumble something about stability and eigenvalues – which is definitely not what I’m asking for.

2. What do you mean by saying that when using beam elements we are covered by design codes?

Does the FEA itself have an algorithm that handles imperfections and gradual deformations for beams and

corrects the linear bucking results?

Łukasz SkotnyDecember 21, 2019 at 9:50 pmHey Yaniv!

I like this post too… I was in Berlin when I wrote it, and I spend like 2 days there (writing at a restaurant) waiting for my wife who had some business meetings there. The coffee was terrible, but the noodles they made were insanely good! Plus, I think it’s one of the best posts I ever did 🙂

As to your questions:

1. Ha! Now that is a truly difficult question… and since I have a Ph.D. in stability I’m perfectly qualified to bore you to death 😛 But let’s try anyway shall we? To me, buckling is just a phenomenon. I think that in general World is a lazy place. Things want to fall down, to have the least potential energy and stuff. This also means, that things really don’t like to carry the load… and will try to throw it off themselves if they can. To some, it’s very easy (try to push something with a string), to some it’s more difficult etc. I think that compression is simply an unstable state. When you have a tangled string and you pull it it will straighten out. The opposite is just as true – if you compress something, it will try to tangle itself. I usually picture compression as Point A (column top) getting closer to point B (column end). This can be done by “brutally” compressing the element. But this is not the most efficient way to do this in many cases. If the element is slender it’s “cheaper” to bend it (so the length of the element stays the same, so we do not work on the “shortening of it”, but points A and B are getting closer to each other anyway). Sometimes it’s more difficult to bend stuff (concrete brick in a hydraulic press), but sometimes it’s easier (a long elastic stick). So the world “chooses” which way is the “cheapest” way to failure and will use it. The more slender you are, the cheaper (let’s call it “less effort”) it is to bend you instead of “brutally” compress you. And this is why things buckle.

I really feel that this is not my best answer – I’m a bit better with a board when I can draw and you see me wave my hands… but it’s a great question, and I will ponder it hoping to find a better answer in future!

And to the second part of that question – by definition, you cannot have a perfect beam. I mean in FEA you can (and there beams not always buckle BTW, so be careful with that!). In reality, even if you have a “perfectly aligned” beam you don’t control the material properties in the rod itself, not to mention small random loads etc. The best you can hope for is to get close to bifurcation load (Eulers force) but even this is hard in reality (and with shells is plain impossible).

Now the second question 🙂

What I mean by this is, that if you are using a design code (like EN 1993-1-1) those codes “inside them” have a way to verify buckling (usually based on Euler’s theory with some modifications). In essence, you can calculate beam buckling on paper, without using FEA at all. All you need is to know the internal forces in the beam/column. So the idea is: FEA calculates the internal forces (completely NOT checking stability)… but your software then takes those forces automatically and just follows the code procedure to see if this column will buckle. This check has nothing to do with FEA (you could do it on paper, those are usually pretty simple equations)… but it still happens in your software automatically (I still think some people think those are actually FEA outcomes anyway…).

I hope this makes sense!

All the best, and thank you for the awesome question!

Ł

AHAugust 7, 2020 at 8:01 pmVery helpful post Lukasz.

Can i ask you a question, how do you consider or apply imperfection on nastran linear static model?

Łukasz SkotnyAugust 8, 2020 at 4:25 pmHey!

I don’t think that applying imperfections in linear models make much sense. Sure, you can catch “secondary bending” but without nonlinear geometry, this is a sub-par solution. In short… I simply would not use imperfections in a linear model… I don’t see the utility in such things…

All the best!

Ł

AHAugust 9, 2020 at 8:55 pmThanks for your reply.

Somehow this kind of approach by using a hand calculated “imperfection” in the form of equivalent forces applied on each truss members subjected to compression is common practice in the place i am working at right now.

But i think that this kind of approach solved by linear static will not take the second order theory (secondary bending) into account. It just simply add an extra stress due to an extra “equivalent forces”.

Do you have any suggestion on how to do it correcty?

Let’s say if we are using a basic nonlinear solver SOL 106.

How would you apply the imperfection on the ideal 3D-model?

Best regards,

AH

Łukasz SkotnyAugust 10, 2020 at 6:49 amHey!

Well… this is a bit more complex than that. Simply put, you can use equivalent forces (you mentioned trusses, equivalent forces are common in beam models), or “deform” the structure (I have a custom tool called “move Nodes by Deform with Options” that does that… maybe you have it in your Femap installation as well (I’m not sure how “regional” preinstalled custom tools are.

But that is only the “how”… which is super “weak” knowledge. Because, you need to know what imperfections you wish to apply, where you want to apply them and why those imperfections there… While on a single beam or column this is easy to “deduce”, this becomes really problematic in strictures with more beams/columns than 1! And it’s not all the same whether you apply all imperfections in the same direction etc. Also, the problem of the required amplitude is unsolved, not to mention that you are using linear analysis so you won’t catch second-order effects (just “secondary bending” from the applied imperfection loads etc.).

Not to mention, that if you are doing trusses, I guess those are structural things. There are codes and regulations for design of such elements. While some of those allowed to use imperfections (i.e. EN 1993-1-1 allows for that) usually imperfection combinations are needed (i.e. which elements have the imperfections and in which direction). This is sadly not a very simple problem.

And in the end, I’m not sure if Femap is the best tool to solve beam static design of stuff… I would say a “dedicated” program would serve you much better (you know, like RFEM that I use at my office for that, but also SAP2000, Sofistik (this can be complicated), Robot (I’m not a huge fan) and a LOT of other software packages). Usually, the dedicated software have code design routines implemented inside them (Femap doesn’t) and you can greatly speed up the design process (and even avoiding imperfections, as there are other ways to deal with stability design).

Hope this helps you 🙂

All the best!

Ł

Wesley Novaes MascarenhasSeptember 14, 2020 at 3:30 amHi Łukasz,

Great post on one of the most important topic in FEA. I would like to take this chance and ask you a question. In a buckling analysis, we obtain the buckling loads and modes. Following, if I run a simples linear static analysis applying, for example, the first buckling load, the structure is supposed to deform according to the first buckling mode, right? But, this does’t happen. Do you know why? I ran such analysis using Abaqus, and the deformation had nothing to do with the first buckling mode.

Łukasz SkotnySeptember 14, 2020 at 6:47 amHey Wesley!

This is a brutal trick… you see, linear analysis is “blind” to stability! You can easily do a linear stress calculation for a model with loads WAY HIGHER than the “buckling loads” and still get results that in some cases may not even indicate that something is “wrong”!

If you wish to analyze stability in “normal analysis” (which is a really good idea, as I’m not a fan of LBA in design unless we are talking about beams), then you should use nonlinear FEA. And then all the “magic” of imperfections, nonlinear effects etc. happens.

Hope this helps a bit!

Ł

Wesley Novaes MascarenhasSeptember 17, 2020 at 2:09 pmŁukasz, thank you for your reply.

In order to compare the results of a buckling analysis and a static analysis using one of the buckling load, I modeled a cylinder with shell elements and I applied the load along its longitudinal axis (unfortunately, I can’t post the images here). Then, I ran the buckling analysis, took one of the buckling loads and, finally, I ran a nonlinear static analysis using Riks method, applying the buckling load selected previously. The deformation mode I got from the nonlinear analysis had nothing to do with the buckling mode. Is this really supposed to happen? Why are they so different? Is this due to their formulations?

Łukasz SkotnySeptember 18, 2020 at 2:48 pmWesley!

Woah, there is so much to unpack here! Shell stability is a super complex thing. First of all, when you used “Riks” (this is often called Arc-Length) you are using nonlinear analysis. With shell buckling involved, this should not be compared to “linear static”. But to be certain I understand it right, I will sum up what I think I know about the problem (please correct me if I’m wrong):

This is an axial compression of a shell problem. I’m not sure how the loading is applied, but let’s leave this be…

1. You did LBA analysis and you got the “alpha_cr” (also called critical load multiplier). Let’s say that the load you applied was 100, and the LBA outcome is 20. This means that the critical load is 20×100=2000

2. You did a linear static run (this is called “static” in Abaqus I think) and you applied a load of 2000 hoping to see buckling

3. You did Riks nonlinear analysis with 2000 load, and you observed failure of your shell with a different shape than in LBA (and linear static too).

So…

A. LBA is usually inaccurate about how the buckling of the shell will look like unless this is a super “uniform” and symmetric case (in some cases of circumferential buckling LBA is half-decent… in all the rest it’s plain awful). This means, that the shape (but also critical multipliers) from LBA suck when shell buckling is involved!

B. Linear static simply can’t solve shit in this case. Even if you applied 2000×10 – 20000 (10x critical load) you will still get the same outcome, only stresses and deformations will be 10x higher. It doesn’t matter how much higher the load you apply… you will simply get that much higher deformations and stresses. There will be no buckling EVER! Linear static just won’t find buckling EVER… regardless of the load 🙂

C. Riks analysis will show you buckling, as long as the applied load is HIGHER than the buckling capacity. However, here you are analyzing “nonlinear buckling capacity” not the “linear buckling capacity”. In short, I would be SUPER SUPRISED if the riks outcome would give you the same capacity as the LBA outcome. Most likely RIKS analysis gives you lower buckling capacity! The details are complex, and I’m creating a course about this all right now (https://enterfea.com/nonlinear-fea-project/) As you can imagine there is no way to squeeze that in into a single reply (that would be soo cool to have such a talent!). But I hope that this helped you to understand the basics of this all 🙂

All the best!

Ł

Naheed JainuddinNovember 25, 2020 at 5:04 pmHey Lukasz, I am currently working on a project that involves buckling analysis of a reinforced concrete column on LS Dyna, so far my columns have failed to buckle and after coming across your website i realised my loading time was too fast causing it to act like an impact load, i am quite a beginner in FEA and would like some tips on how i may get more accurate results when it comes to reinforced concrete buckling problems on LS Dyna

Łukasz SkotnyNovember 26, 2020 at 9:57 amHey!

If this is a static problem then reducing the speed as you mention seems like a good idea. But apart from that, this is not really what I do. I never used LS Dyna, and I don’t really do concrete, so I don’t feel competent to give any advice.

The only thing that comes to my mind is concrete cracking – by the feel, I would guess that it has a chance to impact outcomes, so I wouldn’t neglect it. I’m pretty sure LS Dyba has some nice options for concrete cracking, as I’ve seen some crazy concrete failure animations done in LS Dyna. Sadly, I have no idea how to achieve such effects myself, so I guess I should shut up already 🙂

Good luck in solving that problem – it’s a complex one for sure!

Ł