How to check if the FEA report is good?
Learn how to briefly check an FEA report, even if you don't have a deep technical training.5 December 2022
There is no doubt in my mind that Finite Element Analysis (FEA) is the cornerstone of my career. I attribute most of my career successes to both engineering and FEA knowledge. However, when I started, I really hated FEA… it was an intimidating thing I had to do for my Ph.D… and I almost exclusively treated it as a “mathematical tortures”. Now I know better, and I’ve prepared this guide to help you start with FEA yourself!
As a beginner in Finite Element Analysis, you only need to know a few things to start. You need to know how to support and mesh your models, what loads to apply and how to analyze and interpret outcomes. None of those require big mathematical knowledge, but some rely on good engineering judgment.
All right, let’s get into this!
I start in a very weird way, but please bear with me here (of course you can skip to the next chapter below if you like where “FEA” really starts!). If you are interested in writing your own solver then this is the place where you can quit reading… I’m not sure if this will help you at all. Instead, you may want to read a post on how to do FEA by hand.
You are still reading? Great! This means you are in “my type” of a crowd! I assume you want to use FEA as a tool to aid you in your design! And this is a completely different thing. It’s not better or worse… it’s just different!
So, before we start going into details, I want to point out one very important thing. If I could pick one thing I wish you learn from me in this post that would be this:
FEA is just a tool!
It’s a calculator, admittedly a fancy one, but “only” a calculator none the less. Sure, a lot of engineering experts use FEA nowadays, and I think the trend will only increase. But no every kid with a calculator is an expert!
This is the most critical thing. While being good at operating the calculator really helps, you really need to understand what you want to calculate in order to properly use the tool. This is where engineering knowledge and even engineering intuition comes into play!
I think this is why teaching FEM (Finite Element Method) is so much more popular at Universities. It’s relatively easy to force someone to learn complex calculus. You know, there is a set of rules known for ages that you should use and apply. There are books on the matter etc.
But engineering needed in design with FEA… to me, engineering is an art, not science! Sure, there is a lot of scientific knowledge involved, but to me, it’s the art part that makes engineering so appealing! The problem is, you won’t be able to get to the “high level” of practical use of FEA without engineering intuition (call it an insight or understanding… you know what I have in mind here). Building a calculator is definitely a very scientific thing. Using the device for your own purpose requires creativity and understanding that cannot be “closed” into equations.
I think this is why people struggle to use FEA efficiently. They close themselves in the mathematics of it, forgetting that this is just a tool. A widget you want to use to solve a specific problem. And while a calculator is super useful to help in calculating stuff… knowing how to use it doesn’t tell you at all what you should calculate and how! It just “speeds up” the process and makes it more accurate. But it is still you that defines what should be done in the first place!
And this is where FEA “magic” happens. It’s not nearly as much about meshing your model or solver settings (even though they are important of course!). It’s about defining the problem and understanding what you are trying to solve! I strongly believe that this is what makes you great at FEA.
Luckily, you can develop this understanding as you go! You don’t need it all at the start (and God knows I didn’t have that at the beginning!). But it’s critical to understand, that this is a part of what makes you great at FEA. So do not neglect learning engineering along with learning FEA. Otherwise, you will be just a “glorified” calculator operator… and not a specialist and engineering virtuoso. And since you are interested in design with FEA, I assume you are after being an artist, not an “FEA worker”.
This post won’t teach you how to be a good engineer. But I will point out several places where you will need engineering, and why it will play a role in your design! If you feel you are lacking in this space… no worries! I lack in it too, and the problems I try to solve constantly remind me about that! Just be open, and learn along the way. Your FEA skills will help you to learn engineering, and engineering understanding will push you to learn more about FEA. It’s a great process to be in!
Want to expand your engineering intuition?
This is a very good goal for sure. I would assume that the best approach to this will be to try to understand how things work intuitively. I was super blessed to have a father who has a Ph.D. in engineering and who found the time to explain the world to me in this fascinating genius-like way. This is why from time to time I get a glimpse of what he understands. This allowed me to write several posts that may help you, but at the least will show you what kind of understanding I have in mind! You don’t have to read them now, most aren’t even about FEA, but give them a read at some point:
In essence, always try to understand stuff in a way that you could explain it to a poet or your grandma. No mathematics, no complex theories, just plain old English, and your understanding stretched to the limits! Admittedly, teaching at University pushes you to this a bit… since even the easiest questions from students push you to deepen your understanding of things!
All right, after I shared all that, I think we really should start with FEA now!
All right, we are ready to start with FEA. And since this is the beginners’ guide I won’t start with geometry. That is the second step! The first one, and probably one of the most difficult ones is figuring out: what do you want to calculate!
This is the part where the engineering judgment I just talked about comes in handy! No worries if you feel limited in that regard. Just always think about this when approaching a new problem and it will come to you in time!
It will be pretty difficult to explain how to practically solve a problem, without a problem to solve! So let’s say you have a cantilever bolted to the concrete wall and loaded at the end. The question is: how to design this!
I know that there are no dimensions there. For now, we don’t need them. But if you must know, let’s say this is a HEB300 2m long and the end-plate is 20mm thick. The rest is more or less proportional, or self-explanatory.
The first question a good FEA specialist should ask is: “do I even need to use FEA?”. This is such a good question!
This is of course based on engineering knowledge, but it is somewhat dependent on FEA experience as well. You see, FEA is very time-consuming when compared to simple hand calculations. So there must be a reason to use it in the first place!
Let’s wonder, what could be a question here! Of course, as always, there is more than one correct answer!
For the sake of the example, let’s say that we need a super exact calculation of stress and deflection! Just to make the example worthwhile to analyze it in FEA. If this would be a “normal” cantilever, and we could make the end plate a bit thicker then maybe would be sufficient, doing hand calculations may have been a better option. But since we need to know exactly, we have to do FEA!
Engineering expertise and FEA
Notice, that we did a quite extensive analysis of a very simple problem. I have asked several questions, and we had to come up with the answers. What is important is, that neither of those answers was anyhow connected to FEA! I mean, sure knowing that FEA takes time was something we had to know, but so far we had to make a lot of engineering judgment calls like “will accurate deformations will be important”.
FEA will never give you the answer to such question! This is the domain of engineering expertise, and in the end, those are the most important questions you should ask! After all… FEA is just a calculator, and we just have decided what to use it for!
All right, so we decided that we want to check several things. First of all, we need accurate stresses in the beam, taking into account the bolt placement in the endplate. Arguably this is a small impact, but maybe this is important in some cases! This already tells us something: we cannot use a beam model!
Beam model, see out cantilever as a “whole cross-section” in one point. So it is “blind” to nuances like local stresses increase! This is something that we actually had to know about FEA to make such a call!
But there is even more in support of that. We want to calculate lateral-torsional buckling, and we will be using linear buckling (you can learn more on the analysis, but also the engineering background of the problem in this post). If our solver would not run the 7th degree of freedom on our beam element formulation we wouldn’t be able to use the beam model anyway. Yet again, something we had to know about FEA, that is not really connected to engineering as such. You can read more about the 7th DoF in this post, but it is unnecessary to follow along here.
Of course, we need to have an endplate implemented, and that can be accomplished with plate elements as well! The introduction of the endplate in our model will also mean that we will be able to check how rigid it is, to take that into account when we will calculate forces in the bolts, as well as the total deflection of the cantilever. All is good here!
Finally, we count on the compression to happen between our endplate and the concrete wall. There are several ways to achieve this effect in FEA, and this is again something you need to know about FEA in general. We can try to:
As of now, I won’t make a call about it. In all of the solutions, it’s obvious that we will need to model an endplate. We will get back to this problem when we will consider boundary conditions later on!
And finally a good FEA problem: 2D vs 3D mesh!
Geometry vs Finite Element Type
As you start modeling your problem you are instantly making a choice of element type you will use in your analysis. If you model the cantilever using “plates” (often referred to as midsurfaces) then you will mesh it with 2D elements. If you will make a “solid model” meaning that you won’t use planar surfaces, but rather solid shapes to model the cantilever you will have to use 3D mesh to go further.
This is one of the more important choices you will do in FEA. As a general rule, I prefer plates, and it is rare for the model (at least in my industry) to actually require solid mesh. This one can easily be modeled with plates, and it even has certain advantages in such case (like the ease in which you can change endplate thickness!).
If you are interested in what types of elements are out there, and why I picked 2D elements for this problem read this. But you can easily follow along and get back to this later as well.
In the end, modeling the cantilever isn’t too difficult. It’s just like drawing in a 3D cad, and geometry is really simple. This is how our model looks like after we are done. Notice that I’ve made the openings where the bolts will be, and those are as big as the actual openings in the plate.
This will be short. After we’ve made the geometry in 2D, we have a set of “infinitely thin” plates. Not something we really want to calculate! 2D FEA works in a way, that gives us an opportunity to define the thickness of each plate. This is done by assigning “properties” to each plate individually.
The property consists of 2 things: material used, and thickness.
Since this is a simple example, let’s use a very basic linear approach to the material. This means that I only need to specify its Young Modulus (210e9 Pa) and Poisson Ration (0.3). I could also specify density, but I will ignore self-weight in this problem (because it won’t play a big role, and I’m lazy!).
Having the material means that I can define properties for each plate thickness. And so, the HEB300 flanges will be 19mm thick, and the web will be 11mm thick. I’m not sure about the endplate, so I will just make it 10mm thick at the start (This will make some effects more visible, I know 10mm isn’t a lot for HEB 300)
So this is how my model looks like, with the properties assigned!
Of course, the red plate is 19mm thick, while the green is 11mm thick, and the yellow is 10mm thick. What is important in midsurface modeling is, that the red plates are 281mm apart. While HEB 300 is obviously 300mm high, we want to model plates in their middle. This means that we are “losing” half of the flange thickness at the top and at the bottom like this:
All right! So we have our geometry with assigned properties! Have you noticed how many decisions we have had to make so far? It could be argued that we haven’t even started with FEA, but we already moved so far! We estimated what we want to calculate and why. Going further, we decided to use a 2D mesh instead of a 3D mesh, which impacted how we modeled our cantilever. We also made a call to use linear material formulation – a pretty big assumption for sure! All pretty important choices!
Now it’s time to mesh the model. This means that we will divide it into small elements. This is required in FEA, and if you are interested in what nodes and elements are you can read this. But again, you don’t have to, in order to follow this post. Just accept that we have to mesh the model and move on.
Meshing is an interesting thing. Without a doubt, there is a lot of mathematics behind it. But I’m more of a practical guy when it comes to element quality and all that. I like to have a nice mesh (and it takes some time to make one), but in time you will simply understand when the mesh is nice and when it is not.
You can use quality measures like Jacobian to help you along the way, but there isn’t a single strategy that leads to a “perfect mesh”. This is something that comes with experience I guess. Of course, you will wonder what is the proper mesh size at the beginning – if that is the case you can read this. But again, you don’t have to, you can simply accept that the size I’m proposing here is more or less ok and move on. It may seem that I downplaying meshing importance here, but this is not the case. There is simply a LOT to write about, and it’s impossible to squeeze that into a single post!
Since we already decided that we are using a 2D mesh, the “manual” thing was rather simple. I used a few tricks that come from experience, to make the mesh nice near the openings, but apart from that it’s just a “mesh my model” button! Just don’t forget to apply properties to your plates before you do that though! This is how the meshed model looks like:
At this point you can tell 2 things about me and my relationship with meshing:
We are getting into wonders here! I will actually argue that boundary conditions are not FEA knowledge, but rather an engineering one. Sure, knowing how to set them up is FEA… but knowing which setup to use is purely engineering. Not a single mathematical textbook on FEA will show you how to support your model. But the same can be said about mastering any particular software. This is why it’s the engineering knowledge that makes you an FEA expert! Without it, you are just a glorified calculator operator!
To test yourself, take a pause, and sketch our problem. Then wonder how would you support it in FEA software, and what problems do you see there. I would recommend reading further after you are done with this small task. It will show you if you are on the right track, and self-knowledge about this is pretty important in learning. Also, never be lazy with boundary conditions. They are far more important than you think!
All right! Let’s move on then!
When I consider how to support my model, I always think about how it will work first. And we already did that. While I don’t know if my plate is rigid enough or not, I can suspect that the model will behave more or less in one of the two ways:
What does this give me? In fact, this gives me a lot!
First of all, I already know that only the top bolts will be in tension! The bottom ones are much too close to the compressed zone to be of any use. This, of course, ties out nicely with my engineering knowledge.
Secondly, I need to introduce “support due to compression” at the bottom. It can be contacted, or “one-directional support” on the entire area of the plate. But I can also “just” support the bottom edge of the plate (if my solver doesn’t have the “fancy stuff”). But I will have to be careful with which edge to support. If I think that my plate is rigid, I can support its bottom. But if I think that the plate is “weak” I can support the bottom flange of the beam. We will get to that in a second.
What we are left with is the shear force! Our model is loaded from the top, so something has to carry the vertical load. We could go with “friction” but in reality, this is not how it will work. Instead, bolts will carry this vertical force. Simply put this load will be a shear force in the bolts.
This realization also helps us, as it tells us that we should support “each bolt” in both vertical and horizontal directions in the plane of the endplate. This way, our model becomes stable, and we can transfer the load safely.
But there is one thing that is missing, and that is what does it mean to “support the bolt”? So far, we’ve meshed our plates. But I’m not in favor of supporting the opening circumference. This would actually make a connection that could transfer bending moment onto the bolt, and while in some cases this makes sense, as a general rule I tend not to use that. So instead I’m using rigid elements that connect all the nodes on the circumference with one node in the middle of the opening.
In Femap that is called a “spider” (adequately so!). Then, I can support the node in the middle in a translational direction, which makes it a pinned support, and bolts won’t be loaded with bending moment. It is a nice combination of engineering understanding of things and FEA knowledge. This is how the “rigid spider” looks like (below in red). Notice the pinned nodal support in the center (described by “123” in Femap which represents the first 3 DoF, namely: Tx, Ty, and Tz – where “T” stands for “translation” and a letter is an axis along which the support takes place).
Ok, so let’s approach this firstly with the possibility that we don’t have a solver with the “fancy nonlinear supports” nor contact. All we know so far is that we should support all the bolts as “pinned” just as you can see above. For the record, you don’t have to use “rigid spider” if you don’t know how to. A super-rigid plate circle (say 100mm thick) supported in the middle would work just as well.
I know that I wrote earlier, that only 2 bolts will carry tension (the top ones) and it is true. But even if I will get compression in the bottom bolts (on the supports there in the direction along the bolts’ length that I supported as well) it will just mean that the plate “near” the bolts compress to the concrete. So this is not a big deal.
So, step 1: Support all the bolts as “pinned”.
Step 2: make a choice, if our plate is “rigid enough” or not to make the support at the bottom edge. I know that our 10mm plate for HEB 300 is much too weak for that… so this is exactly what I will do to show you what will happen! Notice, that the line support is described as only “1” since I supported only the “along the beam” direction. This is because we decided that we do not want to carry the vertical load with friction! With a 50kN of load at the end of the cantilever this is what I would get (deformations are in scale x10):
Does this plate looks like a “rigid one”. Of course not! You can clearly see that the endplate clearly deforms. And it even goes to the inside of the concrete wall (marked as a black vertical line)! This is a clear indication that I “misjudged” the plate rigidity. I can either increase its thickness or support it in the zones that go “inside” the concrete wall. If I increase a thickness (let’s say to 30mm) this is what I would get:
You can clearly see, that the deformations are minimal (the scale is x10 just like before). I’m way happier now. But… I don’t want to go that route! Instead, I will switch it back to 10mm, and support the plate where it went to the inside of the concrete wall. It’s more fun this way!
I already know that I need to support the level of the bottom flange, but I also noticed that the very top of the plate goes inside as well. So, let’s make support there as well! This is what I got:
Looks way better now doesn’t it? Sure I could search for the nodes that still go inside the concrete wall and support them as well, but that would be too much. It’s like “manually” iterating contact. At some point, you just need to tell yourself “this is good enough” and move on. Let’s say it’s here – it is not a “perfect” solution, but maybe it will be good enough!
To compare outcomes, I’ve made a second model with a plate “acting as” the concrete wall. Elements on the plate are supported in every node (so it’s won’t move at all), and I defined contact between the endplate and that wall (in white below). This is the same plot as above (again scale is x10) but I’m showing the “element thickness” so you can actually see where the contact takes place:
You can see, that we got pretty close in our previous approximation. The deflection at the end differs only about 18%. Not bad for a manual approximation.
In essence, what contact does, is doesn’t allow any nodes to go inside the concrete wall while allowing all of them to move away from the wall. In some sense, it does exactly what we tried to do with selecting where our supports should be, but since it analyzes each node independently it is much more accurate at that.
While contact is clearly better, I admit that for the first few years, I had no access to a solver with contact! So I actually “played around” with where to support compression in such cases. You can read more about it here if you like!
In the end, I will use the model with a contact here, just because I can. But if your software doesn’t support contact (or you don’t know how to define it yet), don’t worry. Just support the model as I did with manual iterations, and move on! You will be just fine!
There are some additional nuances to this! Such a connection cheats a bit when it comes to shear force, but I won’t go so deep into this here. If you are interested, you can sign up for a free lesson from my online course. In one of the topics you get as a “sample” from my course, I actually discuss this in far more detail. For now, let’s say that it’s enough to understand this much!
To sum this up, our boundary conditions look like this:
Boundary Conditions in FEA
Again, we did a very important thing. We established how to support our model! And while you certainly need to know how to make support (I mean where to “click” in the software), this is absolutely not enough!
The most important part is again engineering understanding! It’s the fact, that you can analyze how this model will work, and how you have to support it, to represent the reality! And this is one of the most important calls you have to make here! And… I’ve seen people simply supporting the endplate on the entire area… not the best call for sure!
I admit I skipped ahead a bit since I already showed you the outcomes before we have discussed the loads! So let’s quickly discuss loads now.
Loading can be a pretty complex thing in FEA. Oftentimes, even estimation of the load value is a challenge. And of course, in such cases, it’s engineering, not FEA knowledge that will guide you through the problem.
Here, however, the thing is rather simple. We have a single load at the end. So the only thing I need to remember is, that it’s unwise to apply it to one node. Here, I could get away with it (since I’m interested in outcomes “far away” from where the load is applied). But just to build good habits I will make a “rigid outline” with another rigid “spider” element and apply the load to the entire width of the top flange.
You shouldn’t apply a load to a single node due to stress singularity. You can read more about it here, but again, this is not the most important thing here. I’m just noting that this was an “FEA knowledge” stuff!
In the end, this is what I get:
Notice that I’m using the “SI” unit system. This means that geometry was in meters, and the load is in Newton. This is why you see 50000 as the load value. It’s 50 000N = 50kN as I wrote earlier.
Yea! We have a meshed model, that is supported and loaded! How cool is that!
This is when we need to press that big red “analyze” button! Since we are doing linear analysis, there is literally nothing we have to set up. We can simply “do the analysis” and be happy that we live in the 21st century!
This is the outcome from linear static, we will get to analyzing outcomes in the next chapter:
But, somewhere along the way, we also decided to analyze the stability of our cantilever. To do this we need to use Linear Buckling Analysis. There isn’t much to set up, but it’s good to request several eigenvalues (I usually request 10, simply because I can!). Again we will look at the outcomes in the next chapter. If you want to learn more about linear buckling you can read this, and this. This is the first form, just so you can know if what you set up made sense!
Yes! You have it! This is how FEA is done, and you managed to get outcomes. Still, analyzing them requires both FEA and engineering knowledge, and it may be tricky for sure.
But let’s use the engineering knowledge we started with, and see what can we learned from our model!
Firstly, we wanted to see the max stress in our beam. This is relatively simple. Without much thinking, I’m showing the von Mises stress plot. But there is an FEA trick there! I have to decide if I want to display “averaged” or “not averaged” values. Funny thing is, that outcomes differ when I select different display options!
We will go right back into this, but we need to sort something first! When I displayed outcomes, it’s quite clear that this plate won’t cut it (regardless of the display options)! After all, we’ve selected a 10mm plate to discuss deformations in boundary conditions (to get big deformations)! Let’s say this is made from S355. Notice that both plots below are of the same outcome. I only manually change the scale to yield stress in red on the plot to the right.
It’s rather clear that this will fail… and it should! HEB 300 with 10mm endplate just isn’t a good idea in general 😛
So before we get back to different ways to display stress, let’s change the plate thickness to 30mm and quickly get back with new plots! Again, on the left the “automatic” scale. It shows, that the maximal stress is 488MPa. On the right, my “cheated” scale limited to 355MPa. Both outcomes are given in Pa (remember about the SI unit system?).
OK, it’s quite easy to see, that high stresses are only near the top bolts. Make a close-up in your model, and take a look at the stresses there. Somewhere in your software, you should be able to display stresses as “averaged” and “non-averaged” (they may be called centroid only or something like this). This time I’m not cheating the stress scale, see how the values change!
On the left above you see the “smooth out” or “averaged” outcomes. You may see that the max stress is 488.4MPa. On the right, stress is not averaged (if you look closer you may notice that each finite element has a constant color). The max stress is 484.7MPa. Not a big difference but it’s there.
It’s not easy to say what is the “proper” value. Sadly, you would have to make mesh convergence to see to what value stress converges (to be precise). I don’t want to go too deep here. For now, let’ say that the actual value is somewhere close to 484-488MPa. An accuracy I’m happy with.
Do you remember meshing? I wrote there that I like small elements because I’m not doing mesh convergence right? This is it! The fact that the difference between averaged and non-averaged outcomes is so small, is thanks to the small elements I used. If I would use much bigger elements, the differences between those can easily be on the level of 100MPa or more! This is why I used so small mesh!
Is stress higher than yield ok?
This is such an interesting question, isn’t it? After all, our endplate has around 480-490MPa with a yield strength of 355MPa. Clearly, our stress is higher than yield. But does it means that our plate will fail? This depends!
Assuming we don’t have fatigue loads, this isn’t tragic, to be honest. Sure, some stresses are higher, but they will be plastically redistributed, and it’s super probable that this will be ok. Of course, analysis with linear material won’t answer this question for us. Sadly, if we would have to base our design on linear FEA, the verdict according to Eurocode would be “failed”. In reality that would easily work… but the linear analysis is unable to prove this!
To show that this works “for sure” we would have to run an analysis with a nonlinear material. Heck, if in doubt maybe more accurate modeling of the bolt would be needed (with washer, contact, and all that). But this is a beginner’s guide, so let’s leave this at that ok? Just know that linear FEA while ok, have some limitations, and learning more than that is always a good idea!
If nonlinear stuff interests you (I would say that it should!) I would suggest reading that:
Usually, stresses are the most important part of FEA outcomes. And for good reason. But obviously, it’s not the end of the thing!
Thanks to the fact that we modeled our beam so nicely, we can precisely check a lot of things! You can check the deformations at the end, the loads in the bolts (just read the reaction forces in the supports!), etc. I hope that after playing a bit with the model you already noticed how much you can learn by simply watching it and selecting what should be displayed.
But there is one additional thing I want to mention here, and that is stability!
While checking deformations and reactions is pretty easy (just find where your software displays those!) stability is a “silent killer”. I admit that this may be overdramatic for our example, but it’s true that stability gives no warnings.
In essence, even if stresses in elements are lower than yield it doesn’t mean it won’t fail! It can always buckle under compression! Since our cantilever is in bending, the bottom part is actually compressed. This means that our model may still lose stability and fail (regardless in some sense of the stress values!). This is why I also calculated buckling analysis!
This is how LBA outcomes look like. Just don’t get scared with the stress values. Those do not have any significant sense, to be honest. What is important is the small number called eigenvalue (written in the bottom left corner). This time, the eigenvalue is 17.46. This means, that we would have to increase our load over 17 times to cause an ideal elastic stability failure.
While LBA outcomes as above aren’t perfect (they don’t include nonlinear effects nor imperfections that surely will be there) it’s not so bad. With a 17.5 multiplier on the first buckling mode, we may be more or less sure that our cantilever is “fine”. I just wanted to show you, that you can at least estimate buckling capacity with LBA. Sadly, some models lose stability with all stresses in the model much lower than yield, so it’s good to be careful. You can learn more about stability and how this works in this post!
You just read the longest post I have ever written so far! I hope it was useful, and that you’ve learned a lot here. Learning FEA is a great career move, and I’m glad that you are interested in this!
You can learn even more when you sign for my free FEA online course below! Also, don’t forget to share this post with your friends!
Join my FEA Newsletter
See you on June 13th.
Join the discussion