Skip to main content

Life: Overview of a Unified C++ Implementation of the Finite and Spectral Element Methods in 1D, 2D and 3D

  • Conference paper
Applied Parallel Computing. State of the Art in Scientific Computing (PARA 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4699))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lifev: a finite element library, http://www.lifev.org

  2. Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. C++ in Depth Series. Addison-Wesley Professional (2004)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Article  MATH  Google Scholar 

  5. Bagheri, B., Scott, R.: Analysa (2003), http://people.cs.uchicago.edu/~ridg/al/aa.ps

  6. Bailey, D.H., Hida, Y., Jeyabalan, K., Li, X.S., Thompson, B.: C++/fortran-90 arbitrary precision package, http://crd.lbl.gov/~dhbailey/mpdist/

  7. 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)

    Google Scholar 

  8. Bangerth, W., Hartmann, R., Kanschat, G.: deal.II Differential Equations Analysis Library, Technical Reference, http://www.dealii.org

  9. Dular, P., Geuzaine, C.: Getdp: a general environment for the treatment of discrete problems, http://www.geuz.org/getdp

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley Professional Computing Series. Addison Wesley, London (1995)

    Google Scholar 

  11. Hecht, F., Pironneau, O.: FreeFEM++ Manual. Laboratoire Jacques Louis Lions (2005)

    Google Scholar 

  12. 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)

    Article  MathSciNet  Google Scholar 

  13. 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/

  14. Karniadakis, G.E., Sherwin, S.J.: Spectral/hp element methods for CFD. In: Numerical Mathematics and Scientific Computation, Oxford University Press, New York (2005)

    Google Scholar 

  15. Karypis, G., Kumar, V.: Parallel Multilevel k-way Partitioning Schemes for Irregular Graphs. Technical Report 036, Minneapolis, MN 55454 (May 1996)

    Google Scholar 

  16. Kirby, R.C.: Algorithm 839: Fiat - a new paradigm for computing finite element basis functions. ACM Trans. Math. Software 30(4), 502–516 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  17. Kirby, R.C.: Optimizing fiat with level 3 blas. ACM Trans. Math. Software (2005)

    Google Scholar 

  18. Kirby, R.C., Logg, A.: A compiler for variational forms. Technical report, Chalmers Finite Element Center (May 2005), www.phi.chalmers.se/preprints

  19. Logg, A., Hoffman, J., Kirby, R.C., Jansson, J.: Fenics (2005), http://www.fenics.org/

  20. Long, K.: Sundance: Rapid development of high-performance parallel finite-element solutions of partial differential equations, http://software.sandia.gov/sundance/

  21. Di Pietro, D.A., Veneziani, A.: Expression templates implementation of continuous and discontinuous galerkin methods. Computing and Visualization in Science 2005 (submitted)

    Google Scholar 

  22. Pino, S.D., Pironneau, O.: FreeFEM3D Manual. Laboratoire Jacques Louis Lions (2005)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Renard, Y., Pommier, J.: Getfem++: Generic and efficient c++ library for finite element methods elementary computations, http://www-gmm.insa-toulouse.fr/getfem/

  25. Warburton, T.: An explicit construction for interpolation nodes on the simplex. Journal of Engineering Mathematics 2005 (submitted)

    Google Scholar 

  26. Veldhuizen, T.: Using C++ template metaprograms 7(4), 36–43 (1995) (S. Lippman (ed.) Reprinted in C++ Gems)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bo Kågström Erik Elmroth Jack Dongarra Jerzy Waśniewski

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics