FEniCS / FFCx

License: LGPL-3.0 · Updated 2026-08-01

FEniCS is an open-source, FEM-based multiphysics simulation platform. You define variational problems in Python (via the UFL language) and it auto-generates efficient C++ code under the hood. A standard academic tool with many applications in solid mechanics, heat transfer and multiphysics coupling.

Core features

  • UFL variational description: express the weak form in a Pythonic DSL close to the math
  • Automatic code generation: the FFCx compiler compiles UFL into efficient C++ discretization code
  • Multiphysics: linear/nonlinear elasticity, thermo-structural coupling, fluid-structure interaction (FSI)
  • DOLFINx: modern C++/DMPlex mesh management with parallelism

Use cases: Solid mechanics (linear/elastic, elastoplastic, fracture); heat transfer and thermal stress; multiphysics coupling (thermo-electro-mechanical); numerical experiments in papers.

Note: LGPL-3.0 - modifying FEniCS source requires open-sourcing; importing does not trigger copyleft. Moderate learning curve; the Book of FEniCS is a good start. Mesh generation pairs with gmsh (GPL-2+) or meshio.

Tags: FEMFinite ElementMultiphysicsPythonAcademic