Abstract
This article presents an overview of a unified framework for finite element and spectral element methods in 1D, 2D and 3D in C++ called Life. The objectives of this framework are quite ambitious and could be expressed in various ways: (i) the creation of a versatile mathematical kernel allowing for easily solving problems using different techniques thus allowing testing and comparing methods, e.g. cG versus dG, (ii) the creation of a small and manageable library which shall nevertheless encompass a wide range of numerical methods and techniques, and (iii) build mathematical software that follows closely the mathematical abstractions associated with the partial differential equations to be solved.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lifev: a finite element library, http://www.lifev.org
Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. C++ in Depth Series. Addison-Wesley Professional (2004)
Aubert, P., Di Césaré, N.: Expression templates and forward mode automatic differentiation. In: Corliss, G., Faure, C., Griewank, A., Hascoët, L., Naumann, U. (eds.) Automatic Differentiation of Algorithms: From Simulation to Optimization, Computer and Information Science. ch. 37, pp. 311–315. Springer, New York (2001)
Aubert, P., Di Césaré, N., Pironneau, O.: Automatic differentiation in C++ using expression templates and application to a flow control problem. Computing and Visualisation in Sciences 3(4), 197–208 (2001)
Bagheri, B., Scott, R.: Analysa (2003), http://people.cs.uchicago.edu/~ridg/al/aa.ps
Bailey, D.H., Hida, Y., Jeyabalan, K., Li, X.S., Thompson, B.: C++/fortran-90 arbitrary precision package, http://crd.lbl.gov/~dhbailey/mpdist/
Balay, S., Buschelman, K., Eijkhout, V., Gropp, W.D., Kaushik, D., Knepley, M.G., McInnes, L.C., Smith, B.F., Zhang, H.: PETSc users manual, Technical Report ANL-95/11 - Revision 2.1.5, Argonne National Laboratory (2004)
Bangerth, W., Hartmann, R., Kanschat, G.: deal.II Differential Equations Analysis Library, Technical Reference, http://www.dealii.org
Dular, P., Geuzaine, C.: Getdp: a general environment for the treatment of discrete problems, http://www.geuz.org/getdp
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley Professional Computing Series. Addison Wesley, London (1995)
Hecht, F., Pironneau, O.: FreeFEM++ Manual. Laboratoire Jacques Louis Lions (2005)
Heroux, M.A., Bartlett, R.A., Howle, V.E., Hoekstra, R.J., Hu, J.J., Kolda, T.G., Lehoucq, R.B., Long, K.R., Pawlowski, R.P., Phipps, E.T., Salinger, A.G., Thornquist, H.K., Tuminaro, R.S., Willenbring, J.M., Williams, A., Stanley, K.S.: An overview of the trilinos project. ACM Trans. Math. Softw. 31(3), 397–423 (2005)
Hida, Y., Li, X.S., Bailey, D.H.: Quad-double arithmetic: Algorithms, implementation, and application. Technical Report LBNL-46996, Lawrence Berkeley National Laboratory, Berkeley, CA 9472 (October 2000), http://crd.lbl.gov/~dhbailey/mpdist/
Karniadakis, G.E., Sherwin, S.J.: Spectral/hp element methods for CFD. In: Numerical Mathematics and Scientific Computation, Oxford University Press, New York (2005)
Karypis, G., Kumar, V.: Parallel Multilevel k-way Partitioning Schemes for Irregular Graphs. Technical Report 036, Minneapolis, MN 55454 (May 1996)
Kirby, R.C.: Algorithm 839: Fiat - a new paradigm for computing finite element basis functions. ACM Trans. Math. Software 30(4), 502–516 (2004)
Kirby, R.C.: Optimizing fiat with level 3 blas. ACM Trans. Math. Software (2005)
Kirby, R.C., Logg, A.: A compiler for variational forms. Technical report, Chalmers Finite Element Center (May 2005), www.phi.chalmers.se/preprints
Logg, A., Hoffman, J., Kirby, R.C., Jansson, J.: Fenics (2005), http://www.fenics.org/
Long, K.: Sundance: Rapid development of high-performance parallel finite-element solutions of partial differential equations, http://software.sandia.gov/sundance/
Di Pietro, D.A., Veneziani, A.: Expression templates implementation of continuous and discontinuous galerkin methods. Computing and Visualization in Science 2005 (submitted)
Pino, S.D., Pironneau, O.: FreeFEM3D Manual. Laboratoire Jacques Louis Lions (2005)
Prud’homme, C.: A domain specific embedded language in c++ for automatic differentiation, projection, integration and variational formulations. Scientific Programming 14(2), 81–110 (2006)
Renard, Y., Pommier, J.: Getfem++: Generic and efficient c++ library for finite element methods elementary computations, http://www-gmm.insa-toulouse.fr/getfem/
Warburton, T.: An explicit construction for interpolation nodes on the simplex. Journal of Engineering Mathematics 2005 (submitted)
Veldhuizen, T.: Using C++ template metaprograms 7(4), 36–43 (1995) (S. Lippman (ed.) Reprinted in C++ Gems)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Prud’homme, C. (2007). Life: Overview of a Unified C++ Implementation of the Finite and Spectral Element Methods in 1D, 2D and 3D. In: Kågström, B., Elmroth, E., Dongarra, J., Waśniewski, J. (eds) Applied Parallel Computing. State of the Art in Scientific Computing. PARA 2006. Lecture Notes in Computer Science, vol 4699. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75755-9_87
Download citation
DOI: https://doi.org/10.1007/978-3-540-75755-9_87
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75754-2
Online ISBN: 978-3-540-75755-9
eBook Packages: Computer ScienceComputer Science (R0)