Joe Galliera

Why you need to refine the mesh to get accurate stresses?

Blog Post created by Joe Galliera Employee on Nov 16, 2009
When doing the  first training lesson from the SolidWorks Simulation manual, the results summary  table (on page 64 of the 2009 book) is meant to illustrate the impact of the  model discretization, or element size, on the data of interest.  In this  example, the max displacement changes only in the fourth decimal place while the  max von Mises stress changes much more.  In general, this same trend is true: displacement will always be the most accurate value calculated  in a static analysis, thus discretization has a minimal effect, whereas stress is the least accurate value.  If you have ever wondered  why, I will try to explain:

What is being  solved in a structural analysis as the unknown is the displacement, the vector  equation given as: {u}=[K]^-1{f}.  Its accuracy is of the same order as the  order of the element, so a high quality mesh will yield 2nd-order accurate  displacements.  A derivative is taken to calculate the strains, thus lowering  the order by 1, so for high quality elements is 1st-order accurate.  More calculations are done to the strains to scale them by the elastic modulus and  averaging the Gaussian points to nodal values (or element values), so error is introduced in this process, but its order of accuracy is maintained, so for high  quality elements stress is 1st-order accurate.  So you can see that stress values are always the least accurate quantities and why extra care should be  taken in obtaining accurate stress results.

Here is a flowchart  type of order of calculations to illustrate this a little  better: