Freedom251 › Physics Simulation Software
Basix

What Basix is
Basix is a finite element definition and tabulation runtime library for evaluating basis functions and their derivatives at specified points. It supplies geometric and topological information about reference cells and supports mappings between reference and physical cells. The library can permute and transform degrees of freedom, including for higher order elements on arbitrary meshes, and supports interpolation within and between finite element spaces. It includes built-in elements and lets users define custom ones. The documented cell types include intervals, triangles, quadrilaterals, tetrahedra, hexahedra, prisms, and pyramids. Basix is part of FEniCSx alongside UFL, FFCx, and DOLFINx. Its core is written in C++, with most functionality available through a Python interface. The library is free and MIT-licensed, with Linux and macOS listed as platforms. Installation instructions include `pip install fenics-basix`; the project also points to conda as an easy starting route on macOS and other systems, and apt on Debian or Ubuntu Linux. The project recommends that new users use FEniCSx.
Who it suits
Basix is for developers and researchers working with finite element spaces, including those building or using custom elements. The project describes FEniCS as serving users solving partial differential equations with finite element methods, from beginners to experienced programmers.
What it does well
- Free library under the MIT license.
- Core is written in C++ with Python functionality.
- Supports built-in and custom elements.
- Covers seven listed reference-cell types.
- Supports interpolation and degree-of-freedom transformations.
What to know first
- Project recommends new users use FEniCSx.
- Listed platforms are Linux and macOS.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free / open source | MIT-licensed library · install with pip install fenics-basix | Free |
As fenicsproject.org lists them, read 12 Oct 2026. The maker's own page has the final word.
Verdict
Basix provides finite element definitions and operations as part of the FEniCSx ecosystem. Its C++ core and Python interface support a wide range of cell types and element workflows.
Facts from Basix's own pages
- Basis evaluation
- It evaluates finite element basis functions and their derivatives at specified points. · github.com, 12 Oct 2026
- Cell information
- It provides geometric and topological information about reference cells. · github.com, 12 Oct 2026
- Custom elements
- Basix includes built-in elements and allows users to define custom elements. · github.com, 12 Oct 2026
- Degrees of freedom
- It permutes and transforms degrees of freedom so higher-order elements can be used on arbitrary meshes. · github.com, 12 Oct 2026
- Element cells
- The documentation describes creating finite elements on intervals, triangles, quadrilaterals, tetrahedra, hexahedra, prisms, and pyramids. · docs.fenicsproject.org, 5 Oct 2026
- FEniCSx components
- Basix is one of the FEniCSx components, alongside UFL, FFCx, and DOLFINx. · github.com, 12 Oct 2026
- Free plan
- Yes · fenicsproject.org, 23 Sept 2026
- Installation
- The project README gives `pip install fenics-basix` as the PyPI installation command. · github.com, 12 Oct 2026
- Intended users
- The project describes FEniCS as a platform for solving partial differential equations with the finite element method, with Python and C++ interfaces for users ranging from beginners to experienced programmers. · fenicsproject.org, 12 Oct 2026
- Interfaces
- The main functionality is written in C++, and the majority is available through a Python interface. · docs.fenicsproject.org, 12 Oct 2026
- Interpolation
- It supports interpolation into and between finite element spaces. · github.com, 12 Oct 2026
- License
- The Basix source code is available under the MIT license. · github.com, 12 Oct 2026
- Mapping
- It applies push-forward and pull-back operations to map data between a reference cell and a physical cell. · github.com, 12 Oct 2026
- Platform downloads
- The FEniCS download page gives conda as the easiest way to start on macOS and other systems, and apt as the easiest installation route on Debian or Ubuntu Linux. · fenicsproject.org, 5 Oct 2026
- Purpose
- Basix is a finite element definition and tabulation runtime library. · github.com, 12 Oct 2026
- Release status
- The project recommends new users use FEniCSx, whose 0.11 release it says was released in June 2026. · fenicsproject.org, 5 Oct 2026
- Support
- Users can report bugs through the GitHub issue tracker and ask usage questions on the FEniCS discourse group. · github.com, 12 Oct 2026
- Supported cell types
- Basix can create finite elements on intervals, triangles, quadrilaterals, tetrahedra, hexahedra, prisms, and pyramids. · docs.fenicsproject.org, 12 Oct 2026
Where Basix stands on Freedom251
- Physics Simulation Software#51 of 89