It’s relatively easy to perform an FEA analysis, but it’s definitely difficult to run an analysis that produces reasonable outcomes. During my Ph.D. research, I’ve learned that boundary conditions are often the issue. Seemingly simple they can cause a lot of trouble for you – so let’s wonder what are the proper boundary conditions in FEA?
You want to use Dirichlet boundary conditions in structural mechanics. They simply impose deformations on boundaries in your model (usually equal to zero). Each point in space can translate in 3 directions and rotate around 3 axes. You can then block movement on any of those directions, based on how your model can behave in reality.
This sounds pretty complex, but no worries. I’ve put several practical examples here, so just read on! After all, there is one big question still without the answer: which movement directions (and where!) you should block in your case?
This is a long post (solid 30 min to read it all!), so I’ve made a content list.
This Article Content List:
It’s only fair to start our boundary conditions in FEA journey with the simplest example possible. Don’t worry though, I’m pretty certain you will be surprised, so read it especially when you think it’s “obvious stuff”. I really like this problem since even the name suggests this it’s obvious. I mean it’s the “simply supported beam” after all, so nothing can go wrong right? Let’s check!
Simply Supported Beam
If you are not familiar with the term, this is the simplest possible problem in 2D FEA. This is how the system looks like.
First off, thanks to the fact that this is a 2D problem there is “nothing” in “y” direction. We don’t have to worry about it at all, so all we need to restrain is the movement in “x” and “z” as well as rotation in “xz” plane.
It’s obvious from the start that only loads are in “z” direction, so we use the “z” support in both support points. This is also nice since they are spread apart and this already blocks in-plane rotation (beam can rotate around 1 point, but the second point support makes this impossible).
This looks reasonable, but if you have any FEA experience you know this is not stable. The entire thing can slide in “x” direction. The solver doesn’t care that there are no loads in this direction. What “counts” is that movement is possible, so rigid body motion occurs. We simply need to support the “x” direction somewhere… otherwise, there won’t be any FEA calculations done.
Since there is no “x” direction load, it may seem that it doesn’t really matter… so let’s pick side A. This would look like this:
Success! We are done with the problem in a “classical way”. This is how it is done in textbooks, and in many cases, this works. But let’s try to complicate things a bit, or maybe just apply some “real word” approach to this.
Not-so-Simply Supported Beam
The above is nice and dandy if you want to make a static design pop quiz. But in reality, the obvious question is:
What is the difference between support A and B?
I mean the answer is that support A also carries the forces in “x” direction. That I know. But what is the difference in reality? Does the end connection of the beam in point A looks any different than in point B? Most likely no! And this makes things a bit more complicated!
The thing is, which one then is correct? Is it so, that we should apply non-sliding support to point B as well? Or maybe both are sliding? This seems like a trivial problem, but trust me, there is a twist : )
First thing is quite obvious – if we apply for the sliding support in point A, our beam will be unstable. This is not a great thing in reality – and a real problem. Most likely it would be wise to change the support somehow to carry the horizontal forces somewhere! You know if a beam just “stands” on two walls, you still have at least the friction:
This means, that if you load the beam, it won’t slide “on itself”, but sliding support does not take that into account. The problem is, that if the beam is not loaded even a relatively small “accidental” horizontal load can push it off the support. This may mean wold of trouble of course, so it’s better to pin it to the support with bolts:
The above is a classical “simply supported beam scheme”. But would you really do it like this? Because I most likely wouldn’t I would feel much better to have it attached on both ends. Not to mention that this beam can be attached to other steel beams, where the connection is obviously there on both ends:
All right then, let’s use the non-sliding support at both ends and be done with this! Sounds so simple right? But then, why all the textbooks do that differently? Because, as you will see in a second the two non-sliding supports make the system statically indeterminate… and this is a lot of fun with some pretty neat tricks : )
When things get real!
You could easily imagine, that since there are absolutely no horizontal loads it doesn’t really matter if we have one or two “x” direction supports. That is however not the case in many situations. And that is because of the membrane state! You see, when loaded the beam deflects downward, but the supports don’t get closet to each other… it gets longer. This is rather obvious. A straight line connecting two points is shorter than an arc connecting the same two points.
But, beams don’t like to get longer, and they resist such a thing (this is called a longitudinal stiffness often referenced as EA). This means that when both supports can’t slide, points stay where there are, and the beam will “fight” the deformation with tension (as it doesn’t want to elongate). The same beam with one support that can slide will behave completely differently. The beam won’t elongate (no tension) but instead will pull the sliding support inward. This way it can deflect, but still remain as long as originally. You can see both behaviors below (scale of deformations is identical in both cases):
I think I don’t have to tell you, that whether you pick sliding support or non-sliding support actually impact outcomes! Also, this is a pretty popular mistake!
I hope that the “simply” supported beam problem caught your attention. But I don’t want to leave it there. It’s obvious you will encounter more difficult problems in your career as well! Let’s wonder for a second how to deal with them!
Understand how the support will work!
Firstly, you need to understand how your support will work in reality. Sadly, this is a critically important thing, and without it, you can’t really define proper boundary conditions. Unfortunately, I saw a lot of engineers applying boundary conditions “as always” or in a “typical way”. This is rarely a good idea, and I hope that the above example proved that.
Always think how your support will behave, which movements you should allow and which you should restrain. Remember, that in a 3D space, you have 3 translations and 3 rotations to deal with, and you need to avoid rigid body motion as well! Let’s take a look at a simple real-life situation and wonder how to deal with those!
I hope that this way I will teach you how I approach this kind of things!
Note, that I normally don’t “single out” beams from such systems. I do it here simply to show you how this can be done! Imagine we have a beam assembly that looks like this:
Let’s assume that you want to model only the middle beam for whatever reason. This is a very simple example of course, but think about it like this:
Usually, the thing you are designing is either too big to be designed in one go and you will have to divide it, or it simply stands on something else. In either case the question is, how to take into account the thing you are connectiong your structure to! This is in the end the essence of Boundary Conditions in FEA!
As always, I will take a look at each DOF (Degree of Freedom) separately. In this case, my thinking would be like that:
- Translation Z (TZ, vertical support in this case): Technically, when I load the support point (middle of the main beams) in the vertical direction those beams will deflect. This means that this support is elastic, and have a certain stiffness (so the boundary condition is elastic). I can measure the stiffness by loading the main beam with 1kN of vertical force and measure the deformations (I would assume that the stiffness is linear in this case). This is the value I need to provide as a “boundary condition”. A reasonable question would be – do I have to take that into account? Honestly, it depends. In a simply supported beam stresses will be the same if I introduce vertical support rigidity. If I’m after those, then I will be fine without them. But if I want to get realistic deformations, I can’t really ignore those things!
- Translation X (TX, translation along the middle beam axis): Both main beams will deflect horizontally if pushed or pulled by the middle beam. Again this is elastic support. If I expect the middle beam to be rigid (small deflections) I would assume both are rigid and be done with this (this would mean that the translation is zero). But if the beam would deflect significantly the membrane state would kick in causing serious horizontal forces. Then estimating rigidity is critical, and that rigidity would be the boundary condition!
- Translation Y (TY, translation along the main beam axis): You should support this direction (which means the translation is zero). There is no way to deform the main beam along this axis in any reasonable value that would impact the outcomes. This is just rigidly supported on both ends!
- Rotation around Y (RY, in-plane bending of the middle beam): This might be the most important direction in some cases. Here the connection is clearly a hinge, so it’s not supported at both ends. If this would be a rigid connection (or a semi-rigid connection for the matter) then I would have to calculate both the connection rigidity as well as the main beam torsional rigidity (1kNm divided by angular rotation (in rad) caused by it in the middle of the main beam). This is *definitely* not rigid support – even if the connection would be perfectly rigid! This is due to torsional rigidity of the main beams… that most likely is pretty low since those are I-sections! I’ve seen a lot of mistakes like those!
- Rotation around X (RX, torsional support for the middle beam): This one is “funky”! Technically the connection itself is much less rigid than the beam itself, but then I also don’t foresee any torsion. What I would do is to assume that this is a rigid connection on both ends (can’t “favor” any side – those are the same!). After design, if any torsion appears you would have to estimate if the connection can carry that! If that is not the case you can try to estimate the torsional rigidity of the connection. I would say that you can ignore main beams rigidity impact here – torsion of the middle beam is bending on the strong axis to the main beams… rigidity of the main beams in that direction will be huge compared to torsional rigidity of the middle beam… so just assume it doesn’t play a role. With the torsional rigidity the torsion moment may be lower and allowable… if that is not the case think how can you load the beam to avoid torsion… or strengthen the connections. Just remember that the strengthened connections have higher rigidity, so the torsion in connection after strengthening will be higher as well (now that is a vicious circle!).
- Rotation around Z (RZ, bending on the weak axis of the middle beam): This one is simple – it’s a pure hinge in that direction, so no supports there! Nice and clean!
Wow… what a ride huh?!? I think this may seem intimidating, so I decided to make a small infographic for you with all the answers in one place:
More complex structures
As you can see above, even the simple problems can be pretty complex. But the good thing is, it rarely gets worse! I mean, you already know how to estimate support rigidity, and how to think about each direction independently. The rest really is just practice, and in time you will learn to solve such problem quickly.
That said I want to give you some advice before we move to the common mistakes section!
- Don’t assume something is on a “safe side”! I often hear something like: “we didn’t think about it but we assumed safe-side boundary conditions”. THERE IS NO SUCH THING AS SAFE SIDE IN BOUNDARY CONDITIONS! Yup… that was all-caps and for a good reason! If you are analyzing a beam, assuming a hinge means that the span of the beam will get higher bending. This may look like the “worst case scenario”, but the rigid connection would mean that your beam connections will have it much worse! Which is the “worst case” then? Well, it depends on which part! Beam has it worse if the hinge is assumed, but connections will have it worse if you assume a rigid connection. This means you need to be careful while assuming boundary conditions, and there is no safe-side! A very common misconception… and a dangerous one!
- Think if you can carry the load in both directions! This is also common, I will discuss this in mistakes section in more detail. The fact that something stands on something else (like a glass on a table) does not mean you can support the entire area of contact in a vertical direction. That would effectively mean that you have glued your glass to the table, and you can’t pick it up anymore. Sure, in simple cases you will get only pressure in the support (so all is correct) but when bending is involved you may get tension and carry it… even as your support can’t really do that! This is why you should be careful and check if you got reaction forces only in directions you can actually support!
- Pinned boundary condition can lead to rigid support! The fact that your software calls the boundary condition “pinned” does not mean that you will get a pinned support! Usually, if you support an area with “pinned boundary condition” this leads to a rigid support. “Pinned” would mean, that there is rotation possible in your support, but since you supported an area for both tension and compression no rotation is possible at all… and this actually is rigid support!
- Support rigidity can kick you… you can pick where! There were several huge structural failures since designers did not take support rigidity into account. Again I will discuss that in common mistakes section, just be aware that this may play a huge role in your design!
Before we go into common mistakes, let’s deal with this one first!
I remember when I started tutorials often said that you should use “symmetry” boundary conditions. I hated that, as I had no idea how those should look! Luckily, this is not as difficult as it may seem! Let’s crack this one!
I will use a simply supported beam (again) because symmetry BC are always the same, and this is something easy to imagine!
Symmetry in 2D problems
Firstly let’s deal with the 2D problem of a beam. I draw it below showing the cross-section outline, just to be able to draw deformations better. This is for a beam model for now – we will discuss shells and solids in 3D problems.
Firstly let’s deal with something that is not really obvious: Symmetry is a support!
Let this sink in for a second! This basically means that the part of the model on one side of the symmetry supports the part of the model on the other side of the symmetry. How? That is super simple!
Imagine that our beam from above is in tension. This means that in the middle the “left part” of the beam wants to go left, while the “right part” of the model wants to go right. Now imagine we are discussing the precise middle of the element. If it is symmetrical the “left part” want to go left equally strong as the “right part” want to go right. This means that the center is in perfect balance.
Now imagine we cut our model in half and we only think about the “left part”. In such a case the “left part” wants to go left, and there is no “right part” (we cut it away!) to balance this movement. So what we will do is we will support the “x” direction in the middle (on entire area) and we are set. The reaction force in the support will be equally strong as the “left side action” but in reverse direction – a perfect representation of the “right side” of the model! Please notice that “x” is the “normal direction” to the symmetry plane (it’s perpendicular to symmetry plane).
Now let’s wonder what about the “z” direction. In the middle, the beam goes downward, and nothing is preventing that. Furthermore, since the model is “symmetric” both left and right side of the model want to go downward “equally bad”. This means we don’t have to support the “z” direction – you need to allow for such deformations!
Finally, we need to discuss the rotational DOF (Degree of Freedom). Notice, that I draw the deflected part of the beam with symmetry plane above. Note, that the middle cross-section is perfectly vertical, while all other cross-sections are “inclined” due to bending deformations. This is because bending, in essence, is tension and compression applied to various parts of the cross-section. In our case, the top part of the beam is in compression (it gets shorter) while the bottom part is in tension (it gets longer). I already told you that you should support both tension and compression. This means that you should also support this rotation. Simply put “left part” of the model want to go to the right (on the top) and to the left (on the bottom) due to bending. The “right side” want to do equally opposite thing equally strong… so this evens thing out!
This means that our support in 2D in the middle of the beam (where symmetry is) should be: TX = 0, TZ = free, RY = 0.
Symmetry in 3D
Now imagine that our model is a 3D beam… so it has a certain thickness. This changes nothing in the logic itself, but let’s go over all BC conditions for a beam first:
- Translation in the X direction (normal to symmetry plane): This is precisely what we already discussed in 2D. Each part wants to go “equally strong” in opposing directions, so you have to support this direction.
- Translation in the Z direction (direction on symmetry plane): Again, we already discussed this. Nothing prohibits the movement there, so this is a free direction.
- Translation in the Y direction (direction on symmetry plane): The logic here is exactly the same as in case of the Z direction! There is nothing prohibiting the movement “to the inside” of the drawing I’ve made above. Just as the beam was able to deflect in “z” direction it can deflect in “y” direction as well. So this is also free!
- Rotation around X direction (direction normal to symmetry plane): Imagine you have a beam in torsion that is symmetrical. The “twist” is minimal at the support (assuming it’s supported there of course!), and increases toward the middle of the beam. Then it decreases again going back to the second support. This means that both “the left side” and “the right side” of the model twist in the same direction, and as such do not support one to the other. This rotation should be free!
- Rotation around Y direction (direction on symmetry plane): We already discussed that above. Bending in this direction causes normal stress, so it will even out on the symmetry plane (left part goes in the opposite direction than the right side). This means that this direction is supported!
- Rotation around Z direction (direction on symmetry plane): This is exactly the same situation as in case of rotation around Y direction. This direction should also be supported.
The answer to the question: “How to define symmetry in FEA?” is pretty simple then. Just follow these steps:
- Step 1: Find the symmetry plane! Note this is always a plane, but in 2D problems, it will be seen as a line (as the 3rd direction you don’t have in 2D is also the second direction of the symmetry plane).
- Step 2: Cut the model where symmetry is, and delete one half. Well, obviously you can model only half of the model from the start : )
- Step 3: Define a coordinate system with one axis normal to the symmetry plane. Again if you are smart you can model your structure in a way that one of the global coordinate system axes will be normal to symmetry plane. Then you don’t have to define the “users” coordinate system for that. However, sometimes this is not the best approach. Either way, you want to have a coordinate system with one axis normal to the symmetry plane. It is the direction X on the drawing above.
- Step 4: Support the following directions (assuming it’s the X direction that is normal to symmetry plane): TX, RY, RZ = supported, TY, TZ, RX = free. If you have a beam model those will be point supports (on the places where you cut your beams). In the shell model, those will be line supports (symmetry plane cuts your plates and shells leaving lines in the place of the cut! Don’t do symmetry through a plate in a plate model). In solid this will be an area (plane will cut the solid leaving an area on the symmetry plane). Note that in most FEA codes solids only carry translation on nodes (there are no rotational DOF’s) so all you most likely need to support is TX, as RY and RZ won’t be interpreted anyway (you support DOF’s that are not there at all!).
Ta-da you have finished! This is how you do symmetry boundary conditions in FEA!
There are a lot of mistakes one can make when assigning Boundary Conditions in FEA. I think this is one of those areas that you can simply do wrong and then suffer from it. Let’s examine some situations that would be pretty bad in design!
Supporting a direction that is not supported at all!
This is a pretty drastic situation but it happened. I once had a student who supported the top of the 60m chimney in a horizontal direction… When I asked why she replied that without the support the structure was not stable! So I gently asked how she intends to support that chimney in horizontal direction 60m above the ground… not a simple task as it turned out.
You may think, sure but this was a student, just starting etc. And this is completely true. I was thinking about it the same way until 2 years ago I was invited to an engineering office to train them. And I saw a huge 5-story structure with some conveyers on top… and one of them was supported in the horizontal direction.
A small hint: if you see a horizontal support somewhere high in a model of an outdoor structure … usually, this doesn’t mean anything good!
So I politely asked what the heck is that ?!? (I can be courteous for sure!). And it turned out that they added it at the beginning as the thing was unstable… and simply left it there. This even allowed them to “optimize” bracings in the structure. Yea, that really happened.
To conclude – always make sure that you can actually support the direction you want to support!
Of course, from time to time you will need to support a direction even if there is no support there. Think about lifting something with a crane. It’s obvious you have no horizontal supports (the load can sway if you push it in the horizontal direction). Still, you need to model this somehow to calculate the spreader beams for lifting!
Usually, in such cases you will use a soft horizontal spring (DNV suggests a rigidity of 5kN/m) – those are often called “air-hooks”. The idea is simple. Applied rigidity is too small to impact anything, but solver will be happy, as the problem just become stable.
The problem is, that you need to remember to check if you got any significant reaction forces in the air hooks. Because if there are reactions forces there… something went wrong, and you shouldn’t trust the outcomes!
This can be a big one. If you are designing a relatively flabby structure I wouldn’t worry too much. After all, it will just deform and adapt to changes in support rigidity.
The problem starts when you have a rigid structure (silos anyone?). You see, if you support a rigid structure on several supports, where some are more rigid then others, you are going to pay for it! Oftentimes what will happen is, that the structure will just stand on the more rigid supports, while completely “ignore” the weaker ones). There were several drastic silo failures due to this problem sadly. Usually, it looks like this:
Notice there are 4 “main” supports (points A-D). Those “stand” on bracings in the walls, as it makes perfect sense from the structural viewpoint. After all, we need bracing anyway, and the “reverse V” make the top horizontal beam much smaller as there is almost no bending in it this way (all the forces goes to bracing directly). This “alone” is a really common, and nice solution.
The problem starts when someone gets a “perfect idea” to add the “corned beams” and use points E-H as “additional supports”. The problem is, that the vertical rigidity of those beams is much lower than support points A-D. And silo structure is *incredibly* stiff in the vertical direction. This means, that in reality, it won’t deflect at all in the vertical direction (this is a 20m high tube for crying out loud!). And as such, the effects are easy to foresee. “Additional supports” deflect taking literally zero loads, while all the load goes to the “main supports”. This effectively means that your silo stands on 4 points, not on 8 and this usually leads to the failure of support zones.
Bah! It can be even “funnier”. You see there are “erection tolerances”. If for instance some supports are 2mm higher and others 2mm lower in the above scenario this will be “fun”! Even if the support rigidity on 8 points is still the same, such silos would stand on the “top” 3 supports completely ignoring the supports that are few millimeters lower! This means that you have to always foresee a very good way of rectifying the shell supporting structure… or you will suffer from it!
I already did several studies on existing silos where they had to be strengthened before use, because of the above issues. And as I mentioned there were failures caused by this effect as well.
Of course, this is not only about silos! If you have a relatively rigid structure, always worry about support rigidity!
Want to learn more about structural rigidity? Definitely read this!
The symmetry of outcomes!
This is another tragic case! You see when you assume symmetry this doesn’t only mean symmetry of geometry, loads, and boundary conditions! This also means that the outcomes should be symmetrical! And if you wonder how on earth a symmetric structure can behave in a non-symmetric way think about buckling of a simple frame!
This is a perfectly symmetric system, but it will fail due to buckling in such a way:
The problem is that the symmetric buckling mode produces much higher load multipliers than the unsymmetric modes. This means, that using symmetry, in this case, would lead to a very unconservative design… don’t go there!
Just make sure, that when you are using symmetry, you are expecting symmetrical outcomes. This is especially important in buckling and vibration analysis!
Supporting load directions that are not supported!
Sometimes you can simply assume that entire circumference is supported in the vertical direction for instance. However, in the case of squares, that is rarely the case : )
You see, when you support a square plate, its corners want to go upward if it is deforming downward. It’s just a funny property of square plates. In itself, this may not be so important, but I actually did a design when it played a role!
Imagine I had to design a hopper that was almost square at the top and was simply “standing” supported on the top ring by the concrete slab. Simply put there was a hole in the slab, and you put the hopper there, and it was supported at the slab edges.
The natural approach would be to support it in the vertical direction on entire circumference… but it wouldn’t be the best approach. You can learn more in this video:
This is great! I’ve made a complete FEA online course! If you are interested, below you can sign up for a free lesson that will teach you more about boundary conditions. You don’t have to provide me with a credit card or anything else really. Just put your first name and email below, check the “marketing” box and get the free lesson. Simple as that : )
What boundary condition types are there?
The popular choices:
- Dirichlet BC: you prescribe a value the unknown function needs to have at the boundary.
- Neumann BC: you prescribe a value the derivative of the solution needs to take at the boundary (like heat flux in thermodynamics)
- Robin BC: this is the linear combination of the two above.
- Mixed BC: This is something akin to Robin, but instead of using both value and derivative on each boundary, you use one type on part of the boundary and another type on a different part of the boundary.
- Cauchy BC: It’s a bit like Robin condition, but you apply Dirichlet and Neumann conditions on the boundary independently, while Robin condition only assumes a linear combination of both.
What are nonlinear boundary conditions?
In classical structural mechanics, there can be several ways in which BC can be nonlinear. The most obvious is, that you have elastic support that changes rigidity with the amount of stress applied to it. Elastomer pad would be a perfect example of such a thing. A second common solution would be the support that works if you press, but doesn’t work when you pull (like a table on which you put a glass). It could be argued this is not nonlinear in a sense that after you “establish” whether you have tension or compression in the support all is ok… but it requires iterations to check that (especially if you have many places like that in your model).