FEniTop
github.com
What it is
FEniTop is free, open-source software for topology optimization based on FEniCSx. It handles two- and three-dimensional problems on structured or unstructured meshes, with varied element geometries, types, orders, and quadrature degrees. Users express partial differential equations in weak form, while automatic differentiation supports finite-element and sensitivity analysis. PETSc through petsc4py provides linear and nonlinear solvers and preconditioners. Parallel implementations of Optimality Criteria and Method of Moving Asymptotes update design variables. A Helmholtz-type PDE filter targets large-scale parallel problems, including large filter radii. FEniTop can run from laptops to distributed computing clusters. Optimized designs export as XDMF files for ParaView post-processing. Repository examples cover beams in 2D and 3D, a 2D disk, a 3D shell, and a 2D compliant mechanism. The software is licensed under GPL-3.0. Setup instructions specify FEniCSx 0.7.3, PyVista, and Xvfb; Windows 11 instructions use Ubuntu under WSL and Docker Desktop.
Spec sheet
- Purpose
- FEniTop is open-source software for topology optimization based on FEniCSx.Read 4 Oct 2026 · github.com
- Product
- FEniTop is open-source software for topology optimization based on FEniCSx.Read 4 Oct 2026 · github.com
- Intended users
- The authors say FEniTop may benefit both topology-optimization beginners seeking efficiency and ease of use and experts seeking computing efficiency for complex problems.Read 4 Oct 2026 · zhang.cee.illinois.edu
- License
- The repository identifies its license as GPL-3.0.Read 4 Oct 2026 · github.com
- Dimensions and meshes
- It supports 2D and 3D problems with structured or unstructured meshes and multiple element geometries and types.Read 4 Oct 2026 · github.com
- Examples
- The repository includes examples for 2D and 3D beams, a 2D disk, a 3D shell, and a 2D compliant mechanism.Read 4 Oct 2026 · github.com
- Export
- Optimized designs can be exported as XDMF files for post-processing in ParaView.Read 4 Oct 2026 · github.com
- Export and post-processing
- Optimized designs can be exported to XDMF files for post-processing in ParaView.Read 4 Oct 2026 · github.com
- Filter
- It includes a Helmholtz-type PDE filter designed for large-scale parallel problems, particularly with large filter radii.Read 4 Oct 2026 · github.com
- Filtering
- It includes a Helmholtz-type PDE filter designed for large-scale parallel problems, including problems with large filter radii.Read 4 Oct 2026 · github.com
- Finite element support
- It supports varying element geometries, element types, element orders, and quadrature degrees.Read 4 Oct 2026 · github.com
- Optimization algorithms
- It provides parallel implementations of Optimality Criteria and Method of Moving Asymptotes for updating design variables.Read 4 Oct 2026 · github.com
- Optimization methods
- It provides parallel implementations of the Optimality Criteria and Method of Moving Asymptotes optimizers.Read 4 Oct 2026 · github.com
- Parallel computing
- It supports scalable parallel computing on systems ranging from laptops to distributed computing clusters.Read 4 Oct 2026 · github.com
- PDE formulation
- It lets users express PDEs in weak form, avoiding manual matrix manipulation.Read 4 Oct 2026 · github.com
- PDEs and sensitivities
- It expresses PDEs in weak form and uses automatic differentiation for finite-element analysis and sensitivity analysis.Read 4 Oct 2026 · github.com
- Requirements
- The installation instructions specify FEniCSx version 0.7.3, PyVista, and Xvfb.Read 4 Oct 2026 · github.com
- Sensitivity analysis
- It uses automatic differentiation to help with chain rules in finite element analysis and sensitivity analysis.Read 4 Oct 2026 · github.com
- Setup requirements
- The README recommends FEniCSx version 0.7.3, PyVista, and Xvfb; its detailed setup uses Docker and Ubuntu under WSL on Windows 11.Read 4 Oct 2026 · github.com
- Solvers
- It provides access to linear and nonlinear solvers and preconditioners through the PETSc backend via petsc4py.Read 4 Oct 2026 · github.com
- Windows setup
- The documented Windows 11 setup uses WSL with Ubuntu, Docker Desktop, and a Docker image containing FEniCSx, PyVista, and Xvfb.Read 4 Oct 2026 · github.com
Strong points and limits
Strong points
- Supports 2D and 3D structured or unstructured meshes
- Automatic differentiation assists sensitivity analysis
- Parallel optimizers and large-scale PDE filtering
- Runs from laptops to distributed clusters
- Exports XDMF designs for ParaView
Limits
- Installation requires FEniCSx 0.7.3 and supporting tools
- Windows setup uses WSL, Ubuntu, and Docker Desktop
- Requires familiarity with FEniCSx and finite-element workflows
- GPL-3.0 licensing applies
Who it suits
It suits topology-optimization beginners seeking an efficient workflow and experts needing parallel computation for complex problems. Users working on Linux, Windows, or self-hosted systems can use the listed setup paths.
Verdict
FEniTop provides a free FEniCSx-based toolkit for topology optimization, with weak-form PDEs, automatic differentiation, parallel solvers, and filtering. Its documented dependencies and Windows setup are important considerations before installation.
Where Specifiction places it
- Generative Design Software#11 of 207.4