MFEM
{{Short description|Open-source C++ library}}
{{Multiple issues|
{{COI|date=July 2020}}
{{Third-party|date=July 2020}}
}}
{{Infobox software
| name = MFEM
| screenshot = Mfem-logo-300.png
| caption = The logo of MFEM shows some of its features: curvilinear elements, adaptive mesh refinement and parallel partitioning.
| latest release version = 4.8
| latest release date = {{Start date and age|2025|04|09}}
| latest preview version =
| latest preview date =
| repo = https://github.com/mfem/mfem
| programming language = C++
| operating system = Linux, MacOS, Microsoft Windows
| platform =
| genre = Finite element analysis
| license = BSD
| website = {{URL|mfem.org}}
}}
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.{{cite journal |last1=Auten |first1=Holly |title=The High Value of Open-Source Software |journal=Science & Technology Review |volume=January/February 2018 |pages=5–11 |url=https://str.llnl.gov/content/pages/2018-01/pdf/01.18.pdf}}
The library consists of C++ classes that serve as building blocks for developing finite element solvers applicable to problems of fluid dynamics,{{cite journal |last1=Anderson |first1=Robert W. |last2=Dobrev |first2=Veselin A. |last3=Kolev |first3=Tzanio V. |last4=Rieben |first4=Robert N. |title=High-Order Multi-Material ALE Hydrodynamics |journal=SIAM Journal on Scientific Computing |date=2018 |volume=40 |issue=1 |pages=B32–B58 |doi=10.1137/17M1116453|bibcode=2018SJSC...40B..32A |osti=1474269 |url=https://www.osti.gov/biblio/1474269 }} structural mechanics,{{cite journal |last1=White |first1=D. A. |last2=Stowell |first2=M. L. |last3=Tortorelli |first3=D. A. |title=Topological optimization of structures using Fourier representations |journal=Structural and Multidisciplinary Optimization |volume=58 |issue=3 |date=2018 |pages=1205–1220 |doi=10.1007/s00158-018-1962-y|osti=1479078 |s2cid=126093513 }} electromagnetics,{{cite journal |last1=Shiraiwa |first1=S. |last2=Wright |first2=J. C. |last3=Bonoli |first3=P. T. |last4=Kolev |first4=T. |last5=Stowell |first5=M. |title=RF wave simulation for cold edge plasmas using the MFEM library |journal=22 Topical Conference on Radio-Frequency Power in Plasmas |date=23 October 2017 |volume=157 |pages=03048 |doi=10.1051/epjconf/201715703048|bibcode=2017EPJWC.15703048S |doi-access=free |hdl=1721.1/113307 |hdl-access=free }} radiative transfer{{cite journal |last1=Holec |first1=M. |last2=Limpouch |first2=J. |last3=Liska |first3=R. |last4=Weber |first4=S. |title=High‐order discontinuous Galerkin nonlocal transport and energy equations scheme for radiation hydrodynamics |journal=Numerical Methods in Fluids |date=10 April 2017 |volume=83 |issue=10 |pages=779–797 |doi=10.1002/fld.4288|bibcode=2017IJNMF..83..779H |s2cid=125947931 }} and many other.
Features
Some of the features of MFEM include{{cite web |title=MFEM Finite Element Discretization Library |url=http://mfem.org/features/}}
- 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.{{cite web |title=MFEM video: Advanced simulation algorithms for HPC applications|website = YouTube|url=https://www.youtube.com/watch?v=Rpccj3NopSE}}
- 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
References
{{Reflist}}
External links
- {{Official website|www.mfem.org}}
{{Numerical analysis software}}
{{DEFAULTSORT:MFEM Project}}
Category:Scientific simulation software
Category:C++ numerical libraries
Category:Finite element method
Category:Finite element software
Category:Cross-platform free software
Category:Free software for Linux
Category:Free software for Windows