MFEM
   HOME

TheInfoList



OR:

MFEM is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
C++ library for solving
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a Multivariable calculus, multivariable function. The function is often thought of as an "unknown" to be sol ...
s using the finite element method, developed and maintained by researchers at the
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a federal research facility in Livermore, California, United States. The lab was originally established as the University of California Radiation Laboratory, Livermore Branch in 1952 in response ...
and the MFEM open-source community on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
. MFEM is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
released under a BSD license. The library consists of C++ classes that serve as building blocks for developing finite element solvers applicable to problems of
fluid dynamics In physics and engineering, fluid dynamics is a subdiscipline of fluid mechanics that describes the flow of fluids— liquids and gases. It has several subdisciplines, including ''aerodynamics'' (the study of air and other gases in motion) an ...
,
structural mechanics Structural mechanics or Mechanics of structures is the computation of deformations, deflections, and internal forces or stresses (''stress equivalents'') within structures, either for design or for performance evaluation of existing structures. It ...
, electromagnetics, radiative transfer and many other.


Features

Some of the features of MFEM include * 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 In numerical analysis, adaptive mesh refinement (AMR) is a method of adapting the accuracy of a solution within certain sensitive or turbulent regions of simulation, dynamically and during the time the solution is being calculated. When solutions ...
, both conforming (
simplex In geometry, a simplex (plural: simplexes or simplices) is a generalization of the notion of a triangle or tetrahedron to arbitrary dimensions. The simplex is so-named because it represents the simplest possible polytope in any given dimension. ...
meshes) and non-conforming ( quadrilateral/
hexahedral A hexahedron (plural: hexahedra or hexahedrons) or sexahedron (plural: sexahedra or sexahedrons) is any polyhedron with six faces. A cube, for example, is a regular hexahedron with all its faces square, and three squares around each vertex. Ther ...
meshes). * Highly scalable
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, an emerging non-invasive tomographic technique * Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
-based parallelism and GPU acceleration. * Wide variety of finite element discretization approaches, including Galerkin, discontinuous Galerkin, mixed, high-order and
isogeometric analysis Isogeometric analysis is a computational approach that offers the possibility of integrating finite element analysis (FEA) into conventional NURBS-based CAD design tools. Currently, it is necessary to convert data between CAD and FEA packages to ana ...
methods. * Tight integration with the
Hypre The Parallel High Performance Preconditioners (hypre) is a library of routines for scalable (parallel) solution of linear systems. The built-in BLOPEX package in addition allows solving eigenvalue problems. The main strength of Hypre is availabi ...
parallel linear algebra library. * Many built-in solvers and interfaces to external libraries such as
PETSc The Portable, Extensible Toolkit for Scientific Computation (PETSc, pronounced PET-see; the S is silent), is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific appl ...
, SuiteSparse,
Gmsh Gmsh is a finite-element mesh generator developed by Christophe Geuzaine and Jean-François Remacle. Released under the GNU General Public License, Gmsh is free software. Gmsh contains 4 modules: for geometry description, meshing, solving and p ...
, 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

* List of finite element software packages *
List of numerical analysis software Listed here are notable end-user computer applications intended for use with numerical or data analysis: Numerical-software packages General-purpose computer algebra systems Interface-oriented Language-oriented Historically significa ...
*
List of numerical libraries This is a list of numerical libraries, which are libraries used in software development for performing numerical calculations. It is not a complete listing but is instead a list of numerical libraries with articles on Wikipedia, with few exceptio ...


References


External links

* {{DEFAULTSORT:MFEM Project Scientific simulation software C++ numerical libraries Finite element method Finite element software Cross-platform free software Free software for Linux Free software for Windows Free software for macOS Software using the BSD license