×

Automating the finite element method. (English) Zbl 1158.74048

Author’s abstract: The finite element method can be viewed as a machine that automates the discretization of differential equations, taking as input a variational problem, a finite element and a mesh, and producing as output a system of discrete equations. However, the generality of the framework provided by the finite element method is seldom reflected in implementations (realizations), which are often specialized and can handle only a small set of variational problems and finite elements (but are typically parametrized over the choice of mesh). This paper reviews ongoing research in the direction of a complete automation of the finite element method. In particular, this work discusses algorithms for efficient and automatic computation of a system of discrete equations from a given variational problem, finite element and mesh. It is demonstrated that by automatically generating and compiling efficient low-level code, it is possible to parametrize a finite element code over variational problem and finite element in addition to the mesh.

MSC:

74S05 Finite element methods applied to problems in solid mechanics
76M10 Finite element methods applied to problems in fluid mechanics
74-02 Research exposition (monographs, survey articles) pertaining to mechanics of deformable solids
76-02 Research exposition (monographs, survey articles) pertaining to fluid mechanics
PDFBibTeX XMLCite
Full Text: DOI arXiv

References:

[1] Arge SE, Bruaset AM, Langtangen HP (eds) (1997) Modern software tools for scientific computing. Birkhäuser, Basel
[2] Arnold DN, Winther R (2002) Mixed finite elements for elasticity. Numer Math 92:401–419 · Zbl 1090.74051
[3] Babuška I (1971) Error bounds for finite element method. Numer Math 16:322–333 · Zbl 0214.42001
[4] Bagheri B, Scott LR (2003) Analysa, URL: http://people.cs.uchicago.edu/\(\sim\)ridg/al/aa.html
[5] Bagheri B, Scott LR (2004) About Analysa. Tech rep TR-2004-09, University of Chicago, Department of Computer Science
[6] Balay S, Eijkhout V, Gropp WD, McInnes LC, Smith BF (1997) Efficient management of parallelism in object oriented numerical software libraries. In: Arge E, Bruaset AM, Langtangen HP (eds) Modern software tools in scientific computing. Birkhäuser, Basel, pp. 163–202 · Zbl 0882.65154
[7] Balay S, Buschelman K, Eijkhout V, Gropp WD, Kaushik D, Knepley MG, McInnes LC, Smith BF, Zhang H (2004) PETSc users manual. Tech rep ANL-95/11-Revision 2.1.5, Argonne National Laboratory
[8] Balay S, Buschelman K, Gropp WD, Kaushik D, Knepley MG, McInnes LC, Smith BF, Zhang H (2006) PETSc. URL: http://www.mcs.anl.gov/petsc/
[9] Bangerth W (2000) Using modern features of C++ for adaptive finite element methods: dimension-independent programming in deal.II. In: Deville M, Owens R (eds) Proceedings of the 16th IMACS world congress 2000, Lausanne, Switzerland, 2000. Document Sessions/118-1
[10] Bangerth W, Kanschat G (1999) Concepts for object-oriented finite element software–the deal.II library. Preprint 99-43 (SFB 359), IWR Heidelberg, October · Zbl 1365.65248
[11] Bangerth W, Hartmann R, Kanschat G (2006) deal.II differential equations analysis library. URL: http://www.dealii.org/ · Zbl 1365.65248
[12] Beazley DM (2006) SWIG: an easy to use tool for integrating scripting languages with C and C++. Presented at the 4th Annual Tcl/Tk Workshop, Monterey, CA, 2006
[13] Beazley DM et al (2006) Simplified wrapper and interface generator. URL: http://www.swig.org/
[14] Becker EB, Carey GF, Oden JT (1981) Finite elements: an introduction. Prentice-Hall, Englewood Cliffs
[15] Becker R, Rannacher R (2001) An optimal control approach to a posteriori error estimation in finite element methods. Acta Numer 10:1–102 · Zbl 1105.65349
[16] Blackford LS, Demmel J, Dongarra J, Duff I, Hammarling S, Henry G, Heroux M, Kaufman L, Lumsdaine A, Petitet A, Pozo R, Remington K, Whaley RC (2002) An updated set of basic linear algebra subprograms (BLAS). ACM Trans Math Softw 28:135–151 · Zbl 1070.65520
[17] Boffi D (1997) Three-dimensional finite element methods for the Stokes problem. SIAM J Numer Anal 34:664–670 · Zbl 0874.76032
[18] Brenner SC, Scott LR (1994) The mathematical theory of finite element methods. Springer, Berlin
[19] Brezzi F (1974) On the existence, uniqueness and approximation of saddle-point problems arising from Lagrangian multipliers. RAIRO Anal Numér R-2:129–151 · Zbl 0338.90047
[20] Brezzi F, Fortin M (1991) Mixed and hybrid finite element methods. Springer series in computational mathematics, vol 15. Springer, New York · Zbl 0788.73002
[21] Brezzi F, Douglas J Jr, Marini LD (1985) Two families of mixed finite elements for second order elliptic problems. Numer Math 47:217–235 · Zbl 0599.65072
[22] Bruaset AM, Langtangen HP et al (2006) Diffpack. URL: http://www.diffpack.com/
[23] Castigliano CAP (1879) Théorie de l’équilibre des systèmes élastiques et ses applications. AF Negro, Torino
[24] Ciarlet PG (1976) Numerical analysis of the finite element method. Les Presses de l’Universite de Montreal
[25] Ciarlet PG (1978) The finite element method for elliptic problems. North-Holland, Amsterdam · Zbl 0383.65058
[26] CIMNE International Center for Numerical Methods in Engineering (2006) GiD. URL: http://gid.cimne.upc.es/
[27] Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn. MIT Press
[28] Courant R (1943) Variational methods for the solution of problems of equilibrium and vibrations. Bull Am Math Soc 49:1–23 · Zbl 0063.00985
[29] Crouzeix M, Raviart PA (1973) Conforming and nonconforming finite element methods for solving the stationary Stokes equations. RAIRO Anal Numér 7:33–76
[30] Demmel JW (1997) Applied numerical linear algebra. SIAM
[31] Dubiner M (1991) Spectral methods on triangles and other domains. J Sci Comput 6:345–390 · Zbl 0742.76059
[32] Dular P, Geuzaine C (2005) GetD reference manual
[33] Dular P, Geuzaine C (2006) GeD: a general environment for the treatment of discrete problems. URL: http://www.geuz.org/getdp/
[34] Dupont T, Hoffman J, Johnson C, Kirby RC, Larson MG, Logg A, Scott LR (2003) The FEniCS project tech rep 2003-21, Chalmers Finite Element Center Preprint Series
[35] Eaton JW (2006) Octave. URL: http://www.octave.org/
[36] Eriksson K, Johnson C (1991) Adaptive finite element methods for parabolic problems I: a linear model problem. SIAM J Numer Anal 28(1):43–77 · Zbl 0732.65093
[37] Eriksson K, Johnson C (1991) Adaptive finite element methods for parabolic problems II: optimal order error estimates in l l 2 and l l SIAM J Numer Anal 32:706–740 · Zbl 0830.65094
[38] Eriksson K, Johnson C (1995) Adaptive finite element methods for parabolic problems IV: nonlinear problems. SIAM J Numer Anal 32:1729–1749 · Zbl 0835.65116
[39] Eriksson K, Johnson C (1995) Adaptive finite element methods for parabolic problems V: long-time integration. SIAM J Numer Anal 32:1750–1763 · Zbl 0835.65117
[40] Eriksson K, Johnson C Adaptive finite element methods for parabolic problems III: time steps variable in space, in preparation
[41] Eriksson K, Johnson C, Larsson S (1998) Adaptive finite element methods for parabolic problems VI: analytic semigroups. SIAM J Numer Anal 35:1315–1325 · Zbl 0909.65063
[42] Eriksson K, Estep D, Hansbo P, Johnson C (1995) Introduction to adaptive methods for differential equations. Acta Numer 4:105–158 · Zbl 0829.65122
[43] Eriksson K, Estep D, Hansbo P, Johnson C (1996) Computational differential equations. Cambridge University Press, Cambridge · Zbl 0946.65049
[44] Eriksson K, Estep D, Johnson C (2003) Applied mathematics: body and soul, vol I. Springer, Berlin · Zbl 1099.00002
[45] Eriksson K, Estep D, Johnson C (2003) Applied mathematics: body and soul, vol II. Springer, Berlin · Zbl 1099.00002
[46] Eriksson K, Estep D, Johnson C (2003) Applied mathematics: body and soul, vol III. Springer, Berlin · Zbl 1099.00002
[47] Eriksson K, Johnson C, Logg A (2003) Explicit time-stepping for stiff ODEs. SIAM J Sci Comput 25:1142–1157 · Zbl 1061.65059
[48] Eriksson K, Johnson C, Hoffman J, Jansson J, Larson MG, Logg A (2006) Body and soul applied mathematics education reform project. URL: http://www.bodysoulmath.org/
[49] Estep D, French D (1994) Global error control for the continuous Galerkin finite element method for ordinary differential equations. M2AN 28:815–852 · Zbl 0822.65054
[50] Estep D, Larson M, Williams R (2000) Estimating the error of numerical solutions of systems of nonlinear reaction–diffusion equations. Mem Am Math Soc 696:1–109 · Zbl 0998.65096
[51] Free Software Foundation (1991) GNU GPL. URL: http://www.gnu.org/copyleft/gpl.html
[52] Free Software Foundation (1999) GNU LGPL. URL: http://www.gnu.org/copyleft/lesser.html
[53] Free Software Foundation (2006) The free software definition. URL: http://www.gnu.org/philosophy/free-sw.html
[54] Fries T-P, Matthies HG (2004) A review of Petrov–Galerkin stabilization approaches and an extension to meshfree methods. Tech rep Informatikbericht 2004-01, Institute of Scientific Computing, Technical University Braunschweig
[55] Galerkin BG (1915) Series solution of some problems in elastic equilibrium of rods and plates. Vestnik inzhenerov i tekhnikov 19:897–908
[56] Golub GH, van Loan CF (1996) Matrix computations, 3rd edn. Johns Hopkins University Press · Zbl 0865.65009
[57] Hecht F, Pironneau O, Hyaric AL, Ohtsuka K (2005) FreeFEM++ manual
[58] Hoffman J, Johnson C (2004) Encyclopedia of computational mechanics, vol 3. Wiley, New York. Chapter 7: computability and adaptivity in CFD
[59] Hoffman J, Johnson C (2006) A new approach to computational turbulence modeling. Comput Methods Appl Mech Eng 195:2865–2880 · Zbl 1176.76065
[60] Hoffman J, Johnson C (2006) Computational turbulent incompressible flow: applied mathematics: body and soul, vol 4. Springer, Berlin · Zbl 1114.76002
[61] Hoffman J, Logg A (2002) DOLFIN: Dynamic Object oriented Library for FINite element computation. Tech rep 2002-06, Chalmers Finite Element Center Preprint Series
[62] Hoffman J, Logg A (2004) Puffin user manual
[63] Hoffman J, Logg A (2006) Puffin. URL: http://www.fenics.org/puffin/
[64] Hoffman J, Johnson C, Logg A (2004) Dreams of calculus–perspectives on mathematics education. Springer, Berlin · Zbl 1079.00001
[65] Hoffman J, Jansson J, Johnson C, Knepley MG, Kirby RC, Logg A, Scott LR, Wells GN (2006) FEniCS. http://www.fenics.org/
[66] Hoffman J, Jansson J, Logg A, Wells GN (2006) DOLFIN. http://www.fenics.org/dolfin/
[67] Hoffman J, Jansson J, Logg A, Wells GN (2004) DOLFIN user manual
[68] Hughes TJR (1987) The finite element method: linear static and dynamic finite element analysis. Prentice-Hall, Englewood Cliffs · Zbl 0634.73056
[69] Hughes TJR, Franca LP, Balestra M (1986) A new finite element formulation for computational fluid dynamics. V. Circumventing the Babuška-Brezzi condition: a stable Petrov-Galerkin formulation of the Stokes problem accommodating equal-order interpolations. Comput Methods Appl Mech Eng 59:85–99 · Zbl 0622.76077
[70] Hulme BL (1972) Discrete Galerkin and related one-step methods for ordinary differential equations. Math Comput 26:881–891 · Zbl 0272.65056
[71] Hulme BL (1972) One-step piecewise polynomial Galerkin methods for initial value problems. Math Comput 26:415–426 · Zbl 0265.65038
[72] International Organization for Standardization (1996) ISO/IEC 14977:1996: information technology–syntactic metalanguage–extended BNF
[73] Jansson J (2006) Ko. URL: http://www.fenics.org/ko/
[74] Jansson J, Johnson C, Logg A (2005) Computational modeling of dynamical systems. Math Models Methods Appl Sci 15:471–481 · Zbl 1160.65351
[75] Jansson J, Logg A, et al (2006) Body and soul computer sessions. URL: http://www.bodysoulmath.org/sessions/
[76] Karpeev DA, Knepley MG (2005) Flexible representation of computational meshes. ACM Trans Math Softw, submitted
[77] Karpeev DA, Knepley MG (2006) Sieve. URL: http://www.fenics.org/sieve/
[78] Kirby RC (2004) FIAT: a new paradigm for computing finite element basis functions. ACM Trans Math Softw 30:502–516 · Zbl 1070.65571
[79] Kirby RC (2006) FIAT. URL: http://www.fenics.org/fiat/
[80] Kirby RC (2006) Optimizing FIAT with the level 3 BLAS. ACM Trans Math Softw 32(2):223–235. http://doi.acm.org/10.1145/1141885.1141889 · Zbl 1365.65256
[81] Kirby RC, Logg A (2006) A compiler for variational forms. ACM Trans Math Softw 32(3):417–444 · Zbl 05458453
[82] Kirby RC, Logg A (2007) Efficient compilation of a class of variational forms. ACM Trans Math Softw 33(3), accepted 31 August 2006 · Zbl 1365.65257
[83] Kirby RC, Knepley MG, Scott LR (2005) Evaluation of the action of finite element operators. BIT, submitted
[84] Kirby RC, Knepley MG, Logg A, Scott LR (2005) Optimizing the evaluation of finite element matrices. SIAM J Sci Comput 27:741–758 · Zbl 1091.65114
[85] Kirby RC, Logg A, Scott LR, Terrel AR (2006) Topological optimization of the evaluation of finite element matrices, SIAM J Sci Comput 28(1):224–240 · Zbl 1104.65324
[86] Kitware (2006) The visualization ToolKit. URL: http://www.vtk.org/
[87] Knepley MG, Smith BF (2006) ANL SIDL environment. URL: http://www-unix.mcs.anl.gov/ase/
[88] Langtangen HP (1999) Computational partial differential equations–numerical methods and diffpack programming. Lecture notes in computational science and engineering. Springer, Berlin
[89] Langtangen HP (2005) Python scripting for computational science, 2nd edn. Springer, Berlin · Zbl 1049.68032
[90] Logg A (2003) Multi-adaptive Galerkin methods for ODEs I. SIAM J Sci Comput 24:1879–1902 · Zbl 1042.65066
[91] Logg A (2003) Multi-adaptive Galerkin methods for ODEs II: implementation and applications. SIAM J Sci Comput 25:1119–1141 · Zbl 1073.65078
[92] Logg A (2004) Automation of computational mathematical modeling. PhD thesis, Chalmers University of Technology, Sweden
[93] Logg A (2004) Multi-adaptive time-integration. Appl Numer Math 48:339–354 · Zbl 1038.65097
[94] Logg A (2006) FFC. http://www.fenics.org/ffc/
[95] Logg A (2006) FFC user manual
[96] Logg A (2006) Multi-adaptive Galerkin methods for ODEs III: a priori error estimates. SIAM J Numer Anal 43:2624–2646 · Zbl 1106.65070
[97] Long K (2003) Sundance, a rapid prototyping tool for parallel PDE-constrained optimization. In: Large-scale PDE-constrained optimization. Lecture notes in computational science and engineering. Springer, Berlin
[98] Long K (2004) Sundance 2.0 tutorial. Tech rep TR-2004-09, Sandia National Laboratories
[99] Long K (2006) Sundance. URL: http://software.sandia.gov/sundance/
[100] Mackie RI (1992) Object oriented programming of the finite element method. Int J Numer Meth Eng 35 · Zbl 0768.73075
[101] Masters I, Usmani AS, Cross JT, Lewis RW (1997) Finite element analysis of solidification using object-oriented and parallel techniques. Int J Numer Meth Eng 40:2891–2909 · Zbl 0890.76043
[102] Nédélec J-C (1980) Mixed finite elements in R 3. Numer Math 35:315–341
[103] Oliphant T et al (2006) Python numeric. URL: http://numeric.scipy.org/
[104] OpenDX (2006) URL: http://www.opendx.org/
[105] Pironneau O, Hecht F, Hyaric AL, Ohtsuka K (2006) FreeFEM. URL: http://www.freefem.org/
[106] Ramachandra P (2006) MayaVi. URL: http://mayavi.sourceforge.net/
[107] Raviart P-A, Thomas JM (1977) A mixed finite element method for 2nd order elliptic problems. In: Mathematical aspects of finite element methods. Proc conf, consiglio naz. delle ricerche (CNR), Rome, 1975. Lecture notes in math, vol 606. Springer, Berlin, pp 292–315
[108] Rayleigh (1870) On the theory of resonance. Trans Roy Soc A 161:77–118
[109] Ritz W (1908) Über eine neue Methode zur Lösung gewisser Variationsprobleme der mathematischen Physik. J Reine Angew Math 135:1–61 · JFM 39.0449.01
[110] Saad Y (2003) Iterative methods for sparse linear systems, 2nd edn. SIAM · Zbl 1031.65046
[111] Samuelsson A, Wiberg N-E (1998) Finite element method basics. Studentlitteratur
[112] Sandia National Laboratories (2006) ParaView. URL: http://www.paraview.org/
[113] Strang G, Fix GJ (1973) An analysis of the finite element method. Prentice-Hall, Englewood Cliffs · Zbl 0356.65096
[114] Tecplot (2006) URL: http://www.tecplot.com/
[115] The Mathworks (2006) MATLAB. URL: http://www.mathworks.com/products/matlab/
[116] Whaley RC, Dongarra J (1997) Automatically tuned linear algebra software. Tech rep UT-CS-97-366, University of Tennessee, December. URL: http://www.netlib.org/lapack/lawns/lawn131.ps
[117] Whaley RC, Dongarra J, et al (2006) ATLAS. URL: http://math-atlas.sourceforge.net/
[118] Whaley RC, Petitet A, Dongarra JJ (2001) Automated empirical optimization of software and the ATLAS project. Parallel Comput. 27–35. Also available as University of Tennessee LAPACK Working Note #147, UT-CS-00-448, 2000 ( www.netlib.org/lapack/lawns/lawn147.ps )
[119] Zienkiewicz OC, Taylor RL, Zhu JZ (2005) The finite element method–its basis and fundamentals, 6th edn. Elsevier, Amsterdam, first published in 1976
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.