MFEM
MFEM is a general, modular, parallel C++ library for finite element methods research and development. Conceptually, MFEM can be viewed as a finite element toolbox, that provides the building blocks for developing finite element algorithms in a manner similar to that of MATLAB for linear algebra methods. In particular, MFEM supports a wide variety of finite element spaces in 2D and 3D, including arbitrary high-order H1-conforming, discontinuous (L2), H(div)-conforming, H(curl)-conforming and NURBS elements, as well as many bilinear and linear forms defined on them. It includes classes for dealing with various types of triangular, quadrilateral, tetrahedral and hexahedral meshes and their global and, in the case of triangular and tetrahedral meshes, local refinement (including in parallel). General element transformations, allowing for elements with curved boundaries are also supported. MFEM is commonly used as a ”finite element to linear algebra translator”, since it can take a problem described in terms of finite element-type objects, and produce the corresponding linear algebra vectors and sparse matrices. In order to facilitate this, MFEM uses compressed sparse row (CSR) sparse matrix storage and includes simple smoothers and Krylov solvers, such as PCG, GMRES and BiCGStab. The MPI-based parallel version of MFEM can be used as a scalable unstructured finite element problem generator, which supports parallel local refinement and parallel curved meshes, as well as several solvers from the hypre library. An experimental support for OpenMP acceleration is also included as of version 2.0. MFEM originates from the previous research effort in the (unreleased) AggieFEM/aFEM project. Some examples of its use can be found in the Gallery and Publications pages. We recommend using it together with GLVis, which is an OpenGL visualization tool build on top of MFEM.
Keywords for this software
References in zbMATH (referenced in 13 articles )
Showing results 1 to 13 of 13.
Sorted by year (- Walker, Shawn W.: FELICITY: a Matlab/C++ toolbox for developing finite element methods and simulation modeling (2018)
- la Cour Christensen, Max; Villa, Umberto; Engsig-Karup, Allan P.; Vassilevski, Panayot S.: Numerical multilevel upscaling for incompressible flow in reservoir simulation: an element-based algebraic multigrid (amge) approach (2017)
- Li, Ruipeng; Saad, Yousef: Low-rank correction methods for algebraic domain decomposition preconditioners (2017)
- Manteuffel, Thomas A.; Olson, Luke N.; Schroder, Jacob B.; Southworth, Ben S.: A root-node-based algebraic multigrid method (2017)
- Kalchev, D.Z.; Lee, C.S.; Villa, U.; Efendiev, Y.; Vassilevski, P.S.: Upscaling of mixed finite element discretization problems by the spectral AMGe method (2016)
- Kolev, Tzanio V.; Xu, Jinchao; Zhu, Yunrong: Multilevel preconditioners for reaction-diffusion problems with discontinuous coefficients (2016)
- Rouet, François-Henry; Li, Xiaoye S.; Ghysels, Pieter; Napov, Artem: A distributed-memory package for dense hierarchically semi-separable matrix computations using randomization (2016)
- Osei-Kuffuor, Daniel; Li, Ruipeng; Saad, Yousef: Matrix reordering using multilevel graph coarsening for ILU preconditioning (2015)
- Dobrev, Veselin A.; Kolev, Tzanio V.; Rieben, Robert N.: High order curvilinear finite elements for elastic-plastic Lagrangian dynamics (2014)
- Vassilevski, Panayot S.; Yang, Ulrike Meier: Reducing communication in algebraic multigrid using additive variants. (2014)
- Dobrev, Veselin A.; Ellis, Truman E.; Kolev, Tzanio V.; Rieben, Robert N.: High-order curvilinear finite elements for axisymmetric Lagrangian hydrodynamics (2013)
- Kolev, Tzanio V.; Vassilevski, Panayot S.: Parallel auxiliary space AMG solver for $H(\operatornamediv)$ problems (2012)
- Lashuk, I.V.; Vassilevski, P.S.: Element agglomeration coarse Raviart-Thomas spaces with improved approximation properties. (2012)
Further publications can be found at: http://mfem.org/publications/