FEniCS / FFCx
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