FEM EquationElasticity

From FreeCAD Documentation
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎polski • ‎română • ‎русский

FEM EquationElasticity.svg FEM EquationElasticity

Menu location
Solve → Elasticity equation
Default shortcut
Introduced in version
See also
FEM tutorial


This equation describes the mechanical properties of rigid bodies.

For info about the math of the equation, see the Elmer models manual, section Linear Elasticity.


  1. After adding an Elmer solver as described here, select it in the tree view.
  2. Now either use the toolbar button FEM EquationElasticity.svg or the menu Solve → Elasticity equation.
  3. Change the equation's solver settings or the general solver settings if necessary.

Solver Settings

For the general solver settings, see the Elmer solver settings.

The elasticity equation provides these special settings:

  • DataCalculate Pangle: If the principal angles should be calculated.
  • DataCalculate Principal: If all stresses should be calculated.
  • DataCalculate Strains: If strains will be calculated. This will also calculate the stresses, even if DataCalculate Principal or DataCalculate Stresses is false.
  • DataCalculate Stresses: If stresses should be calculated. Compared to DataCalculate Principal the Tresca and the pincipal stress will not be calculated.
  • DataConstant Bulk System: See the Elmer manual for more info.
  • DataDisplace Mesh: If mesh can be deformed. This is by default true and must be set to false for eigenfrequency analyses.
  • DataFix Displacement: If displacements or forces are set. thereby DataModel Lumping is automatically used.
  • DataGeometric Stiffness: Considers the geometric stiffness of the body.
  • DataIncompressible: Computation of incompressible material in connection with viscoelastic Maxwell material and a custom DataVariable.
  • DataMaxwell Material: Compute the viscoelastic material model.
  • DataModel Lumping: Uses model lumping.
  • DataModel Lumping Filename: File to save the results from the model lumping.
  • DataStability Analysis: If true DataEigen Analysis becomes a stability analysis (buckling analysis). Otherwise a modal analysis is performed.
  • DataUpdate Transient System: See the Elmer manual for more info.
  • DataVariable: The variable for the elasticity equation. Only change this if DataIncompressible is set to true in accordance to the Elmer manual.


  • DataEigen Analysis: If an eigen analysis should be performed (calculation of eigenmodes and eigenfrequencies).
  • DataEigen System Complex: Should be true if the eigen system is complex. it must be false for a damped eigen value analyses.
  • DataEigen System Compute Residuals: Computes residuals of the eigen value system.
  • DataEigen System Damped: Set a damped eigen analysis. Can only be used if DataLinear Solver Type is Iterative.
  • DataEigen System Select: Selection of which eigenvalues are computed. Note that the selection of Largest* cause an infinite run for recent Elmer (as of August 2022).
  • DataEigen System Tolerance: Convergence tolerance for iterative eigensystem solve. The default is 100 times the DataLinear Tolerance.
  • DataEigen System Values: The number of the highest eigenmode that should be calculated.


  • DataPlane Stress: Computes solution according to the plane stress situation. Applies only for 2D geometry.

Constraint Information

The elasticity equation takes the following constraints into account if they are set:


For all above constraints it is important that they act on a face. Constraints set to lines or vertices are not recognized by the Elmer solver.

Eigenmode Analysis

To perform an eigenmode analysis (calculation if the eigenmodes and eigenfrequencies), you need to

  1. Set DataEigen Analysis: to true
  2. Set DataDisplace Mesh: to false
  3. Set DataEigen System Values: to the highest number of eigenmodes you are interested in. The smaller this number the shorter the solver runtime since higher modes can be omitted from computation.
  4. Add a constraint fixed and set at least one face of the body as fixed.
  5. Run the solver.

Note: If you use more than one CPU core for the solver (introduced in version 1.0), you cannot use Umfpack, the only direct method for parallel solving is MUMPS.
Also note that iterative solving is not recommended for eigenmode analysis. Therefore either only use one CPU core or install the MUMPS module to Elmer.

Buckling Analysis

To perform a buckling analysis, you need to do the same as for an Eigenmode Analysis, and additionally:

  • Set DataStability Analysis: to true


The available results depend on the solver settings. If none of them was set to true, only the displacement is calculated. Otherwise also the corresponding results will be available. If DataEigen Analysis was set to true all results will be available for every calculated eigenmode.

If DataEigen Analysis was set to true, the eigenfrequencies are output at the end of the solver log in the solver dialog and also in the document SolverElmerOutput that will be created in the tree view after the solver has finished.

Note: The eigenmode displacement vector has an arbitrary value since the result is

whereas is the eigenvector and is a complex number.