Version 3.4 of MFEM, a lightweight, general, scalable C++ library for finite element methods, is now available.
The goal of MFEM is to enable high-performance scalable finite element discretization research and application development on a wide variety of platforms, ranging from laptops to exascale supercomputers.
It has many features, including:
- 2D and 3D, arbitrary order H1, H(curl), H(div), L2, NURBS elements.
- Parallel version scalable to hundreds of thousands of MPI cores.
- Conforming/nonconforming adaptive mesh refinement (AMR), including anisotropic refinement, derefinement and parallel load balancing.
- Galerkin, mixed, isogeometric, discontinuous Galerkin, hybridized, and DPG discretizations.
- Support for triangular, quadrilateral, tetrahedral and hexahedral elements, including arbitrary order curvilinear meshes.
- Scalable algebraic multigrid, time integrators, and eigensolvers.
- Lightweight interactive OpenGL visualization with the MFEM-based GLVis tool.
Some of the new additions in version 3.4 are:
- Significantly improved non-conforming unstructured AMR scalability.
- Integration with PUMI, the Parallel Unstructured Mesh Infrastructure from RPI.
- Block nonlinear operators and variable order NURBS.
- Conduit Mesh Blueprint support
- General “high-order”-to-“low-order refined” field transfer.
- New specialized time integrators (symplectic, generalized-alpha).
- Twelve new examples and miniapps.
MFEM is being developed in CASC, LLNL and is freely available under LGPL 2.1.
For more details, see the interactive documentation and the full CHANGELOG.