MFEM
Open-source C++ library
From Wikipedia, the free encyclopedia
MFEM is an open-source C++ library for solving partial differential equations using the finite element method, developed and maintained by researchers at the Lawrence Livermore National Laboratory and the MFEM open-source community on GitHub. MFEM is free software released under a BSD license.[1]
Stable release
4.9
/ December 11, 2025
Written inC++
| MFEM | |
|---|---|
The logo of MFEM shows some of its features: curvilinear elements, adaptive mesh refinement and parallel partitioning. | |
| Stable release | 4.9
/ December 11, 2025 |
| Written in | C++ |
| Operating system | Linux, MacOS, Microsoft Windows |
| Type | Finite element analysis |
| License | BSD |
| Website | mfem |
| Repository | https://github.com/mfem/mfem |
The library consists of C++ classes that serve as building blocks for developing finite element solvers applicable to problems of fluid dynamics,[2] structural mechanics,[3] electromagnetics,[4] radiative transfer[5] and many other.
Features
Some of the features of MFEM include[6]
- Arbitrary high order finite elements with curved boundaries.
- H1, H(curl) and H(div) conforming, discontinuous (L2), and NURBS finite element spaces.
- Local mesh refinement, both conforming (simplex meshes) and non-conforming (quadrilateral/hexahedral meshes).
- Highly scalable MPI-based parallelism and GPU acceleration.[7]
- Wide variety of finite element discretization approaches, including Galerkin, discontinuous Galerkin, mixed, high-order and isogeometric analysis methods.
- Tight integration with the Hypre parallel linear algebra library.
- Many built-in solvers and interfaces to external libraries such as PETSc, SuiteSparse, Gmsh, etc.
- Accurate and flexible visualization with VisIt and ParaView.
- Lightweight design and conservative use of C++ templating.
- Documentation in the form of examples and mini-applications.