×

MetaFEM: a generic FEM solver by meta-expressions. (English) Zbl 1507.65003

Summary: Current multi-physics Finite Element Method (FEM) solvers are complex systems in terms of both their mathematical complexity and lines of code. This paper proposes a skeleton generic FEM solver, named MetaFEM, in total about 6,000 lines of Julia code, which translates generic input Partial Differential Equation (PDE) weak forms into corresponding GPU-accelerated simulations with a grammar similar to FEniCS or FreeFEM. Two novel approaches differentiate MetaFEM from the common solvers: (1) the FEM kernel is based on an original theory/algorithm which explicitly processes meta-expressions, as the name suggests, and (2) the symbolic engine is a rule-based Computer Algebra System (CAS), i.e., the equations are rewritten/derived according to a set of rewriting rules instead of going through completely fixed routines, supporting easy customization by developers. Example cases in thermal conduction, linear elasticity and incompressible flow are presented to demonstrate utility.

MSC:

65-04 Software, source code, etc. for problems pertaining to numerical analysis
65M60 Finite element, Rayleigh-Ritz and Galerkin methods for initial value and initial-boundary value problems involving PDEs
PDFBibTeX XMLCite
Full Text: DOI arXiv

References:

[1] List of finite element software packages, URL https://en.wikipedia.org/wiki/List_of_finite_element_software_packages.
[2] Hecht, F., New development in FreeFem++, J. Numer. Math., 20, 3-4, 251-265 (2012), URL https://freefem.org/ · Zbl 1266.68090
[3] GOMA, URL https://www.gomafem.com/.
[4] Elmer, URL https://www.csc.fi/web/elmer/.
[5] Automated solution of differential equations by the finite element method: The fenics book, (Lecture Notes in Computational Science and Engineering (2012), Springer) · Zbl 1247.65105
[6] Logg, A.; Wells, G. N., Dolfin, ACM Trans. Math. Software, 37, 2, 1-28 (2010), URL https://github.com/FEniCS/dolfinx · Zbl 1364.65254
[7] Kirby, R. C.; Logg, A., A compiler for variational forms, ACM Trans. Math. Software, 32, 3, 417-444 (2006), URL https://github.com/FEniCS/ffcx
[8] Alnæs, M. S.; Logg, A.; Ølgaard, K. B.; Rognes, M. E.; Wells, G. N., Unified form language: A domain-specific language for weak formulations of partial differential equations, ACM Trans. Math. Software, 40, 2, 1-37 (2014), URL https://github.com/FEniCS/ufl · Zbl 1308.65175
[9] Permann, C. J.; Gaston, D. R.; Andrš, D.; Carlsen, R. W.; Kong, F.; Lindsay, A. D.; Miller, J. M.; Peterson, J. W.; Slaughter, A. E.; Stogner, R. H.; Martineau, R. C., MOOSE: Enabling massively parallel multiphysics simulation, SoftwareX, 11, Article 100430 pp. (2020), URL http://www.sciencedirect.com/science/article/pii/S2352711019302973
[10] Baader, F.; Nipkow, T., Term Rewriting and All that (1999), Cambridge Univ. Press · Zbl 0948.68098
[11] Bezanson, J.; Edelman, A.; Karpinski, S.; Shah, V. B., Julia: A fresh approach to numerical computing, SIAM Rev., 59, 1, 65-98 (2017) · Zbl 1356.68030
[12] Besard, T.; Foket, C.; De Sutter, B., Effective extensible programming: Unleashing julia on GPUs, IEEE Trans. Parallel Distrib. Syst., 30, 4, 827-841 (2019)
[13] Badia, S.; Verdugo, F., Gridap: An extensible finite element toolbox in julia, J. Open Source Softw., 5, 52, 2520 (2020)
[14] Chung, J.; Hulbert, G. M., A time integration algorithm for structural dynamics with improved numerical dissipation: The generalized-alpha method, J. Appl. Mech., 60, 2, 371-375 (1993) · Zbl 0775.73337
[15] MetaFEM, URL https://github.com/jxx2/MetaFEM.jl.
[16] Precise Simulation, Heat Transfer in a Ceramic Strip, URL https://www.featool.com/doc/heat_transfer_02_heat_transfer2.
[17] FLOWALISTIK, Low-Poly Pikachu, URL https://www.thingiverse.com/thing:376601.
[18] COMSOL Inc., Simulate real-world designs, devices, and processes with multiphysics software from COMSOL, URL https://www.comsol.com.
[19] Timošenko, S. P.; Woinowsky-Krieger, S., (Theory of Plates and Shells. Theory of Plates and Shells, Engineering societies monographs (1976), McGraw-Hill)
[20] Ghia, U.; Ghia, K.; Shin, C., High-Re solutions for incompressible flow using the Navier-Stokes equations and a multigrid method, J. Comput. Phys., 48, 3, 387-411 (1982) · Zbl 0511.76031
[21] Hansbo, A.; Hansbo, P., An unfitted finite element method, based on Nitsche’s method, for elliptic interface problems, Comput. Methods Appl. Mech. Engrg., 191, 47-48, 5537-5552 (2002) · Zbl 1035.65125
[22] Cottrell, A.; Hughes, T.; Bazilevs, Y., Isogeometric Analysis: Toward Integration of CAD and FEA (2009), Wiley · Zbl 1378.65009
[23] Moës, N.; Belytschko, T., Extended finite element method for cohesive crack growth, Eng. Fract. Mech., 69, 7, 813-833 (2002)
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.