We all know (or so I hope!) the basics of buckling. You know, the classical buckling lengths in a non-sway structure, etc. However, life is “rich”, and oftentimes we have to solve more complex problems than those classically described in the textbooks. One of the great examples is this problem: How to calculate the buckling length of a column in which cross-section changes along with the height.

**A varying cross-section is a nightmare in buckling calculations. Mostly, since literally by definition buckling length can be calculated only for elements with constant cross-sections. This means, that the designer has to either make some better or worse assumptions… or use other methods of establishing buckling capacity.**

When I started teaching at university, this was one of the topics I was pretty scared about… luckily, I understand it more now, than back then! The complex column buckling is precisely, what I want to discuss today! So, let’s dive in!

**What are we trying to solve?**

I guess, that it’s only reasonable to start from the beginning! There is a lot we should discuss, and I’m first to admit, that I will have to discuss some “overall” things as well to get through this example. But the example is definitely a key part of our today’s journey.

So, the question we are asking is: **What is the buckling length of this column:**

I’m first to admit, that this may not be the most realistic of cases (especially with the horizontal support at the top), but I wanted to do something simple that we can follow with relative ease. The cool thing is, that the approach I will describe will work, regardless of the situation, so you can adapt it, as you need!

Also, the question we are asking isn’t “random”. If you would design such a column, your FEA software (with some code design rules implemented) would ask you to provide a buckling length for each element you wish to design… so without a doubt this is a useful topic, although the question itself isn’t “great”…

**Good and bad questions!**

I admit, that I used a certain shortcut in the title… if your column has a changing cross-section, it won’t have a buckling length! At least not in a classical sense of the term!

This doesn’t mean, of course, that such a thing is undesignable. It’s completely doable, but you simply need to know how to do that! The best start is simple. You need to be super clear on what you need to design stuff due to stability and why. And this is where we will start!

You don’t need the buckling length!… yup, you just don’t! All you need is to know a slenderness of your element!

Currently, the most common way of designing stuff is divided in two steps. Firstly, you calculate the plastic capacity of the element (you know, when stuff breaks… literally). Then you apply a reduction factor for that capacity… due to stability (buckling etc.). You calculate this reduction factor based on the slendreness of your element – and this is what you need!

So why all the fuss with the buckling length?Well… using buckling length is one of the simplest ways to calculate critical force, thanks to the Eulers equation. When you have that, it’s easy to calculate the slenderness (the thing that you really need!). This is why your design software asks you to fill in the buckling lenght!

In other words, we want to know the slenderness of our column to design it. And the software we are using will want us to “fill in” the buckling length. I think this is a good start to this rather complex topic. Let’s take a look at this in more detail, just so you know how it works!

**How the design works!**

I do believe, that in order to answer the buckling length question, a wider context is needed. This is why I will discuss how the design is made. If you are working in the field for a few years, you may not even recognize some of the equations… since the software does that for you “in the background”. But I do believe that this is actually an important thing, to understand what is going on there!

This is why I will discuss the typical approach to the design of a compressed element. If you are interested in the final outcomes, I guess you may skip this part… but I would still try to convince you that it’s good to read this!

The typical approach (based on EN 1993-1-1) to designing a “simple” compressed column would be something like that:

**Calculate the plastic capacity:**You know, how much load you can apply before the thing “fails” because you simply squashed it. This is brutally simple, as you can see below. Such a “type” of capacity is usually referred to as “cross-section” capacity. Simply put, it’s the amount of load you would have to apply to a “slice” of the column to squash it… so obviously buckling is not the part of the problem (the slice of the cross-section in a hydraulic press won’t buckle!). Well… if our cross-section would be in class 4 there would be some buckling involved even here… but let’s say we are using “normal” hot-rolled cross-section, so class 4 is not a problem!

**The above is not enough!**It would be super cool if we could simply end here, but we need to take stability into account. Simply put we won’t even calculate the buckling capacity (!), we will just reduce the cross-section capacity above by a “buckling coefficient” as you can see below! Notice, that the safety factor changed from “type” M0 to M1… this only means we are dealing with stability problem, both are actually equal to 1.0!

**Let’s deal with the buckling coefficient!**This coefficient takes buckling into account and reduces the cross-section capacity as you could see above. This is how you will get it:

**It’s not so scary!**Ok, I admit that greek letters in equations may cause concern, but no worries – this is actually pretty simple. Funny enough, the above (and below) can be derived from differential equations of a compressed column deformation directly. I even did it once for training materials, but I never used it (obviously…). You can believe me that this is true… or derive this yourself to be sure – your call! Anyway, the above requires 2 things: Slenderness we will discuss in a second, and a “mysterious” parameter, that simply makes the above equation shorter:

**Don’t worry about imperfections!**Normally in FEA, this is a lot of work, but in the above, it’s extremely simple. Cross-sections are divided into groups, and you simply read the value of this parameter from the table (depending on a group your cross-section is in). Of course, in our case, it’s not so easy, since we have a column with 2 cross-sections – so you can either treat it as the “worse” out of both or simply the “worst” there is… which seems like a good idea 🙂 So finally we get to calculate slenderness!

**That’s all… for now!**As you can see, slenderness depends only on cross-section capacity, and critical force! So basically we know “everything” we need to know to calculate the column… apart of course from the freaking critical force. But it’s a longer topic, that simply requires its own section!

## The fun of Euler’s critical force!

I don’t want to bore you with a lot of theory here. You can read some of it in this post about buckling!

If we omit how this all works, Eulers Critical Force can be reduced to such a sentence:

Critical load of an element is such a load that when you apply it, the element will fail due to elastic buckling.

This is always connected with bifurcation, you can see above. The Eulers critical force of the element is one of the basic engineering information, and equation allowing you to calculate this force is relatively simple:

Firstly, now you see why you need the buckling length! It is simply needed to calculate the critical load (that is needed to calculate slenderness!). But with the same equation (and the schematic above) comes… why you won’t get the buckling length for our column! And that is because:

Euler’s Critical Force Assumptions:

- Member is perfectly straight
- There is a constant cross-section (so a constant moment of inertia along the length)
- Member is “only” axially compressed
- Material of the column in isotropic and homogeneous

You see this already don’t you? In our case, the column as a whole doesn’t have an Euler’s Critical Force… since it doesn’t “fit” into the assumptions!

Simply put, only the perfectly straight columns with constant cross-section have Eulers Critical Force… basically by definition! So if buckling length is used to calculate the Eulers Critical Buckling Force, and our column doesn’t have Eulers Critical Force… that it doesn’t have the buckling length either! Cool huh?

**If not Euler’s than what?**

The fact that out column doesn’t have the Euler’s Critical Force… doesn’t mean it won’t buckle! It just means that it doesn’t “fit” into the solution Euler proposed.

There is still a Force, that when applied will cause an elastic buckling to our column… but we cannot use Euler’s equation to calculate this force in our case! Such a force will be Critical Force (by this I understand that it will cause elastic buckling), but will not be Eulers Critical Force (understood as a force that will cause elastic buckling, that can be calculated according to the Eulers formula)!

Interestingly enough, code EN 1993-1-1 doesn’t say that you should use “Eulers Critical Force” to calculate slenderness – it just says that you have to use the “Critical Force”. However, there are assumptions describing that the entire procedure works for straight members with constant cross-section, etc. But the reality is, that you need Critical Force to calculate slenderness… and that is that.

If we can’t use the Eulers equation… what else can we do? We can to FEA of course! And to be more precise LBA (Linear Bifurcation Analysis). Thanks to this awesome tool, we will be able to obtain the Critical Force for any case we may have! Let’s give it a shot!

**Let’s see if it even works!**

Every time I start something new (or I explain something) I like to show that the tool I’m using actually works in a way I can verify with other means. You see, way too often I saw folks doing crazy complex analysis… that had no “verification” to them. It’s better to start simple!

In our case, the “simple” is an 8m long HEB 360 column. Why that? Of course, because such a problem fits perfectly into Euler’s equation. So we can use both the equation and LBA to compute the Critical force. The assumption is of course, that we will get the same answer from both!

The task is pretty simple if you want to do the hand calculations. While the column is easier to buckle on its weak axis, I will simply assume that it is sufficiently braced not to buckle in that direction. This changes nothing in the procedure itself – I just think that the “strong axis” buckling looks better (!).

The same can be achieved with LBA.

Since this is a “beam structure” I will use RFEM that is my default program for this kind of problem.

I simply modeled a 3m HEB 160 column and loaded it with 1kN od compression at the top. Since I used a buckling length coef. of 1.0, this translates to “simply supported” in a sense. There is a pinned support at the bottom (that also blocks rotation around the column axis to make it stable). On the top, only the horizontal translations are blocked.

The outcome from the analysis looks like this (linear static on the left, and LBA on the right):

But what is more important (in case of LBA) is, that the critical load multiplier I’ve received was 13986. This is the value for the 2nd buckling form (since the first was for the “weak axis”, and I’ve already decided to ignore that). Since I applied 1kN of load, this means that the critical force is 1kn x 13986 = 13986kN… close enough!

So, as you can see, there is a possibility to calculate critical force with LBA. As I just demonstrated, it “fits” with the Eulers equation, so the method “works”. But there is also an additional cool thing! LBA works for any model you define… even if it doesn’t fit with Euler’s assumptions!

**Back to our problem!**

This leads us to our actual case!

First off, I will admit that I will dumb it down a bit. I don’t want to model the connection in detail, and I will even omit the eccentricity. This isn’t a perfect solution, so if you like you may play around and model it more accurately. But I do admit that I feel this will be “good enough” for many engineers working on such problems. I’m a modeling freak, and I love playing around with models and make them “perfect”. But I fully understand that often, there is simply not enough time to deal with details. Especially when estimates are needed NOW!

As you can see, I did a bit more here. On the left is the “pure” 8m HEB360 case, and then I’ve added HEA160 1m at a time, ending with “pure” 8m of HEA160 on the right. Above, you can see the critical multiplier in each case (that is basically a critical force in kN, since the load was always 1kN).

As you can see, obtaining the critical force for our case isn’t anything “impossible”, even though we could not use Eulers Formula.

This is what we set out to do here, but we are not done yet!

**A chart worth 1000 words!**

Since I had a simple model, I figured I could do a small case-study. Instead of just showing you how to calculate a critical force, I actually analyzed different columns, as you could see above. Let’s take a look at how the critical force changes, as we add more and more HEA160 from the top to our 8m HEA360 column:

If this doesn’t look fascinating for you… then there is something seriously wrong with me!

I added a few points (that are not shown above), just to make the curve look smoother. And I do admit, that I find it fascinating! It looks like a very short piece of HEA160 (up to something like 500mm) doesn’t change a lot. Simply put, it’s too short to cause an impact, and since the support is “pinned” at the top, not much is “happening there” anyway.

But then, after around 750mm of HEA160 from the top, the “weaker piece” starts to wreak havoc! You can even see on the screens above, that the maximal deformations are where the “weaker” cross-section is… even if it is only 25% of total length! And of course, it’s completely downhill from there! After we reach 4m (half) of the column height with HEA 160… it’s basically almost as if the whole column was from a weaker cross-section! Sure, there is an impact (since the “half” HEB160/HEB360 column is twice as strong as a “full” HEB 160 column)… but the reality is we lost 10x of the capacity by moving with a weaker cross-section till half of the column!

I’m really glad that I did the above chart, as I never tested how things “change” if you do those sorts of things… I guess that doing such studies from time to time can teach me something (and I hope you as well!). It looks to me, that if the “top”, weaker part can be “short”… it’s good to make it as short as possible. The return on the effort there is the best!

**Converting critical force into a buckling length!**

You may be surprised that this is the next step. After all… we need a buckling length to calculate the Critical Force… not the other way around!

That is a very good observation, but it doesn’t solve one big problem! And that is the **software!**

Sure, if you would do the design by hand, you could simply take the critical force, and be happy about it. But who does design by hand? I like using RFEM over Femap in beam models because RFEM has the entire Eurocode design procedure already implemented! So instead of seeing cross-section forces etc. I can display the percentage capacity ratio according to EN 1993-1-1 as an outcome plot on my beams/columns*.

* If you read this, and you wonder why I mention such obvious thing, this mostly means that you studied civil engineering in one form or another. I did a training in a few companies with a mechanical background. They were super thrilled about such a fact!

But if I want to get my “capacity ratio”, the code procedure must be done! And I have to “tell” the software what is the critical force for each element. WAIT! That is not the case actually. The software you will use will assume, that you are not interested in calculating the critical force yourself! It will just ask you about a buckling length, and then calculate the “rest” for you!

But since you have the critical force, and you wish to input data to your software… you need to “change it” into the buckling length first!

**But our column doesn’t have a buckling length!**

A brilliant observation… and a true one too boot! And this is why I’m writing about it here!

It’s true, that our column has a critical force (although not an Eulers Critical Force, since it doesn’t fit into the assumptions as we discussed). But, the software doesn’t “care” about such nuances! It’s best to verify this in a manual of your program, but I’m pretty sure that your soft want’s to calculate the buckling length of each beam, using Euler’s equation. After all, this is why it asks you about the buckling length in the first place!

And if that is the case, stuff is pretty simple. All we have to do is to “remodel” the Eulers equation to get:

Awesome, we know the critical force thanks to the LBA! Now we can put all the numbers in, and calculate what we need!

Sure, the buckling length won’t have any “physical” sense, since our column doesn’t fit the Eulers Column assumptions. But that is a small problem! The software will take our “stupid” buckling length, and put it into the Eulers equation that doesn’t fit our case anyway. But the outcome it will get (the critical force!) will be correct in our case! And this is what counts!

Of course, before you start using this method, please do a single case study and verify if your program works this way! Better to be safe than sorry!

**Almost home… but WAIT!**

Did you notice this already? This nasty “teachers trick”? Think about it for a second… something is still missing!

Yeah, I purposefully omitted one single detail (such a common theme in free materials, isn’t it 😛 ). No worries, I’m a serious dude, so here it comes!

In the equation for the buckling length, you need to use Moment of Inertia. This depends on the cross-section… so should you use the small one from the top HEB 160, or the big one from HEB 360? Such a great question isn’t it?

**Of course… you need to use both** (and I beg you, don’t do an average!).

In your FEA model, you definitely have both parts of the column modeled separately (the only way to change a cross-section this way, right?). This means, that the algorithm, that will check for capacity will check each of those elements separately. This is actually a good thing! Think about it this way:

Each part of the column has the same critical force, but is verified independently!By this I mean: the column will buckle as a whole! There is no way only one part will buckle… the second part will take part as well! But… they have a different cross-section and all, so both pieces have to be analyzed separately!

How to deal with this? It’s actually pretty simple!

Let’s think about the top part for a second!

If we would make an 8m high column only from HEB160… it would buckle easier than the above, right? Simply put, HEB 360 (the lower part) is more rigid, and it “helps” the top part to stay stable. This means, that if we would do a column, that is ONLY made of HEB 160 that has the same buckling capacity (critical force) it would be shorter than the one above!

Strictly speaking… it would be 5.15m! I know this because I did:

Of course, you can do the same for the bottom part. This time, however, it will be “worse” than 8m! Simply put, if the entire column was HEB 360, the buckling length would be 8m. But since the top part is “weaker” it actually makes the whole thing less stable. So the column made purely from HEB 360 will have a buckling length longer than those 8m to have the buckling capacity the same.

Precisely speaking, the buckling length of the “fictional” HEB 360 column would be: 21.43m! Again, the calculations are simple:

**Finally, we’re here!**

This is the final stop of this post! Now you know how to calculate the buckling lengths you will need for design.

I know this may seem counterintuitive at first (and it’s definitely a bit of work!), but this is actually a pretty complex case!

To wrap it up, this is what we did in this example step by step:

**Model the column and do the LBA!**This way, we can have a critical load multiplier, that will give us a critical force for our column.

**Shared critical force!**This is the fun part. All of the parts of the column will buckle “at once”. Regardless of the cross-sections all of the column components will always have a shared critical force. This is because the column fails as a team, so the weakest link decides. Simply put, you can’t buckle a “part” of the column. The column will always fail due to buckling as a “whole” from support to support (or from bracing node to bracing node if you wish).

**Calculate the buckling length of each piece of the column!**When we realize that all of the column components will buckle “at once” thing becomes so much easier. For both parts, we can back-calculate the length a “hypothetical” column of a constant cross-section would have to have the same buckling capacity as our analyzed column. Thanks to this, we can design our column as a “collection” of “hypothetical” columns using the code algorithm implemented in our FEA software!

The sweet taste of victory!

**The finish line!**

I really hope that you liked this example. If that is the case, definitely let me know in the comments below!

And if you want to learn other useful things about FEA and design, definitely check my free online course! You can signup below!

JakubAugust 31, 2020 at 9:15 amInteresting article. Are all formulas taken from EN 1993-1-1 code or did you use some textbooks too?

Łukasz SkotnyAugust 31, 2020 at 10:46 amHey Jakub!

Formulas are straight from EN 1993-1-1. You can check them out in chapter (wanders off to check the chapter…)… 6.3.1*

*ech… 3 years ago I would know that from memory. It seems that NOT teaching at a University for a few years has its small drawbacks :p

All the best!

GrzegorzAugust 31, 2020 at 10:23 amHi Łukasz,

Thanks for great article as always!

Any idea why ROBOT gives alfa,cr=17000 instead of 13986 for 8m HEB360?

Best regards

Łukasz SkotnyAugust 31, 2020 at 10:44 amHey Grzegorz!

I’m so glad that you like the article!

Check if you take into account the shear stiffness of your elements perhaps… and request 10 eigenmodes (if I recall Robot “has a thing” when you only request one, or maybe a few)

The shear stiffness can be switched on and off in the many where you can select if the element is “tension only” or “compression only” in Robot if my memory serves… there is a checkbox there – just test for both options on entire column, and if it is not that – let me know. We will figure this out, this is a simple problem after all 🙂

All the best!

Ł

GrzegorzAugust 31, 2020 at 11:38 amHi,

It seems that in ROBOT elasto-plastic analysis in section box has to be switched on (if I rememebr right this feature was not available in versions below 2015).

I tried the same in SAP2000 and for default mesh settings I also got alfa,cr=17000. Value around 13980 I received after implementation manual meshing parameters (min number of segments increased).

Now I`m super confused. I used to perform such analysis in many previous projects in both softwares…

Łukasz SkotnyAugust 31, 2020 at 7:44 pmAch of course… I forgot about something (sorry, my bad!).

You need to have more than one finite element along the length of the column. Preferably 6-10. This is extremely hard to obtain in Robot… as there is no setting for this I think… so you have to manually add nodes on your column to “force” the divide into smaller elements. This is why you had a good outcome with manual mesh settings in SAP!

Sorry, I got so used to increasing the number of elements in RFEM, that I did it automatically, and I simply forgot about it (!) I should have suggested it at the very start, especially since I do know it doesn’t work in Robot “perfectly” (to be delicate!).

All the best!

Ł

Ricardo HuertaSeptember 1, 2020 at 9:29 amVery interesting, thanks a lot.

That chart is a trip!

By the way I have done the test, with Robot, the software by default divides the beams for buckling calculations in 1 meter segments, and with that is enough to get very similar load multipliers to yours.

Łukasz SkotnySeptember 1, 2020 at 2:43 pmHey Ricardo!

Indeed, the chart is crazy… I didn’t know what to expect, but I was surprised anyway. This is so cool about the blogging – I get to do such weird comparisons just for giggles – normally I wouldn’t have time for that I guess, but “for the content” it makes a perfect sense 🙂

Ach, maybe they finally updated this! I know that Robot didn’t do that some time ago, as it was always a problem when I’ve made live training in companies that used Robot 🙂

All the best, and see you around!

Ł

SefaSeptember 1, 2020 at 11:08 amThank you for this great interesting article!

Łukasz SkotnySeptember 1, 2020 at 2:43 pmI’m really glad that you like it Sefa!

All the best!

Ł

Mihdí CaballeroSeptember 1, 2020 at 6:01 pmReally great post once again Łukasz!

Have you seen the book “Roark’s Formulas for Stress and Strain”? Chapter 15 is about elastic stability and has some tabulated values for different support conditions and loadings in columns with two sections. Surely the results come from the differential equation analysis but this practical approach with FEM should be the same and doesn’t fail.

All the best!

Łukasz SkotnySeptember 2, 2020 at 6:11 pmHey Mihdi!

I definitely heard about the book, but haven’t seen it. But I know what kind of tables do you have in mind 🙂

Thanks for dropping in!

Ł

FilipSeptember 2, 2020 at 4:14 pmGreat article!

I have encountered several problems like this one in my previous projects and I’m very happy to see that I tackled them in the correct way:)

I’m curious how to correctly handle the same structure but with the consideration of lateral torsional buckling caused by bending moment (like in the steel hall with crane supported on the lower part of pillar). I have some theory about it but I’d love to see how you solve this problem:)

Łukasz SkotnySeptember 2, 2020 at 6:13 pmHey Filip!

Thank you for commenting, I’m glad that you like the article 🙂

As for LTB, this is a long topic. I never really felt like writing that blog post, to be honest… it’s just so much one has to think about! I will get to it one day… just not soon(ish!).

But if you feel like writing it – I will be more than happy to host you, of course 🙂

All the best!

Ł

AppleSeptember 2, 2020 at 6:25 pmAgain a BSc level article, with some cool, slang wording, ten times longer as it should be and inserting the usual and necessary “mechanics is fun” slogen! Congratulation!

Łukasz SkotnySeptember 3, 2020 at 7:31 amHey!

In absolute honesty, I’m not sure if you like the article or think it’s too basic and too long (the internet does that to a written word I guess).

Anyway, thank you for the comment 🙂

Ł

GregorySeptember 7, 2020 at 11:05 amI’m pretty sure @Apple didn’t like it xD. Generally nice topic but should be compressed. Try to show more MSc (or even Phd) than BSc problems xD

Regards G

Łukasz SkotnySeptember 7, 2020 at 6:55 pmHey G!

Thanks for the insight. Sometimes it’s hard to understand what people mean on the net, but I never shy from constructive criticism.

Anyway, if anyone feels like writing a good and engaging Ph.D. level article without complex and boring math written in plain English I’m always happy to review it and post it. Few folks actually did that on the blog already, so I’m always encouraging such things 🙂

The problem with a Ph.D. level stuff is, that it gets so narrow, that finding anyone interested in a given topic is nearly impossible. And it’s simply not practical to spend 20+ hours on writing something 20 people will read… after all this is what scientific articles are for… (and I know because I did those as well in the past :P).

I will try to post more on the nonlinear stuff, as my nonlinear course will be closer to finish – right now most of my energy goes there. Plus… I have no idea where did you study BSc, but here we did not cover such topics! Heck, you could go through the entire MSc and not have to deal with LBA at all (I did it for sure!) 😛

All the best!

Ł

Alex Immanuel ThaineseSeptember 3, 2020 at 7:55 pmi love the article , may be many of them including me had some knowledge on this before , but lukaz has presented this in artistic way ……i personally like this guy articles ….cheers

one of your best blogs

Łukasz SkotnySeptember 3, 2020 at 8:41 pmThank you Alex! I’m really glad that you like my work 🙂

See you around!

Ł