Mesh convergence with examples
Deciding on the correct mesh size is a rather difficult thing. The most accurate approach would be doing a mesh convergence check. I will show you an example of how to do it.27 July 2020
I started paying attention to meshing way too late I think. When I started my Ph.D. I literally divided elements into two categories: those that throw errors and those that don’t! But even then I was lucky – I could simply check scientific papers on similar topics and use the elements that someone else used before. In “normal” work you usually don’t have such a luxury! So let’s take a look at various elements types used in FEA!
There are several types of Finite Elements. You can use beams/plates/solids depending on your model. With plates/solids, you can use easier to mesh triangular elements (TRI/TET), or more robust quadratic elements (QUAD/HEX). All elements can be linear or quadratic (the second computing longer but with nice perks in return).
As you can see, there are several things we need to discuss – let’s jump in!
Sadly, I see it more and more often and we need to address this first. We can discuss TET and HEX elements all day, but there is a choice that is often skipped. Unfortunately, it’s the most important one!
It’s clear that CAD tools are everywhere in the industry. When I was moving to my students’ apartment I designed my furniture on paper with a humble pencil, I went to a store that cut plywood and ordered the needed parts having several sheets of hand drawings with me. I’m not even sure if they would take my order today without some sort of a CAD model or maybe even a CNC file.
Nowadays each engineer has easy access to a full 3D geometry of whatever is there to design. No surprise – everybody uses CAD models for manufacturing at least! Most of my Customers send me a 3D CAD files of structure/elements I should verify – it’s more convenient for them, and they have those anyway!
This means that “technically” geometry is already made for you! All you need to do is just to load/support/mesh it and you are set, right?!
Those 3D models were usually created with manufacturing in mind. All the beams and plates are modeled as solid, this serves that purpose better. Also, every detail, bend, undercut, fillet, and hole (however small) is there in the model… it’s needed in manufacturing after all!
This means that you get an incredibly detailed and complex 3D solid geometry… and this is a trap!
Does this mean that those models are “wrong”? Of course not – they just serve a different purpose! They are great for manufacturing, but those are not “FEA models” by a long shot!
I often see that people start to mesh such geometries (they are already there!), and sometimes even spend a lot of time “defeaturing” them (removing those small geometric details). In most of the models I did, that is not the best approach.
You see, the analysis model must be simplified and idealized for the analysis to actually “work” properly. In the above cases switching to 2D mesh in most parts (and beam elements for supports) is a must! You would need at least a few solid (HEX) elements through plate thickness… so with solid mesh, the element count would be *INSANE*! Not to mention that a lot of details only make the analysis last longer not contributing anything useful!
My experience is, that in most cases it’s actually faster to do the model from scratch with the analysis in mind, rather than work on changing the 3D geometry you’ve got! Either way, this is a process that will take time, and simply meshing the CAD model is definitely not the best approach (unless of course this CAD model was done directly for design purposes… but that never happened for me so far!).
So now, knowing that you really have to work upfront on your model geometry it’s high time that we actually discuss various element types in FEA!
Since it’s clear that working on the geometry will be required, the biggest issue without a doubt is: should you use the beam, plate, or solid elements.
All of those have advantages and my thinking usually is like this:
Of course, this makes sense only if you can reasonably make a call whether some elements could, or could not be used. Let’s take a closer look then!
My initial question is always about beams, and there is a good reason for it. Beams have a lot of great advantages:
So what is the problem? Well… not everything is a beam! In the hopper example above it’s clear that the columns and horizontal members can be modeled as beams… but the hopper itself – no way! There are many things to consider when you decide if something can be modeled as a beam or not (like do I want to analyze web stability in my FEA model for instance). However, the simplest rule would be:
If the maximal dimension of the cross-section is at least 10 times lower than the length of the element… this may be modeled as a beam!
Sure, you need to watch out for changing cross-sections, cut-outs, and similar. Sometimes they will play a role, sometimes they won’t. Also, this is not the most “strict” rule of all times. If you have a 3000mm long HEB 300 (its cross-section is 300x300mm) cutting the last 10mm won’t suddenly make you remodel everything for plate elements. I used beams on various occasions that were significantly shorter than 10 times their max cross-section dimension. Still, if you are above this limit, you may simply be sure that it’s a beam!
Of course, not everything is a beam, and the hopper above is the best proof of that! If you can’t use beams, the next check is “can I use plates”. Again, plates offer some nice features over solid elements, let’s take a look:
If I can, I always use plates instead of solids. I simply consider them superior. Not only modeling is significantly faster, meshing way easier and computing seems quicker. They can also produce more accurate outcomes! Let’s get back to the hopper for a second. It’s clear I could use plate elements there, and to be honest… I should! To properly catch actions such as out-of-plane-bending I would need to have a few solid elements through-thickness! Think how small those elements would be! The computing of such a model would take ages! And to no significant gain! If you can use plate elements, those will outperform solid elements all the time! Again the same rule can be used:
x10 Rule – round 2!
If your part has a thickness that is 10 times lower than the other two dimensions of the part – you can (and should!) use plate elements!
Again, the constant thickness is a nice bonus (even though there are ways around it), etc. Sure there are considerations, and sometimes even plates have to be modeled with solids due to various reasons. But this is a rare exception, not a general rule. I feel completely comfortable saying that most of my models are made with 2D mesh. I think around 80% of those. Most of the rest 20% is pure beam models, but while I was doing more of such designs before, somehow I get mostly “plate models” to calculate nowadays, so it influenced such statistics. Very few models required solid elements, but of course, those happen as well!
It’s exactly that. If I can’t use beams nor plates definitely I will use solid elements. There isn’t really any choice. I completely get that in FEA world there is extremely a lot of things that can only be modeled with solid mesh. Starting from the engine body and ending on teeth bulky stuff will require solid mesh. It’s so simple.
But when you can avoid using solid elements… you really should! Mostly because I don’t really see a lot of benefits for using solid elements. Apart from the fact that in many cases you just have to!
There won’t be a chapter about beams. Usually, linear beam elements are used and those are fine. Sure there are many formulations that only carry tension, or normal forces, etc. Those are however pretty self-explanatory most of the time.
With plate elements, you have of course the same thing. There are membrane elements, stuff that can be axisymmetric, etc. Such elements serve various purposes, and I assume you will know when to use them. There is however one thing that I guess is the biggest issue, and that is: should I use triangular or quadratic elements?
Without going into many details I would say this:
It’s impossible to say if QUAD4 or QUAD8 elements are “better”. This is of course case dependent. After all, if one type of element would be clearly better than the other… who would bother with implementing the “worse” choice? If you struggle with this question just do a model that nicely represents the problems you are usually facing and check the performance of both element types. This way you will know which elements are better in your case!
Usually, solids are a bit more straightforward than plates. There aren’t that many formulations apart maybe for those complex composites 3D elements. But of course, the “main” question remains basically the same as with the plates: should I use tetrahedral or hexahedron mesh? It’s basically the same triangle/quad problem… but in 3D!
Again a few thoughts on the most popular choices:
If I would have to choose my solid element of choice it would be HEX8. Mostly because if I use solid modeling (and I really rarely do that!) this usually means that I have a small detail and I need to have precise outcomes in that space. So mesh will be small anyway (to take into account all the geometric features). This means that there is no real advantage in using HEX20, considering how much more time computing will take.
But I would also point out that TET10 elements aren’t that bad in many situations. I try to create “elegant” meshes (I’m just like that), so I would steer away from TETs altogether. But in a pinch, for a small and quick model… TET10 isn’t a tragic idea, which may not occur to many people. TET4 elements have terrible “press” and this somehow influences how people consider TET10 elements as well – I figured I will point this out here!
I already discussed the most common element types, but I just want to wrap it up here. Sadly the names can be a bit confusing and I just want to clarify a few things.
Linear elements don’t have to be “beams”. By such name, people often refer to the “first-order” elements, so those that only have Nodes in “corners” (or beam start and end). It’s easy to remember since the edges of those elements must always be a straight line (there are only nodes at the beginning and at the end of each line!). The classical 2D and 3D linear elements (let’s call them “basic”) are:
There is also an alternative, usually referenced as “quadratic”. Those would be the “second-order” elements. Those have additional nodes in the middle of each side. This means that the TRI6 element would be a “quadratic triangular element” – how awesome is that! This is why usually it’s better to say “first-order” or “second-order”, but linear and quadratic names are still pretty common. Typical second-order elements we have already discussed are:
As you see we already talked about each of those elements. It’s just another way to divide them into groups (rather than 2D and 3D mesh as I did at the beginning). I just wanted to point this out.
Also, I use pretty popular “element names” and by this, I mean i.e. QUAD8. Much industrial software will use other element names, and i.e. QUAD8 element would be S8 in Abaqus (if my memory serves… I haven’t used Abaqus in a decade!).
There are a lot of other element types out there. This is getting very long already, but let’s take a quick peek:
If you have any other ideas about what element types to put in here – let me know. I’m sure we can work it out together!
Are triangular or tetrahedral elements always a bad choice?
Absolutely not. I even heard someone say “why complaint about TET4 elements… we have so strong computers right now!”. And this is a really good argument. The biggest drawback of TRI/TET mesh is that you will need a LOT of elements to produce a reasonable outcome. This means that computing will take a lot of time. But of course, preparing the HEX mesh takes time as well, and it’s the time you have to work (not computer alone).
If you have a difficult to mesh geometry, and you only need to run a single instance of linear static on a strong machine… using insane amounts of TET elements may actually be a smart choice… computer will sweat, but you can read a book in the meantime!
If you do that though: don’t forget about mesh convergence!
Why is the triangular element stiffer?
Ach, this is a good one! I actually wrote a post about it – read it here!
What are nodes and elements in FEA?
I guess that would be the “origin” question for today’s post! Why we need nodes and elements and “what they do” is a long story – read the whole thing here!
I really hope you like this small guide. If you want to learn more, definitely sign up for a free lesson from my FEA course. You can easily do it by signing up below.
10 Lessons I’ve Learned in 10 Years!