EasyFEA: accessible and high-performance FEM in Python — from mesh generation to MPI-parallel simulations

Most Python finite element frameworks (FEniCS, FEniCSx, MFEM) require significant setup and a solid background in variational formulations—two requirements that many engineers and applied researchers may not have. EasyFEA takes the opposite approach.

pip install EasyFEA

One command. No Docker. No compiled extensions. Works on Linux, macOS, and Windows.

EasyFEA is built for engineers and researchers who think in terms of materials, boundary conditions, and results — not weak forms and function spaces. It covers the full FEM pipeline: mesh generation (Gmsh, including cracks and inclusions), solving systems with hundreds of thousands of degrees of freedom (SciPy, PyPardiso, PETSc), and post-processing (PyVista, ParaView, matplotlib) — including MPI-parallel simulations requiring no code changes.

It handles linear and nonlinear elliptic (static), parabolic (transient), and hyperbolic (dynamic) problems with multiple time integration schemes, and supports multiphysics coupling such as phase-field brittle fracture with anisotropic elasticity in 2D and 3D.

EasyFEA uses variational formulations internally — it simply does not expose them to the user.

Matthieu Noel

PhD — Research Software Engineer at INRIA