Skip to main content

Mesh Convergence Study

In a previous post, I mentioned mesh convergence study is not done as often it should. I've been reminding myself to be careful in reporting stress results using sanity checks. A nagging question persists in my mind: "How much should the mesh be refined before calling it good? Is a factor of 2 good enough?"

A presentation here at Ruhr-Universität Bochum is quite interesting. It presented a linear Richardson Extrapolation being:
fex = fn+ k(fm - fn)
fex is the exact solution
fm is the solution at mesh size m
fn is the solution at mesh size n
k is what I'll call Richardson Extrapolation Factor:

k = (mα) / (mα - nα)

where α=2 for linear elements and α=3 for quadratic elements. To plot this factor k relative to the reduction factor (n/m) in Figure 1:

Figure 1: Richardson Extrapolation Factor

It is interesting that for quadratic elements, with a mesh size reduction by a factor of two, the factor is 114.3%. Hypothetically, wouldn't it be great if, for example, one could mesh once with quadratic elements, get 10MPa, mesh again with half the size mesh, get 11MPa, then say with confidence the stress should converge to 11+1.143(11-10) = 12.143MPa?!

To see if this works in practice, a simple model was created. Here's the maximum stress of a simple supported steel beam with concentrated load at the center. The beam is 10mm by 10mm with a length of 100mm. 100N was applied at the mid-span. The model is made of 2D Quadrilateral elements that are square in shape.

Figure 2: Normal Stress (X Axis)

Figure 3: Maximum Bending Stress Vs Element Size

In this simple model, maximum bending stress for both the linear and quadratic elements converges to the hand calculated 15MPa. Note that even with 2 elements through the thickness, the linear element had a maximum stress of 14.025 or an error of 6.5%. That's not too shabby for a quick and dirty model. Real life design margins are practically much larger than this.

Figure 4: Normal Stress X Axis - Linear Elements

Here's the zoomed in view of the stress convergence plot:

Figure 5: Maximum Bending Stress Vs Element Size

Applying the formula in that paper, the "exact solution" was predicted higher for most cases. See the Figure 6. In the following case, the coarsest solution was used as mesh m (size of 5mm), then each consecutive solutions are individual n.

Figure 6: Exact Solution Vs Element Size Reduction Factor

In short, I would still want to do at least 3 different cases for of mesh size density factors (e.g. 1, 2 & 4) to verify the mesh result converges. Secondly, the design margins should be healthy relative to the changes in stresses during mesh convergence. And finally, be mindful of other errors that could be persistent between meshes such as erroneous material properties, boundary condition etc.

Ansys V18.1 Archived Project: link
Octave/Matlab script: link


  1. Hello Jason,

    '11+1.143(11-10) = 12.143MPa?!' mentioned in the third paragraph.

    As per formulae, it should be '11+1.143(10-11)'. Am I right?

    Also please share any practical FEA calculation done (mesh convergence study) using Richard interpolation.


    1. Hi Naveen,

      Applying your equation, the value is 9.857MPa. This goes in the opposite direction of the convergence. I am not sure if this was an error of the source article so I flipped the gradient sign to point in the right direction.

      The conclusion for this article for me is that the Richard interpolation should not solely be relied on and instead, do at least 3 different cases to best approximate converged value.



Post a Comment

Popular posts from this blog

ANSYS User Defined Results

There is an abundant of options in ANSYS classic when one wishes to post process results. ANSYS workbench default pull down menu post processing options are more limited but they can still be accessed via the User Defined Results. One way not commonly used but can come in handy is as follows: Zeroth: Under Analysis Settings, there is "Output Controls" where you can toggle to "Yes" what you would like to save before the solution starts. This is like OUTRES in APDL. Output Controls First: After solving the model, click on Solution in the tree to highlight it. Solution Second: Click on Worksheet in the toolbar. Worksheet Third: In the worksheet, you will see list of results that are saved. Right click on it to create the User Defined Results. Create User Defined Results So here we have it. You could of look up the different expressions in the help document but I find this method of accessing the results convenient.  Example: Aspec

Export Stiffness Matrix from Ansys

It is sometimes useful to extract the mass and stiffness matrix from Ansys.     *SMAT, MatK, D, IMPORT, FULL, file.full, STIFF       *PRINT, matk, matk, txt Exporting mass matrix would be similar:       *SMAT, MatM, D, import, full, file.full, MASS The above script uses APDL Math to get the job done. (Please see previous post for another example). The ordering of the matrix is unfortunately not concurrently exported. To verify the sequencing is as expected, we will work to replicate a truss example in the  Finite Element Trusses course notes by Bob Greenlee. Figure 1: Truss Problem Setup Model Creation Script to create model: /prep7 !! Creates Model to reflect course notes ! Properties et ,1,1  mp , ex, 1, 29.5e6 r , 1, 1 ! Geometry n ,1 $  n ,2, 40 $  n ,3, 40, 30 $  n ,4, 0, 30 e ,1,2 $  e ,2,3 $  e ,1,3 $  e ,3,4 ! Boundary Conditions d ,1,ux,0 $  d ,1,uy,0 d ,2,uy,0 d ,4,ux,0 $  d ,4,uy,0 f ,2,fx,20e3 f ,3,fy,-25e3 ! solves /solu eqslv , sparse

ANSYS APDL Syntax Highlighting editor

Notepad++ with APDL User Defined Language The editor of my choice is Notepad++  with the available User Defined Language Files for APDL . You can install it without administrative privileges via the zip file. The best part of it is, it's FREE! After installing Notepad++, go to "Language>Define Your Language..." then "Import" the XML file downloaded from the above link. Remember to restart Notepad++ so that the language changes will take into effect. Opening up any *.inp or *.ans files should automatically switch highlighting to APDL. I made some minor edits. Here's my XML file: LINK . I also heard Sublime Text and  Ultraedit  has more advance features but they aren't (totally) free.