Skip navigation
All Places > Simulation > Blog > 2010 > May

This was a post to a message on a Meshing Problem that I am reposting here.

When you add parts or place model into an assembly, the default mesh size that is calculated changes from before (when there were fewer parts).  Try using automatic trials to fix the problem by successively reducing the mesh size by a factor < 1.  If that still fails, try applying manual mesh controls to individual components or faces.  There is also a nice option in the mesh control for a component mesh control to mesh it as if the mesh size was dependent on itself only.

The other comments above are helpful  also.  Here are some meshing tips that I compiled before:

Here are  the order of tips to use to overcoming meshing  problems:
1) First if the  standard mesher fails for the default mesh size, then I suggest doing one of two  things: (a) try meshing using the auto looping technique, or  (b) look at the failure diagnostics to determine where it failed to give a clue  as to why.


2) If you did the  auto looping in step 1 as suggested and it still fails, then this time at least  check the failure diagnostics.


3) Did you check  interference?  If there is interference, then: (a) fix the geometry, (b) create  a cavity in one part so that they are not interfering but be wary of small  geometry made by this feature, or (c) make it an incompatible  mesh.


4) Does the  geometry have some other issues like sliver areas or super small faces that are  a a result of imported geometry?  Can it be repaired easily?  These are good  questions to ask at this point but wait until you try more before doing the  harder task of fixing the model.


5) Set a mesh  control for the part or parts that failed and use the sliding bar for "Component  significance" towards the right to High.  The left end of the slider corresponds  to using the default global element size of the assembly (f=0), and the right  end of the slider corresponds to using the default element size if the component  is meshed independently (f=1).  The program calculates the element size (Ei) for  component i from the equation: Ei = G - (G-Ci)*f.  G is the global element size; Ci is the component size for component i; and f is the slider factor as described above.


6) Set mesh controls  on individual features of the parts.  Just as a recommendation for what I use  for the ratio and number of layers, I think 1.25 and 4 does a better job and  looks a bit smoother than the default 1.5 and 3.




7) Open the failing  part or parts individually and try to mesh them by themselves.   If it automatically meshes with the default, then try to find the largest mesh  size that works.  If the default size does not work, then use auto looping to  find one that does.  You may have to use feature-based mesh controls here as  well.  Make note of the mesh size(s) when it does mesh successfully, so that you  can use this as the mesh size for a component (or feature) mesh control back in  the assembly.




8) After trying 1-7  and it still fails, maybe there is a problem with how the parts are touching.   Consider sliver faces or bad geometry that may be created by the mesher  automatically imprinting one surface onto another.  Get a better visualization  of this by creating a split line if possible.  You may be required now at this  point to create an Incompatible mesh and create bonded contact sets  semi-automatically by using the "Find Contact Sets" command.




9) If all else fails,  then with your incompatible mesh, use the "Alternate" or curvature-based  mesher.  The alternate mesher uses the Global Size value to define maximum  element size and the Tolerance value for the minimum element size. The minimum  element size is used for boundaries with the highest curvature. The maximum  element size is used for boundaries with lowest curvature.


Continuing  on with the meshing tips, one addition:

1a) You may find in  the failure diagnostics that it will tell you to either change the element size  and/or raise or lower the tolerance value.  Changing the element size has the  effect of also changing the tolerance which sometimes is the deciding factor.   You can also manually change the tolerance size to something other than the  default 5% of the global element size.


First, it is  important to understand how meshing is performed.  After preparing the geometry  by imprinting touching faces and breaking up faces into logical sub-surfaces, a  surface mesh is created for each face independently.


Next, the tolerance  value is used in knitting the surfaces together to create a water-tight solid,  so you want to have a reasonable size tolerance value to be able to knit  surfaces together (5% by default).  Do not increase the tolerance value too  large, but up to 25-30% of the global element size is fine.  The surface meshing technology  was developed in-house which is typically done for any FEA code.  If there is  only a Shell mesh, then the meshing stops at this point.


For a Solid mesh,  it continues by filling in the volume with solid tet elements and again uses the  tolerance value to determine whether elements should be collapsed or not.  Here  you want to have a reasonably small tolerance size so that elements are not  collapsed unnecessarily.  If the mesher fails in the volume filling phase, you  will want to decrease the tolerance down to about 1% or sometimes smaller.  The  volume mesher is done by a third-party meshing product called  TetMesh-GHS3D from a company in France called Distene; again this  is the typical scenario used by many FEA codes.


So you have two  opposing concepts that fight for raising and lowering the Tolerance value.


Here are tips on when and how to change the tolerance value:
(a) If the  tolerance is too large, it will collapse nodes and create bad element shapes  causing the mesh to fail.  If you have features like a fillet radius or wall  thickness that is smaller than the tolerance value, then decrease the tolerance  to something at least half the size of the smallest feature.


(b) Be careful that  you don't make it too too small or you will run into the problem of having the  surface mesh not able to knit itself together to create a water-tight solid for  volume meshing.  Look for mesh failures coming up during the final stage of  meshing a part where it is filling in the volume.


(c) The tolerance  is a global value and so you should also consider the smallest mesh control size  that was defined.  Also as mentioned before, consider the smallest geometry  feature.  Make use of the SolidWorks tool "Check" for information about short  edges, minimum radius of curvature and other min/max  features.


(d) If the solver  fails because there are not enough restraints or parts are ripping apart from  one another when they should be bonded by a global contact condition, typically  when working with a shells or a mixed mesh, then either your Tolerance is not  large enough or you should define a Local contact set as  bonded.


My favorite new values are: (0.5)^(1/4) and (0.5)^(1/3), which are approximately 0.8409 and 0.7937, respectively.  Why?


Well, when I set my automatic mesh trials options, these values bring me to half the original global mesh size in 4 steps (or 3 steps).  To quarter in 8 steps (or 6),  to 1/8 in 12 steps (or 9), to 1/16 in 16 steps (or 12), and so on.


See below image for settings:




Copyright © 2010 Dassault Systèmes  SolidWorks Corp. All rights reserved.
Do not distribute or reproduce without  the written consent of Dassault Systèmes SolidWorks Corp.

A friend of mine  recently made me aware of this awesome website:  Wolfram|Alpha.
Wolfram has always  been known for its Mathematica software but now Stephen Wolfram wants to  make the world's knowledge computable.
Check out the  gallery of examples, like "#10 screw":
Check out the Intro  to Wolfram|Alpha by Stephen with many more examples:
But my favorite is  Examples by Topic:
and especially  under the Engineering heading is fluid mechanics:
Flow around a  cylinder:
Here's my own  example, Dynamic viscosity of water at 100°F, 1 atm:
Here's info from  their website:
Today's Wolfram|Alpha is the first step in an ambitious  long-term project to make all systematic knowledge immediately computable by  anyone.  You enter your question or calculation and Wolfram|Alpha uses its  built-in algorithms and growing collection of data to compute the answer.  It's  based on a new kind of knowledge-based computing.
We aim to collect  and curate all objective data; implement every known model, method, and  algorithm; and make it possible to compute whatever can be computed about  anything. Our goal is to build on the achievements of science and other  systematizations of knowledge to provide a single source that can be relied on  by everyone for definitive answers to factual queries.

Copyright © 2010 Dassault Systèmes  SolidWorks Corp. All rights reserved.
Do not distribute or reproduce without  the written consent of Dassault Systèmes SolidWorks Corp.

For shell bodies in Simulation, you can color the surfaces by either material or  thickness after the mesh is created by creating a mesh plot (right-click on the  Mesh icon after a mesh is created).  Or even before a mesh is created,  from the drop down menu: Simulation > Shells > Show color by  thickness (or Show color by material).  But for the latter, the plot  does not stay on the screen after closing the dialog box.  You can also change the colors by double-clicking the color box; see  below for result.




Copyright © 2010 Dassault Systèmes  SolidWorks Corp. All rights reserved.
Do not distribute or reproduce without  the written consent of Dassault Systèmes SolidWorks Corp.

Filter Blog

By date: By tag: