A curated list of awesome stuff related to Finite Element Analysis (FEA) Software for Structural Engineering. The finite element method (FEM) is a numerical method for solving problems in engineering and mathematical physics. Typical problem areas of interest include structural analysis, heat transfer, fluid flow, mass transport, and electromagnetic potential.
This list is a collection of tools, projects, images, and resources conforming to the Awesome Manifesto
Contributions very welcome but first see Contributing.
- build123d – A Python CAD modeling library for parametric 3D design, built on OCCT and the CadQuery ecosystem.
- CadQuery – A python parametric CAD scripting framework based on OCCT
- FreeCAD – A free and opensource multiplatform 3D parametric modeler.
- Shapely – Manipulation and analysis of geometric objects.
- caexfer – Rust library and CLI for validating and transferring finite-element meshes and results across supported CAE formats
- Gmsh – A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities.
- Netgen/NGSolve – Netgen/NGSolve is a high performance multiphysics finite element software. It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics. Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily.
- pyGIMLi – Geophysical Inversion and Modeling Library 🌍
- pygmsh – pygmsh combines the power of Gmsh with the versatility of Python. It provides useful abstractions from Gmsh's own Python interface so you can create complex geometries more easily.
- scikit-gmsh – A Python package for smoothly connecting PyVista and Gmsh.
- t8code – Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
- DefElement – an encyclopedia of finite element definitions
- AgentFEM – Python finite-element workflows built on FEniCSx for structural mechanics, heat transfer, and human–AI collaboration
- dolfinx – Next generation FEniCS problem solving environment
- FeenoX – Cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool.
- FElupe – 🔍 finite element analysis for continuum mechanics of solid bodies
- Femwell – FEM mode solver for photonic waveguides
- GetFEM – Framework for solving systems of coupled nonlinear PDEs.
- Gridap.jl – Grid-based approximation of partial differential equations in Julia
- MFEM – Lightweight, general, scalable C++ library for finite element methods
- ppf-contact-solver – A contact solver for physics-based simulations involving shells, solids and rods.
- pyelmer – A python interface to Elmer.
- PyMAPDL – The PyMAPDL project supports Pythonic access to MAPDL.
- QF Solver – Open-source Python finite-element solver for structural mechanics and dynamics, with explicit verification and reproducibility evidence

- scikit-fem – Simple finite element assemblers
- scikit-topt – Scikit Topology Optimization with SciPy
- Symfem – A symbolic finite element definition library
- topopt-rs – Rust library for 2D structural topology optimization using finite-element analysis, inspired by Sigmund's 99-line MATLAB code
- TrussMe – Python library for linear truss analysis and sizing optimization, including member forces, deflections, mass, and safety factors
- Xara – A batteries-included Python package for fast nonlinear finite element analysis (solid mechanics)

- pinns_for_comp_mech – Implementation of Physics-Informed Neural Networks for Computational Mechanics based on the DeepXDE package.
- comet-fenicsx – COmputational MEchanics numerical Tours.
- fenics-sz – Jupyter Book and computational repository for modeling subduction zones using FEniCSx.
- The DOLFINx tutorial – This is the source code for the dolfinx-tutorial webpage.
