FreeCAD FEM — Free Finite Element Analysis
Workbench reference · Updated May 2026 · 9 min read
FEM is FreeCAD's finite element analysis workbench — built around the open-source CalculiX solver (with optional Elmer multiphysics support) for static structural, modal, and thermal analysis. The combination of FreeCAD as pre/post-processor and CalculiX as solver is the closest free alternative to ANSYS Mechanical or SolidWorks Simulation. It won't replace a $30,000 commercial seat for a stress engineer doing nonlinear contact problems, but for most product-design simulation work — "is this bracket going to break?" — it is genuinely capable.
This page covers the FEM workflow at a practical level: meshing, materials, constraints, loads, solving, and post-processing. Real FEM is a deep specialty; this is the on-ramp.
When to use FEM (and when not to)
Use FEM workbench for:
- Static stress analysis — "will this part hold this load?"
- Modal / vibration analysis — natural frequencies, mode shapes.
- Thermal analysis — steady-state and transient heat flow.
- Linear elastic problems with linear materials.
- Hand-calc validation — confirming you got the right answer with a different method.
Where FEM workbench falls short and a paid tool wins: large nonlinear contact problems (multiple parts pressing on each other with friction), explicit dynamics (crash/impact simulation), advanced material models (hyperelastic rubber, plastic deformation), computational fluid dynamics. CalculiX has features for some of these but FreeCAD's UI doesn't expose them well — you'd write input decks by hand.
The FEM workflow — eight steps
Every FEM run in FreeCAD follows the same pattern:
- Build the geometry in Part Design (or import STEP).
- Create an Analysis container: FEM → New analysis.
- Add a material from the FreeCAD library or define custom (steel, aluminum, ABS, etc.).
- Mesh the geometry — Gmsh or Netgen, tetrahedra usually fine for solids.
- Add constraints — fixed faces, contacts, symmetry planes.
- Add loads — forces, pressures, gravity.
- Solve — click Solve, wait, hope CalculiX converges.
- Post-process — visualize stress, displacement, safety factor.
Meshing — the most consequential step
Mesh quality determines result quality. FreeCAD FEM uses Gmsh as the default mesher (Netgen is the alternative). For a typical solid part:
- Element type: 2nd-order tetrahedra (Tet10) — better stress accuracy than 1st-order (Tet4) at modest CPU cost. Default is fine.
- Element size: aim for 6-10 elements across thickness in stressed regions. Smaller = more accurate but slower.
- Refinement: use a smaller element size in high-stress areas (around fillets, holes, mounting points). Add a Mesh refinement region locally.
Mesh sanity check: run the analysis, then re-run with mesh elements halved in size. If results change >5%, your mesh wasn't fine enough. This is "mesh convergence" — every competent FEA includes it.
Materials — start from the library
FreeCAD ships a Material library with common engineering materials: steel grades (S235, S275, S355, AISI 1010, etc.), aluminum (6061, 7075), copper, ABS, PLA, PETG, concrete. Pick from the library; it loads density, Young's modulus, Poisson's ratio, yield strength. For custom materials, define your own with these four properties at minimum.
Check the units. FreeCAD FEM works in mm-N-s (SI with millimeters) by default — double-check if your CalculiX input deck uses different units. Result stresses in MPa = N/mm².
Constraints — what holds the part still
Without constraints, the analysis won't converge — the model is free to fly off into space. The most common constraints:
- Fixed: all six DOF locked. Use on faces that bolt to a fixed structure.
- Displacement: lock specific DOFs only (e.g., X = 0 but Y and Z free). Use for symmetry.
- Pulley / Bearing: idealized rotational constraints.
- Contact: two faces that can push but not pull on each other. Computationally expensive.
Symmetry trick: if your part is symmetric and the load is symmetric, mesh only half. Apply symmetry-plane constraints (lock the through-plane displacement) on the cut face. Half the elements, double the speed, identical accuracy.
Loads — what's pushing on it
- Force: a force vector applied to a face. Total force, not per-area.
- Pressure: force per unit area applied normal to a face. Use for hydrostatic loads.
- Gravity: body force on the entire model. Useful for self-weight on heavy parts.
- Thermal: imposed temperature at a face or volume.
Loads must reach the constraints somehow. If a force on one face has no path to a fixed constraint, the model is unstable and CalculiX throws "negative pivot" errors. Trace the load path through the geometry mentally before solving.
Solving — what to expect
Click Run CalculiX. A console window shows the solver progress. For a typical product-scale part (10-100 mm, 50K-500K elements), expect 30 seconds to 5 minutes on a modern CPU. If CalculiX errors out:
- "Negative pivot": insufficient constraints — the model can rigid-body-translate or rotate. Add a Fixed or Displacement constraint somewhere.
- "Convergence failure": nonlinear contact problem too hard. Simplify contact, refine mesh, or accept linear-only analysis.
- "Out of memory": mesh too fine. Coarsen globally, refine locally only where you need detail.
Post-processing — reading the result
After a successful solve, FreeCAD loads CalculiX results back. The most useful views:
- von Mises stress: the standard "is it going to yield?" metric. Compare peak vMS to material yield stress. Use a safety factor of 1.5-3 depending on application.
- Displacement: how much the part moved under load. Sanity check — should match your intuition.
- Principal stress: max and min principal stresses. Useful for brittle materials (ceramics, cast iron) where principal stress matters more than vMS.
- Reaction forces: at fixed constraints — should sum to your applied loads (Newton's third law). If they don't, something is wrong.
Use a color-mapped contour plot. Adjust the legend range so the colors aren't dominated by one local hotspot — typically clip the high end at the material yield stress so you see the real distribution rather than just one red dot.
CalculiX vs Elmer
CalculiX is the default solver — best for static structural and modal. Elmer is an optional alternative that adds CFD, electromagnetic, and acoustic capabilities. Most FreeCAD users only ever need CalculiX. Elmer is there for the multiphysics cases when you encounter them.
Related workbench guides
Part Design — solids
Build the geometry you'll analyze. Part Design feeds directly into FEM.
TechDraw — drawings
Document the analyzed part for shop drawings.
vs Fusion 360
FEM workbench is free; Fusion 360 Simulation is a paid extension.
All Workbenches
Part Design, Sketcher, Path, BIM, TechDraw and more.