MFEM
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
![]() The logo of MFEM shows some of its features: curvilinear elements, adaptive mesh refinement and parallel partitioning. | |
Stable release | 4.7 / May 7, 2024 |
---|---|
Repository | https://github.com/mfem/mfem |
Written in | C++ |
Operating system | Linux, MacOS, Microsoft Windows |
Type | Finite element analysis |
License | BSD |
Website | mfem |
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]
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
[edit]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.
See also
[edit]- List of finite element software packages
- List of numerical analysis software
- List of numerical libraries
References
[edit]- ^ Auten, Holly. "The High Value of Open-Source Software" (PDF). Science & Technology Review. January/February 2018: 5–11.
- ^ Anderson, Robert W.; Dobrev, Veselin A.; Kolev, Tzanio V.; Rieben, Robert N. (2018). "High-Order Multi-Material ALE Hydrodynamics". SIAM Journal on Scientific Computing. 40 (1): B32–B58. Bibcode:2018SJSC...40B..32A. doi:10.1137/17M1116453. OSTI 1474269.
- ^ White, D. A.; Stowell, M. L.; Tortorelli, D. A. (2018). "Topological optimization of structures using Fourier representations". Structural and Multidisciplinary Optimization. 58 (3): 1205–1220. doi:10.1007/s00158-018-1962-y. OSTI 1479078. S2CID 126093513.
- ^ Shiraiwa, S.; Wright, J. C.; Bonoli, P. T.; Kolev, T.; Stowell, M. (23 October 2017). "RF wave simulation for cold edge plasmas using the MFEM library". 22 Topical Conference on Radio-Frequency Power in Plasmas. 157: 03048. Bibcode:2017EPJWC.15703048S. doi:10.1051/epjconf/201715703048. hdl:1721.1/113307.
- ^ Holec, M.; Limpouch, J.; Liska, R.; Weber, S. (10 April 2017). "High‐order discontinuous Galerkin nonlocal transport and energy equations scheme for radiation hydrodynamics". Numerical Methods in Fluids. 83 (10): 779–797. Bibcode:2017IJNMF..83..779H. doi:10.1002/fld.4288. S2CID 125947931.
- ^ "MFEM Finite Element Discretization Library".
- ^ "MFEM video: Advanced simulation algorithms for HPC applications". YouTube.