Finding the Natural Frequency of a Beam

As a mechanical engineer, I use Finite Element Analysis (FEA) software at work to calculate the way metal parts deform, their stresses, and the frequencies at which they vibrate. I recently found Elmer, a free FEA program. To test how accurate Elmer is, I calculated the lowest vibration frequency of a cantilevered beam using Elmer, and compared it to the hand calculation for the frequency. I investigated the impact of mesh fineness, and element type on the accuracy of the answer, and showed that second order tetrahedral elements should be used.

Beam Geometry and Material:

L=.150 m
thickness (into the page) = .01 m
height = .03 m

Material: Aluminum (generic)
Young’s Modulus: 70 *10^9
Poisson’s Ratio: .35
Density: 2700 kg/m^3


Modeling: FreeCAD (dimensions must be in m)

    Export geometry in .brep file

Meshing: Gmsh

    Export mesh as .msh file

FEA Analysis: Elmer

    Linear elastic eigenvalue analysis, set matl + constrain left end of beam to x=y=z=0


The hand calculation shows that the natural frequency should be 365.5 hz:

The shape of the beam when it is vibrating at this frequency is:


I varied the fineness of my mesh between 1-.1 values of ‘Element Size Factor’ where .1 is the finest. The finest and coarsest meshes are below.
Element Size Factor of 1.0 resulted in 220 tetrahedra elements
Element Size Factor of 0.1 resulted in a mesh of 57,748 tetrahedra elements:



I used 1st order and 2nd order tetrahedral elements (triangular pyramid). The calculated frequencies are:

Element Size Factor Tets_1st_order (Hz) Tets_2nd_order (Hz)
1 853.9 371.9
0.7 768.2 370.8
0.4 732.7 369.9
0.1 386.9  (solver error)

This results in the following error values vs element size factor (fineness):

Element Size Factor Tets_1st_order Tets_2nd_order
1 133.6% 1.7%
0.7 110.2% 1.5%
0.4 100.4% 1.2%
0.1 5.9% (solver error)



The big take-away here is that for any modal analysis, one should be using second order tets in Elmer, and that should get you within 2% of the answer predicted by hand calculations.


If you’d like to run my analysis yourself, or examine the results, download my zipped file below. I included a folder with the 2nd order tetrahedron results meshed with an element size factor of 0.4. I’ve also included the Freecad geometry file, brep geometry file, and the gmsh .msh mesh file.

5 thoughts on “Finding the Natural Frequency of a Beam

  1. Nice post, thank you for the explanation.

    I have been wrestling with a simple free-fixed cantilever – I am getting only higher order eigenshapes. Would you be willing to post your case.sif file and your gmsh mesh?

    • Jonathan, I just updated my post to include the project files. Hope they help you!

      • It turns out my strange results were caused by the presence of point (0D) and line elements (1D) in the mesh. Using the ElmerGrid -removelowdim setting took care of it. I would not have figured it out without the possibility of comparing against your files. Thanks for the help!

  2. Justin, your posted projectfiles contains a steady state simulation. That works fine with me. But now I try to redo the simulation you show in the movie. I assume it is the result of a transient simulation, but unfortunately I can’t make it work. Are you willing to share these projectfiles as well?

    • Wouter, the simulation I ran was steady state. It looks transient because I animated the mode shape in elmerpost. Once you have the results, open them up in elmerpost. Click the ‘Freeze Scaling Button’ (this makes the zero deflection location stay put). Then go to the ‘Display’ menu, click Mode Display. Enter in .002 for the ‘Disp scale’ and then click the ‘animate’ button.

Comments are closed.