MFEM: a modular finite element methods library

MFEM is an open-source, lightweight, flexible and scalable C++ library for modular finite element methods that features arbitrary high-order finite element meshes and spaces, support for a wide variety of discretization approaches and emphasis on usability, portability, and high-performance computing efficiency. MFEM's goal is to provide application scientists with access to cutting-edge algorithms for high-order finite element meshing, discretizations and linear solvers, while enabling researchers to quickly and easily develop and test new algorithms in very general, fully unstructured, high-order, parallel and GPU-accelerated settings. In this paper we describe the underlying algorithms and finite element abstractions provided by MFEM, discuss the software implementation, and illustrate various applications of the library.

[1]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[2]  Stefano Zampini,et al.  Multilevel Balancing Domain Decomposition by Constraints Deluxe Algorithms with Adaptive Coarse Spaces for Flow in Porous Media , 2017, SIAM J. Sci. Comput..

[3]  Panayot S. Vassilevski,et al.  Exact de Rham Sequences of Spaces Defined on Macro-Elements in Two and Three Spatial Dimensions , 2008, SIAM J. Sci. Comput..

[4]  Michel Deville,et al.  Chebyshev pseudospectral solution of second-order elliptic equations with finite element preconditioning , 1985 .

[5]  P. Fischer,et al.  High-Order Methods for Incompressible Fluid Flow , 2002 .

[6]  D. Arnold Differential complexes and stability of finite element methods. I. The de Rham complex , 2006 .

[7]  Carol S. Woodward,et al.  Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers , 2020, ACM Trans. Math. Softw..

[8]  Jed Brown,et al.  Efficient Nonlinear Solvers for Nodal High-Order Finite Elements in 3D , 2010, J. Sci. Comput..

[9]  David Wells,et al.  The deal.II library, version 8.5 , 2013, J. Num. Math..

[10]  Andreas Dedner,et al.  The Distributed and Unified Numerics Environment,Version 2.4 , 2016 .

[11]  Timothy A. Davis,et al.  Direct methods for sparse linear systems , 2006, Fundamentals of algorithms.

[12]  Hank Childs,et al.  VisIt: An End-User Tool for Visualizing and Analyzing Very Large Data , 2011 .

[13]  Martin Kronbichler,et al.  Scalability of high-performance PDE solvers , 2020, Int. J. High Perform. Comput. Appl..

[14]  Jay Gopalakrishnan,et al.  A scalable preconditioner for a DPG method , 2016 .

[15]  Christophe Geuzaine,et al.  Gmsh: A 3‐D finite element mesh generator with built‐in pre‐ and post‐processing facilities , 2009 .

[16]  Vincent Heuveline,et al.  H1-interpolation on quadrilateral and hexahedral meshes with hanging nodes , 2007, Computing.

[17]  Panayot S. Vassilevski,et al.  The Construction of the Coarse de Rham Complexes with Improved Approximation Properties , 2014, Comput. Methods Appl. Math..

[18]  Pierre Thore,et al.  Stress estimation in reservoirs using an integrated inverse method , 2018, Comput. Geosci..

[19]  David E. Keyes,et al.  On the Robustness and Prospects of Adaptive BDDC Methods for Finite Element Discretizations of Elliptic PDEs with High-Contrast Coefficients , 2016, PASC.

[20]  Douglas N. Arnold,et al.  Locally Adapted Tetrahedral Meshes Using Bisection , 2000, SIAM J. Sci. Comput..

[21]  Toplogical optimization of structures using Fourier representations , 2018 .

[22]  Duk-Soon Oh,et al.  BDDC Algorithms with deluxe scaling and adaptive selection of primal constraints for Raviart-Thomas vector fields , 2017, Math. Comput..

[23]  Patrick M. Knupp,et al.  Introducing the target-matrix paradigm for mesh optimization via node-movement , 2012, Engineering with Computers.

[24]  Claes Johnson Numerical solution of partial differential equations by the finite element method , 1988 .

[25]  Stefano Zampini,et al.  Adaptive BDDC Deluxe Methods for H(curl) , 2017 .

[26]  Viatcheslav Gurev,et al.  A high-resolution computational model of the deforming human heart , 2015, Biomechanics and modeling in mechanobiology.

[27]  E. R. Shemon,et al.  User Manual for EXODUS II Mesh Converter , 2014 .

[28]  Philippe G. Ciarlet,et al.  The finite element method for elliptic problems , 2002, Classics in applied mathematics.

[29]  Will Pazner,et al.  Efficient low-order refined preconditioners for high-order matrix-free continuous and discontinuous Galerkin methods , 2019, SIAM J. Sci. Comput..

[30]  Frédéric Hecht,et al.  New development in freefem++ , 2012, J. Num. Math..

[31]  Anders Logg,et al.  The FEniCS Project Version 1.5 , 2015 .

[32]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[33]  Leszek Demkowicz,et al.  Toward a universal h-p adaptive finite element strategy , 1989 .

[34]  Michael J. Holst,et al.  Adaptive Numerical Treatment of Elliptic Systems on Manifolds , 2001, Adv. Comput. Math..

[35]  Samuel Williams,et al.  An Efficient Multicore Implementation of a Novel HSS-Structured Multifrontal Solver Using Randomized Sampling , 2015, SIAM J. Sci. Comput..

[36]  Veselin Dobrev,et al.  Monotonicity in high‐order curvilinear finite element arbitrary Lagrangian–Eulerian remap , 2015 .

[37]  D. Arnold Finite Element Exterior Calculus , 2018 .

[38]  J. Nédélec Mixed finite elements in ℝ3 , 1980 .

[39]  Srinivas Aluru,et al.  Parallel domain decomposition and load balancing using space-filling curves , 1997, Proceedings Fourth International Conference on High-Performance Computing.

[40]  Richard D. Hornung,et al.  The RAJA Portability Layer: Overview and Status , 2014 .

[41]  R. N. Hill,et al.  Constrained optimization framework for interface-aware sub-scale dynamics closure model for multimaterial cells in Lagrangian and arbitrary Lagrangian-Eulerian hydrodynamics , 2014, J. Comput. Phys..

[42]  Patrick Knupp,et al.  Towards Simulation-Driven Optimization of High-Order Meshes by the Target-Matrix Optimization Paradigm , 2018, IMR.

[43]  Will Pazner,et al.  High-order matrix-free incompressible flow solvers with GPU acceleration and low-order refined preconditioners , 2019, ArXiv.

[44]  Steffen Müthing,et al.  High-performance Implementation of Matrix-free High-order Discontinuous Galerkin Methods , 2017, ArXiv.

[45]  Panayot S. Vassilevski,et al.  PARALLEL AUXILIARY SPACE AMG FOR H(curl) PROBLEMS , 2009 .

[46]  Tzanio V. Kolev,et al.  Nonconforming Mesh Refinement for High-Order Finite Elements , 2019, SIAM J. Sci. Comput..

[47]  Katharina Kormann,et al.  Fast Matrix-Free Evaluation of Discontinuous Galerkin Finite Element Operators , 2017, ACM Trans. Math. Softw..

[48]  David Wells,et al.  The deal.II Library, Version 8.4 , 2016, J. Num. Math..

[49]  Tzanio V. Kolev,et al.  High-Order Curvilinear Finite Element Methods for Lagrangian Hydrodynamics , 2012, SIAM J. Sci. Comput..

[50]  L. R. Scott,et al.  The Mathematical Theory of Finite Element Methods , 1994 .

[51]  Panayot S. Vassilevski,et al.  Spectral Upscaling for Graph Laplacian Problems with Application to Reservoir Simulation , 2017, SIAM J. Sci. Comput..

[52]  S. Orszag Spectral methods for problems in complex geometries , 1980 .

[53]  Panayot S. Vassilevski,et al.  Algebraic Hybridization and Static Condensation with Application to Scalable H(div) Preconditioning , 2018, SIAM J. Sci. Comput..

[54]  Andreas Dedner,et al.  The Distributed and Unified Numerics Environment (DUNE) , 2006 .

[55]  Tzanio V. Kolev,et al.  High order curvilinear finite elements for elastic-plastic Lagrangian dynamics , 2014, J. Comput. Phys..

[56]  Stefano Zampini,et al.  PCBDDC: A Class of Robust Dual-Primal Methods in PETSc , 2016, SIAM J. Sci. Comput..

[57]  Richard Liska,et al.  High‐order discontinuous Galerkin nonlocal transport and energy equations scheme for radiation hydrodynamics , 2017 .

[58]  Xiaoye S. Li,et al.  An overview of SuperLU: Algorithms, implementation, and user interface , 2003, TOMS.

[59]  Mark Ainsworth,et al.  Bernstein-Bézier Finite Elements of Arbitrary Order and Optimal Assembly Procedures , 2011, SIAM J. Sci. Comput..

[60]  Ümit V. Çatalyürek,et al.  The Zoltan and Isorropia parallel toolkits for combinatorial scientific computing: Partitioning, ordering and coloring , 2012, Sci. Program..

[61]  Benjamin S. Kirk,et al.  Library for Parallel Adaptive Mesh Refinement / Coarsening Simulations , 2006 .

[62]  Thomas J. R. Hughes,et al.  Isogeometric Analysis: Toward Integration of CAD and FEA , 2009 .

[63]  M. Shephard,et al.  Curved boundary layer meshing for adaptive viscous flow simulations , 2010 .

[64]  Emil M. Constantinescu,et al.  PETSc/TS: A Modern Scalable ODE/DAE Solver Library , 2018, 1806.01437.

[65]  I. Doležel,et al.  Higher-Order Finite Element Methods , 2003 .

[66]  Mark S. Shephard,et al.  Moving curved mesh adaptation for higher-order finite element simulations , 2010, Engineering with Computers.

[67]  T. Schönfeld ADAPTIVE MESH REFINEMENT METHODS FOR THREE-DIMENSIONAL INVISCID FLOW PROBLEMS , 1995 .

[68]  Tzanio V. Kolev,et al.  The Target-Matrix Optimization Paradigm for High-Order Meshes , 2018, SIAM J. Sci. Comput..

[69]  Alexander Heinecke,et al.  LIBXSMM: Accelerating Small Matrix Multiplications by Runtime Code Generation , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[70]  S LiXiaoye An overview of SuperLU , 2005 .

[71]  Tzanio V. Kolev,et al.  Multi‐material closure model for high‐order finite element Lagrangian hydrodynamics , 2016 .

[72]  Olof B. Widlund,et al.  Isogeometric BDDC Preconditioners with Deluxe Scaling , 2014, SIAM J. Sci. Comput..

[73]  G. Plank,et al.  A Novel Rule-Based Algorithm for Assigning Myocardial Fiber Orientation to Computational Heart Models , 2012, Annals of Biomedical Engineering.

[74]  D. Arnold,et al.  Finite element exterior calculus, homological techniques, and applications , 2006, Acta Numerica.

[75]  M. Fortin,et al.  Mixed Finite Element Methods and Applications , 2013 .

[76]  Tzanio V. Kolev,et al.  High-Order Multi-Material ALE Hydrodynamics , 2018, SIAM J. Sci. Comput..

[77]  Stefano Zampini,et al.  Balancing Domain Decomposition by Constraints Algorithms for Curl-Conforming Spaces of Arbitrary Order , 2017 .

[78]  Bruno Lévy,et al.  Computing the Distance between Two Finite Element Solutions Defined on Different 3D Meshes on a GPU , 2018, SIAM J. Sci. Comput..

[79]  Douglas N. Arnold,et al.  Unified Analysis of Discontinuous Galerkin Methods for Elliptic Problems , 2001, SIAM J. Numer. Anal..

[80]  Ivo Dolezel,et al.  Arbitrary-level hanging nodes and automatic adaptivity in the hp-FEM , 2008, Math. Comput. Simul..