skip to main content
article

deal.II—A general-purpose object-oriented finite element library

Published: 15 August 2007 Publication History

Abstract

An overview of the software design and data abstraction decisions chosen for deal.II, a general purpose finite element library written in C++, is given. The library uses advanced object-oriented and data encapsulation techniques to break finite element implementations into smaller blocks that can be arranged to fit users requirements. Through this approach, deal.II supports a large number of different applications covering a wide range of scientific areas, programming methodologies, and application-specific algorithms, without imposing a rigid framework into which they have to fit. A judicious use of programming techniques allows us to avoid the computational costs frequently associated with abstract object-oriented class libraries.
The paper presents a detailed description of the abstractions chosen for defining geometric information of meshes and the handling of degrees of freedom associated with finite element spaces, as well as of linear algebra, input/output capabilities and of interfaces to other software, such as visualization tools. Finally, some results obtained with applications built atop deal.II are shown to demonstrate the powerful capabilities of this toolbox.

References

[1]
Anderson, E., Bai, Z., Bischof, C., Blackford, S., Demmel, J., Dongarra, J., Greenbaum, A., Hammarling, S., McKenney, A., and Sorensen, D. 1999. LAPACK User's Guide 3rd Ed. Software - Environments - Tools, Vol. 9. SIAM.
[2]
Balay, S., Buschelman, K., Eijkhout, V., Gropp, W. D., Kaushik, D., Knepley, M. G., McInnes, L. C., Smith, B. F., and Zhang, H. 2004. PETSc users manual. Tech. rep. ANL-95/11 - Revision 2.1.5, Argonne National Laboratory.
[3]
Bangerth, W. 2000. Using modern features of C++ for adaptive finite element methods: Dimension-independent programming in deal.II. In Proceedings of the 16th IMACS World Congress, Lausanne, Switzerland, M. Deville and R. Owens, Eds. IMACS---Department of Computer Science, Rutgers University, New Brunswick. Document Sessions/118-1.
[4]
Bangerth, W. 2004. A framework for the adaptive finite element solution of large inverse problems. I. Basic techniques. Tech. rep. 04-39, Institute for Computational Engineering and Sciences (ICES), University of Texas at Austin.
[5]
Bangerth, W., Joshi, A., and Sevick-Muraca, E. M. 2005. Adaptive finite element methods for increased resolution in fluorescence optical tomography. Progr. Biomed. Optics Imag. 6, 318--329.
[6]
Bangerth, W. and Kayser-Herold, O. 2007. Data structures and requirements for hp finite element software. In Preparation.
[7]
Bangerth, W. and Rannacher, R. 2003. Adaptive Finite Element Methods for Solving Differential Equations. Birkhäuser, Basel.
[8]
Bank, R. E. 1998. PLTMG: a software package for solving elliptic partial differential equations. Users' Guide 8.0. SIAM, Philadelphia, PA.
[9]
Becker, R. and Rannacher, R. 1998. Weighted a posteriori error control in FE methods. In Proceedings of ENUMATH 95, H. G. Bock et al., Eds. World Scientific.
[10]
Bornemann, F., Erdmann, B., and Kornhuber, R. 1993. Adaptive multilevel methods in three space dimensions. Int. J. Numer. Meth. Engrg. 36, 3187--3203.
[11]
Bramble, J. H. 1993. Multigrid Methods. Longman, Publishing.
[12]
Brenner, S. C. and Scott, R. L. 2002. The Mathematical Theory of Finite Elements, 2nd ed. Springer-Verlag, Berlin, Germany.
[13]
Brezzi, F. and Fortin, M. 1991. Mixed and Hybrid Finite Element Methods. Springer-Verlarg, Berlin, Germany.
[14]
Castillo, P., Rieben, R., and White, D. 2005. FEMSTER: An object-oriented class library of higher-order discrete differential forms. ACM Trans. Math. Software 31, 425--457.
[15]
Ciarlet, P. G. 1978. The Finite Element Method for Elliptic Problems. North-Holland.
[16]
Davis, T. A. 2004. Algorithm 832: UMFPACK V4.3---an unsymmetric-pattern multifrontal method. ACM Trans. Math. Softw. 30, 2, 196--199.
[17]
Formaggia, L., Gerbeau, J.-F., and Prud'homme, C. 2004. LifeV developer manual. Tech. rep., EPFL/INRIA/Polytecnico Di Milano. http://www.lifev.org/.
[18]
Gopalakrishnan, J. and Kanschat, G. 2003. A multilevel discontinuous Galerkin method. Numer. Math. 95, 3, 527--550.
[19]
Hackbusch, W. 1985. Multi-Grid Methods and Applications. Springer-Verlag, Berlin, Germany.
[20]
Hartmann, R. 2002. Adaptive finite element methods for the compressible euler equations. Ph.D. thesis, University of Heidelberg.
[21]
Hartmann, R. 2006. Adaptive discontinuous Galerkin methods with shock-capturing for the compressible Navier-Stokes equations. Int. J. Numer. Meth. Fluids. To appear.
[22]
Hartmann, R. and Houston, P. 2006a. Symmetric interior penalty DG methods for the compressible Navier--Stokes equations I: Method formulation. Int. J. Num. Anal. Model. 3, 1, 1--20.
[23]
Hartmann, R. and Houston, P. 2006b. Symmetric interior penalty DG methods for the compressible Navier--Stokes equations II: Goal--oriented a posteriori error estimation. Int. J. Num. Anal. Model. 3, 2, 141--162.
[24]
Hecht, F., Pironneau, O., Le Hyaric, A., and Ohtsuka, K. 2006. Freefem++. Tech. rep., Université Pierre et Marie Curie, Paris, France. http://http://www-gmm.insa-toulouse.fr/getfem/.
[25]
HSL 2004. The Harwell Subroutine Library. http://www.cse.clrc.ac.uk/Activity/HSL.
[26]
Joshi, A., Bangerth, W., Hwang, K., Rasmussen, J. C., and Sevick-Muraca, E. M. 2006. Fully adaptive FEM based fluorescence optical tomography from time-dependent measurements with area illumination and detection. Med. Phys. 33, 5, 1299--1310.
[27]
Joshi, A., Bangerth, W., and Sevick-Muraca, E. M. 2004. Adaptive finite element modeling of optical fluorescence-enhanced tomography. Optics Express 12, 5402--5417.
[28]
Kanschat, G. 1996. Parallel and adaptive Galerkin methods for radiative transfer problems. Ph.D. thesis, Universität Heidelberg. Preprint SFB 359, 1996-29.
[29]
Kanschat, G. 2004. Multi-level methods for discontinuous Galerkin FEM on locally refined meshes. Comput. Struct. 82, 28, 2437--2445.
[30]
Kanschat, G. 2005. Block preconditioners for LDG discretizations of linear incompressible flow problems. J. Sci. Comput. 22, 1, 381--394.
[31]
Kanschat, G. 2006. Discontinuous Galerkin Methods for Viscous Flow Problems. Teubner. To Appear.
[32]
Karypis, G. 2006. METIS -- Serial graph partitioning and fill-reducing matrix ordering. glaros.dtc.umn.edu/gkhome/views/metis/index.html.
[33]
Kirk, B., Peterson, J. W., Stogner, R., and Petersen, S. 2006. The libmesh finite element library. http://libmesh.sourceforge.net.
[34]
Langtangen, H. P. 2003. Computational Partial Differential Equations: Numerical Methods and Diffpack Programming. Texts in Computational Science and Engineering. Springer-Verlag, Berlin, Germany.
[35]
Patzák, B. and Bittnar, Z. 2001. Design of object oriented finite element code. Advan. Engin. Softw. 32, 10--11, 759--767.
[36]
Pátzak, B. and Bittnar, Z. 2001. Design of object oriented finite element code. Adv. Engrg. Softw. 32, 759--767.
[37]
Plauger, P. J., Stepanov, A. A., Lee, M., and Musser, D. R. 2000. The C++ Standard Template Library. Prentice Hall.
[38]
Rheinboldt, W. C. and Mesztenyi, C. K. 1980. On a data structure for adaptive finite element mesh refinements. ACM Trans. Math. Softw. 6, 166--187.
[39]
Schroeder, W., Martin, K., and Lorensen, B. 2004. The Visualization Toolkit: An Object-Oriented Approach To 3D Graphics, 3rd ed. Kitware Inc.
[40]
Stepanov, A. A. and Lee, M. 1995. The standard template library. Tech. rep. HPL-95-11, HP Labs.
[41]
Stroustrup, B. 1997. The C++ Programming Language, 3rd ed. Addison-Wesley.
[42]
Suttmeier, F.-T. 1996. Adaptive finite element approximation of problems in elasto-plasticity theory. Ph.D. thesis, Universität Heidelberg.
[43]
van Heesch, D. 2006. Doxygen. www.doxygen.org.

Cited By

View all
  • (2025)t8code - modular adaptive mesh refinement in the exascale eraJournal of Open Source Software10.21105/joss.0688710:106(6887)Online publication date: Feb-2025
  • (2025) Anisotropy of the fracture toughness in -HMX crystals: A computational study Mechanics of Materials10.1016/j.mechmat.2025.105242202(105242)Online publication date: Mar-2025
  • (2025)Asymptotic-preserving IMEX schemes for the Euler equations of non-ideal gasesJournal of Computational Physics10.1016/j.jcp.2025.113889(113889)Online publication date: Feb-2025
  • Show More Cited By

Index Terms

  1. deal.II—A general-purpose object-oriented finite element library

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Mathematical Software
      ACM Transactions on Mathematical Software  Volume 33, Issue 4
      August 2007
      147 pages
      ISSN:0098-3500
      EISSN:1557-7295
      DOI:10.1145/1268776
      Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 15 August 2007
      Published in TOMS Volume 33, Issue 4

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Object-orientation
      2. software design

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)145
      • Downloads (Last 6 weeks)7
      Reflects downloads up to 22 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2025)t8code - modular adaptive mesh refinement in the exascale eraJournal of Open Source Software10.21105/joss.0688710:106(6887)Online publication date: Feb-2025
      • (2025) Anisotropy of the fracture toughness in -HMX crystals: A computational study Mechanics of Materials10.1016/j.mechmat.2025.105242202(105242)Online publication date: Mar-2025
      • (2025)Asymptotic-preserving IMEX schemes for the Euler equations of non-ideal gasesJournal of Computational Physics10.1016/j.jcp.2025.113889(113889)Online publication date: Feb-2025
      • (2025)Discontinuous Galerkin simulation of sliding geometries using a point-to-point interpolation techniqueJournal of Computational Physics10.1016/j.jcp.2025.113734524(113734)Online publication date: Mar-2025
      • (2025)Modelling the influence of moisture on the mechanical behaviour of crosslinked polyurethane adhesivesComputational Materials Science10.1016/j.commatsci.2024.113442246(113442)Online publication date: Jan-2025
      • (2025)Multiscale mortar mixed finite element methods for the Biot system of poroelasticityComputer Methods in Applied Mechanics and Engineering10.1016/j.cma.2024.117597435(117597)Online publication date: Feb-2025
      • (2025)Robust pore-resolved CFD through porous monoliths reconstructed by micro-computed tomography: From digitization to flow predictionChemical Engineering Journal10.1016/j.cej.2024.158577504(158577)Online publication date: Jan-2025
      • (2025)Reduced-order modeling of neutron transport separated in axial and radial space by Proper Generalized Decomposition with applications to nuclear reactor physicsAnnals of Nuclear Energy10.1016/j.anucene.2024.111162213(111162)Online publication date: Apr-2025
      • (2025)Strong Norm Error Bounds for Quasilinear Wave Equations Under Weak CFL-Type ConditionsFoundations of Computational Mathematics10.1007/s10208-024-09639-w25:1(303-350)Online publication date: 1-Feb-2025
      • (2025)MPhys: a modular multiphysics library for coupled simulation and adjoint derivative computationStructural and Multidisciplinary Optimization10.1007/s00158-024-03900-068:1Online publication date: 8-Jan-2025
      • Show More Cited By

      View Options

      Login options

      Full Access

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media