Version 3.3.2 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.
MFEM 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.3.2 are:
- Support for high-order mesh optimization based on the target-matrix optimization paradigm from the ETHOS project.
- Implementation of the community policies in xSDK, the Extreme-scale Scientific Software Development Kit.
- Integration with the STRUMPACK parallel sparse direct solver and preconditioner.
- Several new linear interpolators, five new examples and miniapps.
- Various memory, performance, discretization and solver improvements, including physical-to-reference space mapping capabilities.
- Continuous integration testing on Linux, Mac and Windows.
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.