Skip to main content
Article thumbnail
Location of Repository

DOLFIN: Automated Finite Element Computing

By Anders Logg and G N Wells


We describe here a library aimed at automating the solution of partial differential equations using the finite element method. By employing novel techniques for automated code generation, the library combines a high level of expressiveness with efficient computation. Finite element variational forms may be expressed in near mathematical notation, from which low-level code is automatically generated, compiled and seamlessly integrated with efficient implementations of computational meshes and high-performance linear algebra. Easy-to-use object-oriented interfaces to the library are provided in the form of a C++ library and a Python module. This paper discusses the mathematical abstractions and methods used in the design of the library and its implementation. A number of examples are presented to demonstrate the use of the library in application code

Year: 2009
OAI identifier:
Provided by: Apollo

Suggested articles


  1. (2006). A compiler for variational forms. doi
  2. (2009). A compiler framework for automatic linearization and efficient discretization of nonlinear partial differential equations.
  3. (2004). Algorithm 832: UMFPACK v4.3—an unsymmetric-pattern multifrontal method. doi
  4. (2008). Algorithm 887: CHOLMOD, supernodal sparse Cholesky factorization and update/downdate. doi
  5. (2005). An overview of the Trilinos project. doi
  6. (2008). Automated code generation for discontinuous Galerkin methods. doi
  7. (2008). Automated computational modelling for solid mechanics. doi
  8. (2009). Automated modelling of evolving discontinuities. doi
  9. (2003). Automated scientific software scripting with SWIG. doi
  10. (2007). Automating the finite element method. doi
  11. (1973). Conforming and nonconforming finite element methods for solving the stationary stokes equations. doi
  12. (2007). deal.II — A general purpose object oriented finite element library. doi
  13. (2009). Efficient assembly of H(div) and H(curl) conforming finite elements. doi
  14. (2007). Efficient compilation of a class of variational forms. doi
  15. (1987). Efficient rectangular mixed finite elements in two and three space variables. doi
  16. (2009). Efficient representation of computational meshes. doi
  17. (2002). Generic programming for mesh algorithms: Towards universally usable geometric components.
  18. (2009). GetDP: A general environment for the treatment of discrete problems. doi
  19. (2006). GrAL – The grid algorithms library. doi
  20. (2007). Life: Overview of a unified C++ implementation of the finite and spectral element methods in 1D, 2D and 3D. doi
  21. (1991). Local modification of meshes for adaptive and/or multigrid finite-element methods. doi
  22. (2009). Mesh algorithms for PDE with Sieve I: Mesh distribution. doi
  23. (1991). Mixed and Hybrid Finite Element Methods. doi
  24. (1980). Mixed finite elements in R3.
  25. (2008). Modelling temperature effects on multiphase flow through porous media. doi
  26. (2004). Month 20YY.DOLFIN: Automated Finite Element
  27. (2010). On the efficiency of symbolic computations combined with code generation for finite element methods. doi
  28. (2010). Optimisations for quadrature representations of finite element tensors through automated code generation. doi
  29. (2005). Optimizing the evaluation of finite element matrices. doi
  30. (2009). PETSc Web page. doi
  31. (1977). Primal hybrid finite element methods for 2nd order elliptic equations. doi
  32. Simplified Wrapper and Interface Generator
  33. (2006). Topological optimization of the evaluation of finite element matrices. doi
  34. (1985). Two families of mixed finite elements for second order elliptic problems. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.