×

MFEM: a modular finite element methods library. (English) Zbl 1524.65001

Summary: 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.

MSC:

65-04 Software, source code, etc. for problems pertaining to numerical analysis
65N30 Finite element, Rayleigh-Ritz and Galerkin methods for boundary value problems involving PDEs
65N55 Multigrid methods; domain decomposition for boundary value problems involving PDEs
65N50 Mesh generation, refinement, and adaptive methods for boundary value problems involving PDEs
74S05 Finite element methods applied to problems in solid mechanics
76M10 Finite element methods applied to problems in fluid mechanics
65Y05 Parallel numerical computation
65Y10 Numerical algorithms for specific classes of architectures
65M60 Finite element, Rayleigh-Ritz and Galerkin methods for initial value and initial-boundary value problems involving PDEs
65L06 Multistep, Runge-Kutta and extrapolation methods for ordinary differential equations
65N25 Numerical methods for eigenvalue problems for boundary value problems involving PDEs
65M06 Finite difference methods for initial value and initial-boundary value problems involving PDEs

References:

[1] Ciarlet, P. G., The Finite Element Method for Elliptic Problems (1978), North-Holland · Zbl 0383.65058
[2] Johnson, C., Numerical Solution of Partial Differential Equations By the Finite Element Method (1987), Cambridge University Press · Zbl 0628.65098
[3] Demkowicz, L., Computing with Hp-Adaptive Finite Elements. Volume I: One and Two Dimensional Elliptic and Maxwell Problems (2006), Chapman Hall CRC
[4] Brenner, S. C.; Scott, L. R., The Mathematical Theory of Finite Element Methods (2008), Springer New York · Zbl 1135.65042
[5] Solin, P.; Segeth, K.; Dolezel, I., Higher-Order Finite Element Methods (2002), Chapman Hall CRC
[6] Deville, M.; Fischer, P.; Mund, E., High-Order Methods for Incompressible Fluid Flow (2002), Cambridge University Press · Zbl 1007.76001
[7] Arnold, D. N.; Brezzi, F.; Cockburn, B.; Marini, L. D., Unified analysis of discontinuous Galerkin methods for elliptic problems, SIAM J. Numer. Anal., 39, 5, 1749-1779 (2001) · Zbl 1008.65080
[8] Cottrell, J.; Hughes, T.; Bazilevs, Y., Isogeometric Analysis: Toward Integration of CAD and FEA (2009), Wiley · Zbl 1378.65009
[9] MFEM: Modular finite element methods, [Computer Software] (2020)
[10] Arndt, D.; Bangerth, W.; Davydov, D.; Heister, T.; Heltai, L.; Kronbichler, M.; Maier, M.; Pelteret, J.-P.; Turcksin, B.; Wells, D., The library, version 8.5, J. Numer. Math., 25, 3, 137-146 (2017) · Zbl 1375.65148
[11] Alnæs, M. S.; Blechta, J.; Hake, J.; Johansson, A.; Kehlet, B.; Logg, A.; Richardson, C.; Ring, J.; Rognes, M. E.; Wells, G. N., The FEniCS project version 1.5, Arch. Numer. Softw., 3, 100, 9-23 (2015)
[12] Blatt, M.; Burchardt, A.; Dedner, A.; Engwer, C.; Fahlke, J.; Flemisch, B.; Gersbacher, C.; Gräser, C.; Gruber, F.; Grüninger, C.; Kempf, D.; Klöfkorn, R.; Malkmus, T.; Müthing, S.; Nolte, M.; Piatkowski, M.; Sander, O., The distributed and unified numerics environment, version 2.4, Arch. Numer. Softw., 4, 100, 13-29 (2016)
[13] Hecht, F., New development in FreeFem++, J. Numer. Math., 20, 3-4, 251-265 (2012) · Zbl 1266.68090
[14] Solin, P.; Cerveny, J.; Dolezel, I., Arbitrary-level hanging nodes and automatic adaptivity in the hp-FEM, Math. Comput. Simulation, 77, 117-132 (2008) · Zbl 1135.65394
[15] Kirk, B. S.; Peterson, J. W.; Stogner, R. H.; Carey, G. F., : A C++ library for parallel adaptive mesh refinement/coarsening simulations, Eng. Comput., 22, 3-4, 237-254 (2006)
[16] Holst, M., Adaptive numerical treatment of elliptic systems on manifolds, Adv. Comput. Math., 15, 139-191 (2001) · Zbl 0997.65134
[17] Schöberl, J., C++11 Implementation of Finite Elements in NGSolveTech. Rep. ASC 30/2014 (2014), Institute for Analysis and Scientific Computing — Vienna University of Technology, URL https://www.asc.tuwien.ac.at/ schoeberl/wiki/publications/ngs-cpp11.pdf
[18] Arnold, D. N.; Falk, R. S.; Winther, R., Differential complexes and stability of finite element methods I. The de Rham complex, (Compatible Spatial Discretizations (2006), Springer New York), 23-46 · Zbl 1119.65398
[19] Balay, S.; Abhyankar, S.; Adams, M. F.; Brown, J.; Brune, P.; Buschelman, K.; Dalcin, L.; Eijkhout, V.; Gropp, W. D.; Kaushik, D.; Knepley, M. G.; May, D. A.; McInnes, L. C.; Mills, R. T.; Munson, T.; Rupp, K.; Sanan, P.; Smith, B. F.; Zampini, S.; Zhang, H.; Zhang, H., PETSc Users ManualTech. Rep. ANL-95/11 - Revision 3.9 (2018), Argonne National Laboratory, URL http://www.mcs.anl.gov/petsc
[20] Li, X. S., An overview of SuperLU, ACM Trans. Math. Software, 31, 3, 302-325 (2005) · Zbl 1136.65312
[21] Ghysels, P.; Li, X. S.; Rouet, F.-H.; Williams, S.; Napov, A., An efficient multicore implementation of a novel HSS-structured multifrontal solver using randomized sampling, SIAM J. Sci. Comput., 38, 5, S358-S384 (2016) · Zbl 1352.65092
[22] Davis, T. A., Direct Methods for Sparse Linear Systems (2006), Society for Industrial and Applied Mathematics · Zbl 1119.65021
[23] Hindmarsh, A. C.; Brown, P. N.; Grant, K. E.; Lee, S. L.; Serban, R.; Shumaker, D. E.; Woodward, C. S., SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers, ACM Trans. Math. Softw., 31, 3, 363-396 (2005) · Zbl 1136.65329
[24] Ibanez, D. A.; Seol, E. S.; Smith, C. W.; Shephard, M. S., PUMI: Parallel unstructured mesh infrastructure, ACM Trans. Math. Software, 42, 3, 17:1-17:28 (2016) · Zbl 1369.65155
[25] GLVis: OpenGL finite element visualization tool, [Computer Software] https://glvis.org, http://dx.doi.org/10.11578/dc.20171025.1249.
[26] Childs, H.; Brugger, E.; Whitlock, B.; Meredith, J.; Ahern, S.; Pugmire, D.; Biagas, K.; Miller, M.; Harrison, C.; Weber, G. H.; Krishnan, H.; Fogal, T.; Sanderson, A.; Garth, C.; Bethel, E. W.; Camp, D.; Rübel, O.; Durant, M.; Favre, J. M.; Navrátil, P., VisIt: An end-user tool for visualizing and analyzing very large data, (High Performance Visualization—Enabling Extreme-Scale Scientific Insight (2012), CRC Press/Francis-Taylor Group), 357-372
[27] VisIt: A distributed, parallel visualization and analysis tool, [Computer Software] https://visit.llnl.gov. http://dx.doi.org/10.11578/dc.20171025.on.1019.
[28] hypre: High performance preconditioners, [Computer Software] (2018)
[29] Karypis, G.; Kumar, V., A fast and high quality multilevel scheme for partitioning irregular graphs, SIAM J. Sci. Comput., 20, 1, 359-392 (1998) · Zbl 0915.68129
[30] METIS: Serial graph partitioning and fill-reducing matrix ordering, [Computer Software] http://glaros.dtc.umn.edu/gkhome/metis/metis/overview.
[31] Cerveny, J.; Dobrev, V.; Kolev, T., Non-conforming mesh refinement for high-order finite elements, SIAM J. Sci. Comput., 41, 4, C367-C392 (2019) · Zbl 1471.65210
[32] Boffi, D.; Brezzi, F.; Fortin, M., Mixed Finite Element Methods and Applications (2013), Springer Berlin Heidelberg · Zbl 1277.65092
[33] Lindstrom, P., The Minimum Edge Product Linear Ordering ProblemTech. Rep. LLNL-TR-496076 (2011), Lawrence Livermore National Laboratory
[34] Arnold, D. N.; Falk, R. S.; Winther, R., Finite element exterior calculus, homological techniques, and applications, Acta Numer., 15, 1-155 (2006), URL http://ima.umn.edu/arnold/papers/acta.pdf · Zbl 1185.65204
[35] Nedelec, J. C., Mixed finite elements in \(\mathbb{R}^3\), Numer. Math., 35, 3, 315-341 (1980) · Zbl 0419.65069
[36] Brown, J., Efficient nonlinear solvers for nodal high-order finite elements in 3D, J. Sci. Comput., 45, 48-63 (2010) · Zbl 1203.65245
[37] CEED: Center for Efficient Exascale Discretizations in the U.S. Department of Energy’s Exascale Computing Project, https://ceed.exascaleproject.org.
[38] Netgen/NGSolve: A high performance multiphysics finite element software, [Computer Software] https://ngsolve.org.
[39] XYZ Scientific Applications, Inc., TrueGrid, [Computer Software], http://truegrid.com.
[40] Schroeder, W.; Martin, K.; Lorensen, B., The Visualization Toolkit-an Object-Oriented Approach to 3D Graphics (2006), Kitware, Inc.
[41] Geuzaine, C.; Remacle, J.-F., Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities, Internat. J. Numer. Methods Engrg., 79, 11, 1309-1331 (2009) · Zbl 1176.74181
[42] Shemon, E.; Attaway, C., User Manual for EXODUS II Mesh ConverterTech. Rep. (2014)
[43] R.D. Hornung, A. Black, A. Capps, B. Corbett, N. Elliott, C. Harrison, R. Settgast, L. Taylor, K. Weiss, C. White, G. Zagaris, Axom, [Computer Software] https://github.com/LLNL/axom.
[44] Conduit: Scientific Data Exchange Library for HPC Simulations (2014), [Computer Software] http://software.llnl.gov/conduit
[45] Barker, A. T.; Dobrev, V.; Gopalakrishnan, J.; Kolev, T., A scalable preconditioner for a primal discontinuous Petrov-Galerkin method, SIAM J. Sci. Comput., 40, 2, A1187-A1203 (2018) · Zbl 1448.65213
[46] Abhyankar, S.; Brown, J.; Constantinescu, E. M.; Ghosh, D.; Smith, B. F.; Zhang, H., PETSc/TS: A modern scalable ODE/DAE solver library (2018), arXiv:1806.01437
[47] Dobrev, V. A.; Kolev, T. V.; Lee, C. S.; Tomov, V. Z.; Vassilevski, P. S., Algebraic hybridization and static condensation with application to scalable H(div) preconditioning, SIAM J. Sci. Comput., 41, 3, B425-B447 (2019) · Zbl 1420.65029
[48] Orszag, S. A., Spectral methods for problems in complex geometries, J. Comput. Phys., 37, 1, 70-92 (1980), URL http://www.sciencedirect.com/science/article/pii/0021999180900054 · Zbl 0476.65078
[49] Müthing, S.; Piatkowski, M.; Bastian, P., High-performance implementation of matrix-free high-order discontinuous Galerkin methods (2017)
[50] Kronbichler, M.; Kormann, K., Fast matrix-free evaluation of discontinuous Galerkin finite element operators, ACM Trans. Math. Software, 45, 3 (2019) · Zbl 1486.65253
[51] Ainsworth, M.; Andriamaro, G.; Davydov, O., Bernstein-Bézier finite elements of arbitrary order and optimal assembly procedures, SIAM J. Sci. Comput., 33, 6, 3087-3109 (2011) · Zbl 1237.65120
[52] Kolev, T.; Vassilevski, P., Parallel auxiliary space AMG for H(curl) problems, J. Comput. Math., 27, 604-623 (2009), special issue on Adaptive and Multilevel Methods in Electromagnetics. UCRL-JRNL-237306 · Zbl 1212.65128
[53] Zampini, S., PCBDDC: a class of robust dual-primal methods in PETSc, SIAM J. Sci. Comput., 38, 5, S282-S306 (2016) · Zbl 1352.65632
[54] da Veiga, L. B.; Pavarino, L. F.; Scacchi, S.; Widlund, O. B.; Zampini, S., Isogeometric BDDC preconditioners with deluxe scaling, SIAM J. Sci. Comput., 36, 3, A1118-A1139 (2014) · Zbl 1320.65047
[55] Zampini, S.; Keyes, D. E., On the robustness and prospects of adaptive BDDC methods for finite element discretizations of elliptic PDEs with high-contrast coefficients, (Proceedings of the Platform for Advanced Scientific Computing Conference (2016), ACM), 6
[56] Zampini, S., Adaptive BDDC deluxe methods for H (curl), (Domain Decomposition Methods in Science and Engineering XXIII (2017), Springer: Springer Cham), 285-292 · Zbl 1371.78318
[57] Zampini, S.; Vassilevski, P.; Dobrev, V.; Kolev, T., Balancing domain decomposition by constraints algorithms for curl-conforming spaces of arbitrary order, (International Conference on Domain Decomposition Methods (2017), Springer: Springer Cham), 103-116 · Zbl 1442.65435
[58] Oh, D.-S.; Widlund, O.; Zampini, S.; Dohrmann, C., BDDC algorithms with deluxe scaling and adaptive selection of primal constraints for Raviart-Thomas vector fields, Math. Comp., 87, 310, 659-692 (2018) · Zbl 1380.65065
[59] Zampini, S.; Tu, X., Multilevel balancing domain decomposition by constraints deluxe algorithms with adaptive coarse spaces for flow in porous media, SIAM J. Sci. Comput., 39, 4, A1389-A1415 (2017) · Zbl 1426.76582
[60] Deville, M.; Mund, E., Chebyshev pseudospectral solution of second-order elliptic equations with finite element preconditioning, J. Comput. Phys., 60, 3, 517-533 (1985), URL http://www.sciencedirect.com/science/article/pii/0021999185900348 · Zbl 0585.65073
[61] Canuto, C.; Quarteroni, A.; Hussaini, M. Y.; Zang, T. A., Spectral Methods (2007), Springer Berlin Heidelberg · Zbl 1121.76001
[62] Pazner, W., Efficient low-order refined preconditioners for high-order matrix-free continuous and discontinuous Galerkin methods (2019), arXiv preprint 1908.07071. URL https://arxiv.org/abs/1908.07071
[63] Franco, M.; Camier, J.-S.; Andrej, J.; Pazner, W., High-order matrix-free incompressible flow solvers with GPU acceleration and low-order refined preconditioners (2019), arXiv preprint 1910.03032. URL https://arxiv.org/abs/1910.03032
[64] OCCA: Open Concurrent Compute Abstraction, [Computer Software] https://libocca.org.
[65] libCEED: Code for efficient extensible discretization, [Computer Software] https://github.com/CEED/libCEED.
[66] Hornung, R. D.; Keasler, J. A., The RAJA Portability Layer: Overview and StatusTech. Rep. LLNL-TR-661403, LLNL (2014)
[67] Laghos: LAGrangian High-Order Solver, [Computer Software] https://github.com/CEED/Laghos.
[68] Dobrev, V.; Dongarra, J.; Brown, J.; Fischer, P.; Haidar, A.; Karlin, I.; Kolev, T.; Min, M.; Moon, T.; Ratnayaka, T.; Tomov, S.; Tomov, V., CEED ECP Milestone Report: Identify Initial Kernels, Bake-Off Problems (Benchmarks) and MiniappsTech. Rep. WBS 1.2.5.3.04, Milestone CEED-MS6 (2017), URL https://zenodo.org/record/2542333
[69] Fischer, P.; Min, M.; Rathnayake, T.; Dutta, S.; Kolev, T.; Dobrev, V.; Camier, J. S.; Kronbichler, M.; Warburton, T.; Swirydowics, K.; Brown, J., Scalability of high-performance PDE solvers, Int. J. High Perform. Comput. Appl. (2020), in print
[70] Heinecke, A.; Henry, G.; Hutchinson, M.; Pabst, H., LIBXSMM: Accelerating small matrix multiplications by runtime code generation, (SC16: International Conference for High Performance Computing, Networking, Storage and Analysis (2016), IEEE)
[71] Arnold, D. N.; Mukherjee, A.; Pouly, L., Locally adapted tetrahedral meshes using bisection, SIAM J. Sci. Comput., 22, 2, 431-448 (2000) · Zbl 0973.65116
[72] Demkowicz, L.; Oden, J.; Rachowicz, W.; Hardy, O., Toward a universal h-p adaptive finite element strategy, part 1. constrained approximation and data structure, Comput. Methods Appl. Mech. Engrg., 77, 1, 79-112 (1989), URL http://www.sciencedirect.com/science/article/pii/0045782589901291 · Zbl 0723.73074
[73] Schönfeld, T., Adaptive mesh refinement methods for three-dimensional inviscid flow problems, Int. J. Comput. Fluid Dyn., 4, 3-4, 363-391 (1995), URL http://iahr.tandfonline.com/doi/abs/10.1080/10618569508904530
[74] Heuveline, V.; Schieweck, F., H1-interpolation on quadrilateral and hexahedral meshes with hanging nodes, Computing, 80, 3, 203-220 (2007) · Zbl 1133.65100
[75] Aluru, S.; Sevilgen, F., Parallel domain decomposition and load balancing using space-filling curves, (Proceedings Fourth International Conference on High-Performance Computing (1997), IEEE Comput. Soc)
[76] Boman, E. G.; Catalyurek, U. V.; Chevalier, C.; Devine, K. D., The Zoltan and Isorropia parallel toolkits for combinatorial scientific computing: Partitioning, ordering, and coloring, Sci. Program., 20, 2, 129-150 (2012)
[77] Sahni, O.; Luo, X.; Jansen, K.; Shephard, M., Curved boundary layer meshing for adaptive viscous flow simulations, Finite Elem. Anal. Des., 46, 1, 132-139 (2010)
[78] Dobrev, V. A.; Kolev, T. V.; Rieben, R. N., High-order curvilinear finite element methods for Lagrangian hydrodynamics, SIAM J. Sci. Comput., 34, 5, B606-B641 (2012) · Zbl 1255.76076
[79] Luo, X.-J.; Shephard, M.; Lee, L.-Q.; Ge, L.; Ng, C., Moving curved mesh adaptation for higher-order finite element simulations, Eng. Comput., 27, 1, 41-50 (2011)
[80] Knupp, P., Introducing the target-matrix paradigm for mesh optimization by node movement, Eng. Comput., 28, 4, 419-429 (2012)
[81] Dobrev, V.; Knupp, P.; Kolev, T.; Mittal, K.; Tomov, V., The Target-Matrix Optimization Paradigm for high-order meshes, SIAM J. Sci. Comput., 41, 1, B50-B68 (2019) · Zbl 1450.65109
[82] Anderson, R. W.; Dobrev, V. A.; Kolev, T. V.; Rieben, R. N.; Tomov, V. Z., High-order multi-material ALE hydrodynamics, SIAM J. Sci. Comput., 40, 1, B32-B58 (2018) · Zbl 1480.65246
[83] Dobrev, V.; Knupp, P.; Kolev, T.; Tomov, V., Towards simulation-driven optimization of high-order meshes by the Target-Matrix Optimization Paradigm, (Roca, X.; Loseille, A., 27th International Meshing Roundtable. 27th International Meshing Roundtable, Lecture Notes in Computational Science and Engineering, vol. 127 (2019), Springer International Publishing: Springer International Publishing Cham), 285-302 · Zbl 1453.65298
[84] Barlow, A.; Hill, R.; Shashkov, M. J., Constrained optimization framework for interface-aware sub-scale dynamics closure model for multimaterial cells in Lagrangian and arbitrary Lagrangian-Eulerian hydrodynamics, J. Comput. Phys., 276, 92-135 (2014) · Zbl 1349.65196
[85] Dobrev, V. A.; Kolev, T.; Rieben, R., High order curvilinear finite elements for elastic-plastic Lagrangian dynamics, J. Comput. Phys., 257, 1062-1080 (2014) · Zbl 1351.76057
[86] Anderson, R. W.; Dobrev, V. A.; Kolev, T. V.; Rieben, R. N., Monotonicity in high-order curvilinear finite element ALE remap, Internat. J. Numer. Methods Fluids, 77, 5, 249-273 (2014), URL https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.3965
[87] Dobrev, V. A.; Kolev, T. V.; Rieben, R. N.; Tomov, V. Z., Multi-material closure model for high-order finite element Lagrangian hydrodynamics, Internat. J. Numer. Methods Fluids, 82, 10, 689-706 (2016)
[88] Cranford, J.; Richards, D.; Zhang, X.; Laudenschlager, S.; Glosli, J.; O’Hara, T.; Mirin, A.; Draeger, E.; Fattebert, J.-L.; Blake, R.; Oppelstrup, T., Cardioid (2018)
[89] Bayer, J. D.; Blake, R. C.; Plank, G.; Trayanova, N. A., A novel rule-based algorithm for assigning myocardial fiber orientation to computational heart models, Ann. Biomed. Eng., 40, 10, 2243-2254 (2012)
[90] Gurev, V.; Pathmanathan, P.; Fattebert, J.-L.; Wen, H.-F.; Magerlein, J.; Gray, R. A.; Richards, D. F.; Rice, J. J., A high-resolution computational model of the deforming human heart, Biomech. Model. Mechanobiol., 14, 4, 829-849 (2015)
[91] Heller, A., Leading a revolution in design, Sci. Technol. Rev., 4-11 (2018)
[92] ParElag: Element agglomeration algebraic multigrid and upscaling, [Computer Software] (2018)
[93] Lashuk, I. V.; Vassilevski, P. S., The construction of coarse de Rham complexes with improved approximation properties, Comput. Methods Appl. Math., 14, 2, 257-303 (2014) · Zbl 1284.65156
[94] Pasciak, J. E.; Vassilevski, P. S., Exact de Rham sequences of spaces defined on macro-elements in two and three spatial dimensions, SIAM J. Sci. Comput., 30, 5, 2427-2446 (2008) · Zbl 1195.78061
[95] White, D. A.; Stowell, M.; Tortorelli, D. A., Topological optimization of structures using Fourier representations, Struct. Multidiscip. Optim., 1-16 (2018)
[96] Mazuyer, A.; Cupillard, P.; Giot, R.; Conin, M.; Leroy, Y.; Thore, P., Stress estimation in reservoirs using an integrated inverse method, Comput. Geosci., 114, 30-40 (2018), URL http://www.sciencedirect.com/science/article/pii/S0098300417305010
[97] Holec, M.; Limpouch, J.; Liska, R.; Weber, S., High-order discontinuous Galerkin nonlocal transport and energy equations scheme for radiation hydrodynamics, Internat. J. Numer. Methods Fluids, 83, 10, 779-797 (2016), https://onlinelibrary.wiley.com/doi/pdf/10.1002/fld.4288.
[98] Reberol, M.; Lévy, B., Computing the distance between two finite element solutions defined on different 3D meshes on a GPU, SIAM J. Sci. Comput., 40, 1, C131-C155 (2018) · Zbl 1383.65143
[99] Barker, A. T.; Lee, C. S.; Vassilevski, P. S., Spectral upscaling for graph Laplacian problems with application to reservoir simulation, SIAM J. Sci. Comput., 39, 5, S323-S346 (2017) · Zbl 1422.65435
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.