Version 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. 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.2 are:
- Dynamic AMR with parallel load balancing, derefinement of non-conforming meshes.
- Tensor-based high-performance finite element operator assembly and (matrix-free) evaluation.
- Support for discontinuous Galerkin and hybridization methods on parallel non-conforming meshes.
- Support for Gmsh and CUBIT meshes.
- Secure socket communications in class socketstream based on GnuTLS.
- Four new serial and parallel example codes.
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.