This is a new idea I have been working on, to show what is cool about design by hand, linear FEA, and nonlinear FEA, and I will demonstrate with several examples. I will solve each of them using all 3 approaches, then I will compare the outcomes, so we can discuss which method is useful for a given case and why! The first problem I will address is a web in a steel beam under local loads. Today we will solve the problem by hand!

**Local failures are always a nightmare. It’s very hard to calculate the capacity of small sections of any structure under concentrated loads. Luckily EN 1993-1-5 gives us a decent solution for webs under concentrated loads! Let’s see what we get!**

There will be some hand calculations ahead, but no worries, no higher-level mathematics will be required. I will also explain what we are doing step by step!

I also think that it’s actually good to be able to design stuff by hand! Surprisingly, you can adopt many of the sums we will discuss today to solve other problems as well! In other words, I think this may be useful for you. Let’s go!

## The problem

Local loads of webs can have many faces. The classical example, that we will solve here, contains two perpendicular beams with one “simply standing” on another. The problem will look like this:

Please note one thing:We are concerned with both beams of course. After all, the web of the top one is loaded just as the web of the bottom one. But I don’t want to spend too much time on equations! So I will assume that the top beam has a somewhat “stronger” web! This way we will focus only on the bottom beam here. It’s easy to make that assumption while watching the animation above, of course. Note, however, that “in reality” this is a very big assumption, and it shouldn’t be made without a good reason!

## First thing’s first!

I fully admit that this may seem intimidating. You will soon see that I jump between chapters and codes while producing relevant formulas seemingly from thin air. While I strongly recommend simply reading all the codes, God knows that I haven’t done that myself. It just so happens, that I was teaching at uni for a decade, and this is one of the topics we were solving! Even after a few years I still simply remember everything (benefits of teaching others I guess!).

Right now, we are in chapter 6 of EN 1993-1-5. We need to start with assessing which of the possibilities fits us best. You can check all of them in fig. 6.1 in that chapter, but I will show them below for convenience:

It is quite obvious that from the selection we have here, we are in a “type (a)” situation. This gives us a chance to calculate the parameter k_{F}. But since we have no idea why we need it, let’s not get ahead of ourselves! Also, note that there is a distance between stiffeners we need to know. The model you saw has some stiffeners, and we will use their span here. Interestingly, if we didn’t have stiffeners at all, it’s not quite clear what to do! Presumably, we could assume a=infinity, but the code doesn’t define that at all! Note that the difference between a few meters and infinity is small as far as the k_{F} value is concerned!

## In the procedure we trust!

I must say that this is a rather tangled procedure. But we are brave, so we will get through it anyway!

You can calculate the capacity of the web using equation 6.1:

I’m in love with parameters that are not so easy to “describe” in terms of what they mean. While yield strength has a weird symbol (as far as Eurocodes are concerned) this is explainable at least. You know it’s like “yield stress” f_{y}… “for web” and hence “_{w}” at the end). I’m not sure if there is a praxis of welding different steel grades together to form a cross-section… but if there is, the procedure is clearly ready for that!

The comment on the safety factor is that “_{M1}” already tells us that stability will be involved. This is actually something I like about Eurocode! Usually, the “_{M0}” and “_{M1}” safety factors are the same (not so much in shells though!. I learned to “translate” the “_{M0}” safety factor as “normal stress capacity” while “_{M1}” is “capacity including stability”. This is a small nuance perhaps, but it can help you out a bit in understanding what you are reading if you notice such things!

Of course, the load on the top compresses our web. So technically we should expect capacity to be something like:

The above is super straightforward! We have a cross-section area times yield stress (so how much load our cross-section can safely transfer), then we further reduce this by a safety factor. Of course, if the buckling is possible, the amount of stress we can safely carry has to be reduced. This is done with the factor “X” to take buckling into account.

Knowing all that, equation 6.1 that we started with… “misses” the buckling factor. At the same time, the “effective length” L_{eff} has to be the allowable “width” of the web we can take into account. I know this, because that width multiplied by thickness will give me the cross-sectional area I expected to see in the equation.

Also, if we move further in the code, we get to equation 6.2. It shows us that for whatever reason, the author of this part decided to hide the “buckling coefficient”! I expected it to be in the “main” equation 6.1. Instead, we will use it for the calculation of effective length:

OK, so at least we are getting somewhere!

Usually, it’s the buckling factor that is complicated to calculate. But here, we will have to think about effective width as well. Simply put, you usually know how big the cross-section of the element is that you are trying to calculate. Here, things are a bit more difficult! We will have to estimate how much of the web width will actually transfer the load. So, this is also something we will have to calculate/estimate as well.

Let’s take a quick look at that buckling factor now:

Of course, the “ease” with which our web will buckle will depend on its slenderness, as can be seen above. And it’s the “slenderness” that is the “tricky part” when you calculate the buckling reduction factor… let’s take a look:

As always slenderness is just a square root of plastic capacity divided by critical capacity. The plastic one is super simple… usually! Here of course, it will depend on the width of the web we can “assign” to transfer the local load. And we haven’t really established yet what that length will be (please be patient, we are getting there!). Usually, the trick is with the critical force, as you have to think about buckling lengths, etc. Surprisingly, it’s not so bad in our case:

Remember the “mysterious” k_{F} parameter defined at the beginning (under the picture). Well, now at least we know where we to use it! Also, it seems that we know everything we need to know to calculate F_{CR}, which is a good thing. But there is one thing I don’t like about this equation! Normally, I would expect the height to be “squared” (just like in the Euler equation). Checking such doubts by hand is tricky, but in the next post, I will do FEA! This means that we will be able to see how good this “fits” into the “reality” of various cases (yea… FEA can even help you with these types of things!).

The last thing we have to deal with is this freaking width of the web we will be allowed to use in our design. Let’s go through the procedure step by step!

Initially, this looks at least plausible. We have the contact width we can apply the load to. Also, the stress will “travel” at a 45deg angle, meaning that it has to go through the flange first. But then it will “reach” the web at a wider length (plus twice the flange thickness to be precise). And in the end we can further increase this “additional” width, based on two parameters:

The first parameter increases the “allowable width” taking into account the width of the beam. The second one clearly depends on the slenderness of the web. This is actually a funny part since the slenderness depends on the allowable web width too! So this is like a “double dependency”. But we will simply assume one case over another, and check if things work out in the end! Of course, if we “miss” the assumption we will make corrections if needed.

And that is it! The entire procedure of calculating capacity of the web in a real beam! It’s time to use what we’ve learned in our case to see what we will get!

## The problem at hand

Before we will get to the actual calculation I owe you some geometrical details of the problem! It’s all fun and games to show you equations and describe what is what. But we need specific numbers to do the math we need!

The dimensions I give you below aren’t “special” in any way I can think of. In truth I simply started with the FEA model, and guessed all the dimensions as I moved along!

Also, there is a “trick” I’m using here. Normally, when I design a beam I would instantly go with the “height” from the center of one flange to the center of the other flange. This means, that I would model the bottom beam as 530mm high. This is 500mm for the web and an “additional” 15mm per flange. This would lead to the most accurate Section Modulus and is generally a good practice you should follow.

However, this also means, that my FEA model would “see” the web as 30mm “higher”. And since we are ONLY focusing on the web here, I will model the beam as 500mm high. This won’t have a “dramatic” impact on the outcomes, but I figured I may as well be “on point” here.

Just please note:I do this ONLY because it’s a partial model that focuses on calculating ONLY the web and its stability.

You want to use centerlines in all true design cases.Unless a very good argument can be made to do it differently!

I hope it’s clear that the geometrical arrangement doesn’t matter that much. We are only interested in checking the local capacity of the web. So the length of the beams etc. isn’t as important. As you saw at the beginning of the post, I went with something like this:

The only thing needed here is, that the distance between the inside stiffeners (“a”) is 800mm in our case. Funny enough, the rest is irrelevant in the design that we are about to make!

## Design for the win!

Technically the procedure I described above already explains how things should be done. But I don’t like leaving a single stone unturned. Plus if we want to compare FEA outcomes with the normal calculations… we kind of need an outcome! So, let’s do the actual math for our example!!

As you most likely noticed, I like to “present” the procedures “as we go”. This means starting from the capacity check and expanding into all the complexities of the problem. I think it’s easier to understand things this way. Of course, when we actually do the calculations, we will just “start from the end” and move “upward”. This means, that we will be starting from things we can actually calculate first. And we will move “towards” things we can calculate based on the sums we already did.

It’s only natural that we first set the values of _{M1 }and_{M2 }parameters. After all, this is the only thing we can do at this point. We don’t know what slenderness our web has, but I will assume that the slenderness is high. I do this because we have a thin web that is quite long! Simply put, I will assume that _{M2 }actually has a non-zero value.

Armed with the above, we can calculate the width of the web. But we need to establish something I haven’t mentioned so far first. This is the contact width, and we will establish it according to figure 6.2:

As you can see we can consider various cases. Since we have an I-beam on the top as well I will go with the second case from the left. I will aim for minimal weld thickness. Mostly because I won’t have welds in the FEA models that I will do later! Let’s just say that I want to stay as consistent as possible. I will mark the horizontal size of the weld as “r1” (I think “z” is used in the UK for this). The value of 6mm means that the weld is a=4mm. Small for a 30mm flange, but I hope you will forgive me for this!

So now, we know everything to calculate the web width we can take into account in design:

As you can see above, I’m taking _{M2 }into account assuming that the slenderness will be higher than 0.5. Let’s find out! But first we need to calculate a critical force:

As you can see I’ve used the equation from figure 6.1 I mentioned at the beginning to calculate k_{F} parameter. With this, calculating the critical force is a breeze. So now, we finally get to see if the slenderness is actually higher than 0.5:

YES! We nailed it! Since the initial assumption is correct, we can swiftly proceed to verification of the capacity, as you can follow below:

Splendid! Unless I’ve made some mistakes above, it seems that we just obtained an answer according to Eurocode! It looks like the maximum reaction force the top beam can transfer to the beam we were analyzing is 315.8kN. This is generally the procedure that allows you to check local loads on the webs of beams in hand calculations.

## Wrapping it up!

I hope that now you know how to do such calculations by hand! I must say this can have quite a few uses! But the best is yet to come! In the next post, I will do a linear FEA analysis of the problem! Later on, we will do the nonlinear analysis too! And finally, we will compare all of the outcomes and discuss what makes and doesn’t make sense! Let me know what you think about this series idea, and of course, stay tuned!

You can keep in touch with me, and also learn some awesome things at the same time! Just sign up to my FREE FEA Online Course below!

Stephen BrinkmanJanuary 14, 2021 at 6:53 pmHi

Firstly I like the idea of this. You are right, if we don’t have a “feel” for the answer, how can we believe the FEA.

In terms of few term, even in standard UB the web can have a different yield sometimes as the yield strength changes slightly for different thicknesses, e.g. for our standard grade 300 steel thick sections will be fy = 280, and thin sections (which can be the web) can be 320MPa.

Hope that helps

Łukasz SkotnyJanuary 15, 2021 at 9:07 amHey Stephen!

Thank you for the comment! Indeed this could be one of the reasons. However, in EC the “limit” thickness is 40mm… and I rarely see flanges that thick (and if so, they would be welded from thinner plates I think, at least I saw such solutions). But you are totally right, even for the same steel grade the thickness may differentiate yield strength, so this may be why they made sure the designer knows which yield strength should be used 🙂

All the best!

Ł

MomikFebruary 5, 2021 at 9:43 pmHey Łukasz,

Flanges thicker than 40mm are often used offshore. And yield stress can be taken from EN 10025 as well, and first range there is <16mm.

As long as I know, different steel grades for flanges (equivalent of S355) and webs (equivalent of S275) were often used for ex. in runway beams in 80s.

Łukasz SkotnyFebruary 6, 2021 at 7:47 amHey Momik!

That is cool to know – thanks. I was unaware that EN 10025 still used the 16mm at the first “limit”. It was so in the old Polish civil engineering codes, but Eurocodes changed it, and the first limit is at 40mm as I wrote before. That is an interesting phenomenon too, I need to write a post about this one day…

As for different steel grades, I’m unfamiliar with such practice, but it absolutely doesn’t mean that it didn’t happen 🙂 Perhaps back then the difference in price was sufficient to justify the effort of doing that?

Thank you for dropping in with comments Momik!

RicardoJanuary 18, 2021 at 11:01 amThis is going to be a very interesting series. I have some experience with the Eurocode formulation for this kind of problem, can’t wait for the FEA analysis.

Thanks

Łukasz SkotnyJanuary 19, 2021 at 3:03 pmThank you Ricardo! I’m really glad that you are interested 🙂

Ángel ÁlvarezJanuary 20, 2021 at 11:33 pmHi Łukasz,

Congratulations for your amazing blog!

What most interests me in this post is the idea that underlies and that we often forget; FEM is only a tool to calculate certain outcomes where other calculation methods fail to solve with enough accuracy.

And therefore, as all those whose work involves FEA should know, FEM must coexist with many rules such as EC, Class Societies regulations, etc. Performing a FEA in practical, real-life situations is a mean, not an end in itself.

I reckon that this it’s a simple but important thing that we shouldn’t overlook.

Congrats again!

Łukasz SkotnyJanuary 21, 2021 at 8:12 amThank you Angel! I’m really glad that you like my blog!

Indeed, FEA is a great tool, but it should be bound by some additional rules like EC – I totally agree. But also, there is a deep risk of doing FEA wrongly, and drawing false conclusions. It’s actually not too simple to write a code that would “prevent that” from happening I guess. This is where learning really comes into play!

All the best, and I hope to see you around!

Ł

Ángel ÁlvarezJanuary 21, 2021 at 2:47 pmHi Łukasz,

I fully agree.

As long as there is no “do silo” buttom (some day it will come) and, despite the fact that the control agencies publish procedures and guidelines for carrying out FEA in order to standardize idealizations, verification criterias and so on, the experience of the analyst and his training remain fundamental for the correct application of the method.

That’s why I positively consider the disclosure of some fundamental concepts you make so enjoyably on your blog.

Good job!

Łukasz SkotnyJanuary 21, 2021 at 4:53 pmThank you, Angel!

You are very kind 🙂

… and I’m not so sure how soon the “do silo” buttons will appear. Sure, this day will come, but at that stage, I guess I will also be worried about other things like the “play with my kid” button, etc. Luckily for us, engineering is a rather complex thing, and it’s an art. It’s not so easy to wrap it in algorithms that will just do the “solve it all” kind of thing.

Also, I believe that the “do silo” buttons only count, when it’s the software provider that is responsible for the possible failure of the structure, not the one pressing the button! 😀

All the best!

Ł

DmitriiJanuary 24, 2021 at 8:35 pmHi Łukasz

Will you consider different boundary conditions at the beam edges in the FEA model? In the teaser-animation one can see that they behave as a free end, while for a beam being a part of some bigger structure this will not be the case, and we could expect it to be stronger compared to the free end case…

Regards,

Dmitrii

Łukasz SkotnyJanuary 25, 2021 at 9:07 amHey Dmitrii!

This is a very interesting point, and I really like it. Indeed, different boundary conditions will impact the outcomes (obviously), but to be honest, I don’t plan to do a too-big study. If I would be writing scientific articles that would be a thing – here I just want to make some comparisons regarding methods and approaches. If someone will be interested in the comparison of various imperfections or BC impact on the outcome, they can do the comparisons themselves of course.

Simply put, while I would love to include those… I simply can’t assign as much time to the blog to make such things “on the fly”. On the flip side – I try to discuss various BC impact on outcomes in my online courses 🙂

Marin RajicFebruary 4, 2021 at 10:41 pmIt is going to be very interesting to see the results of this one in FEA and compare. As an answer to Dimitrii’s comment I would just add that code here deals strictly with web local buckling and thus doesn’t take any ”global” effects in the consideration.

However, Lukasz, your FEA model will capture stresses in the web also due to ”global” beam bending. Here I agree with Dimitrii, it is obvious that setup of your boundary conditions would matter.

But on the other hand, you have bending in the beam, and stresses due to bending will mostly be taken by flanges, not the web itself. So results might be comparable.

Łukasz SkotnyFebruary 6, 2021 at 7:43 amHey Marin!

Yea, this is a consideration for sure. This is why the bottom beam is so short – I didn’t want the bending to play a big role. Although there is an impact for sure – not everything can be done perfectly, and this was not even my goal – I just wanted to show different methods and compare them. I feel that the “global conclusions” that I will draw from this exercise will be valid anyway – that was my main concern.

I admit, that there is a second part of this code procedure, that would take that into account… Initially, I wanted to follow it as well, but that would be a super long post, and I resigned from that idea somewhere along the way.

So, the hope is, that while my comparison may not be 100% “strict” (sadly, this is in many cases undoable, since code procedures are somewhat “taken out” from global problems) it is still accurate enough to show the difference in approaches.

Thank you for voicing your concerns, I really appreciate this!

Ł

Marin RajicFebruary 6, 2021 at 9:46 pmHi Lukasz,

I wouldn’t say I was voicing the concerns, rather giving my observations. I have a lot of experience with ”hand calculation” part of the web buckling, particularly according to Eurocodes as you presented above.

It was more an attempt to round up Dimitrii’s comment and potentially add some value. At the end, comparisons should also be time-wise reasonable.

Very interesting posts in general, keep up the good work!

Łukasz SkotnyFebruary 6, 2021 at 9:56 pmHey!

Of course! I’m glad that folks with experience in given fields read my stuff – if I will make something terribly stupid, I really do hope someone will “catch” me on it! I really don’t want to be misleading to people!

I’m really wondering what the comments will be under the nonlinear part – it’s only a few days away!

See you around!

Ł

IevgenJanuary 25, 2021 at 1:30 pmThanks Łukasz, it was a joy to read it 🙂

Łukasz SkotnyJanuary 27, 2021 at 7:43 amThank you Ievgen! I’m really glad that you like it 🙂

MomikFebruary 5, 2021 at 10:08 pmŁukasz,

Chapeau bas, you do a great job on this blog! I really enjoy it!

I have one doubt. What do you mean that double fillet weld of 4mm seems to be small for flange of 30mm? You should compare weld with web thickness 6mm. Therefore 4mm weld is more then enough for that beam.

On the other hand, web of 6mm seems to be very thin comparing to flange 30mm. Maybe that is what you meant.

Łukasz SkotnyFebruary 6, 2021 at 7:54 amThank you! I’m really glad that you like my blog, it’s so nice to hear!

Well, according to the way I was taught (it’s definitely an old Polish code thing, I’m not sure if this was carried over to the Eurocode) there are two limits.

On one hand, you have a maximal thickness of the weld (that would be 0.7 of the thinner plate) – in my case 6mm * 0.7 = 4.2mm – so for this 4mm weld is ok.

But then, there is also a minimal weld thickness… as one o my professors called it: “the plate needs to know that it is even welded!”. And this weld is size was 0.2 of the thicker plate. In our case that would be 6mm (0.2 * 30), and this is why I wrote that I know 4 is a bit too little to weld a 30mm plate.

Yes, such a big difference was totally what I intended to have – I wanted a nice stability failure, so a thin web was needed. and a 30mm flange seemed right for the beam height.

I hope this explains stuff a bit – let me know what you think!

All the best!

Ł

MomikFebruary 9, 2021 at 12:03 amThanks for your reply! You’ve just remained me that 0.2t rule and the same words from my professor: plate needs to now, that is even welded! Can it be a coincidence?

As far as I know that rule doesn’t exist in Eurocedes.

Łukasz SkotnyFebruary 10, 2021 at 10:03 amIndeed, I don’t think there are minimal rules in EC, at least not in the code for connection design. Perhaps those were moved to some other random part of the Eurocodes (I wouldn’t even be surprised)… but I follow those guidelines anyway 🙂

KrzysiekBFebruary 9, 2021 at 11:13 amWitaj Łukasz,

na wstępie super artykuł 🙂 Robisz naprawdę coś wielkiego dla wszystkich inżynierów 🙂 Kiedyś analizowałem jak określać nośność środnika pod obciążeniem skupionym oraz nośność żebra podporowego i miałem kilka zagwozdek. Moja edukacja z konstrukcji stalowych opierała się głównie na książce Pana Goczka. Wróciłem do tego tematu po Twoim artykule i praktycznie wszystkie wątpliwości zostały rozwiązane 🙂 Mam jednak jedno pytanie. We wzorze na smukłość _lambda_F występuje zmienna l_y. Zgodnie ze wzorami na l_y, wartość l_y zależy od obliczonych wartości s_s, m_1 i m_2. Wzór na obliczenie wartości m_2 zależy od wartości _lambda_F 😀 Zatem Eurokod się trochę wg mnie zakręcił 🙂 W swoich obliczeniach przyjąłeś większą wartość m_2, nie znając jeszcze jaka będzie wartość smukłości _lambda_F. Rozumiem, że przyjęto sytuację bardziej niekorzystną. Takie moje pytanie, czy nie uważasz, że jest coś w Eurokodzie pokręcone w tym temacie? Jeszcze raz super artykuł!

Pozdrawiam

Krzysiek

KrzysiekBFebruary 9, 2021 at 2:36 pmPrzeczytałem drugi raz artykuł i jest tam odpowiedź na moje pytanie. Również zauważyłeś podwójną zależność we wzorach na m_2 i _lamda_F 🙂

Łukasz SkotnyFebruary 10, 2021 at 10:04 amCieszę się że wszystko się wyjaśniło!

No i dzięki za miłe słowa – cieszę się że podoba Ci się mój blog 🙂

pozdrawiam serdecznie!

Ł