# Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book

@inproceedings{Logg2012AutomatedSO, title={Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book}, author={Anders Logg and Kent-Andr{\'e} Mardal and Garth N. Wells}, year={2012} }

This book is a tutorial written by researchers and developers behind the FEniCS Project and explores an advanced, expressive approach to the development of mathematical software. The presentation spans mathematical background, software design and the use of FEniCS in applications. Theoretical aspects are complemented with computer code which is available as free/open source software. The book begins with a special introductory tutorial for beginners. Followingare chapters in Part I addressing… Expand

#### Figures, Tables, and Topics from this paper

figure 1.1 figure 1.2 figure 1.3 figure 1.4 figure 1.5 figure 1.7 figure 1.8 figure 1.9 figure 2.1 figure 2.2 figure 2.3 figure 2.4 figure 2.6 figure 2.7 figure 2.8 table 3.1 figure 3.10 figure 3.11 figure 3.14 figure 3.15 figure 3.16 figure 3.17 figure 3.2 table 3.2 figure 3.3 figure 3.4 figure 3.5 figure 3.6 figure 3.7 figure 3.9 figure 4.1 figure 4.2 figure 4.4 figure 4.5 figure 5.1 figure 5.2 figure 6.1 figure 7.1 table 7.1 figure 7.2 table 7.2 figure 7.3 table 7.3 figure 7.4 figure 7.5 figure 7.6 figure 7.7 figure 8.1 table 8.1 table 8.2 table 9.1 table 9.2 figure 10.1 table 10.1 figure 10.2 table 10.2 figure 10.3 table 10.3 figure 10.4 table 10.4 figure 10.5 table 10.5 figure 10.6 figure 10.7 figure 10.8 figure 11.10 figure 11.2 figure 11.4 figure 11.5 figure 11.6 figure 11.7 figure 11.8 figure 11.9 figure 12.1 figure 12.2 figure 12.3 figure 12.4 figure 12.5 figure 12.6 figure 12.7 figure 12.8 figure 13.1 figure 13.2 figure 13.3 table 14.1 figure 14.1 table 14.2 table 15.1 figure 16.1 figure 16.2 figure 16.3 figure 16.5 figure 16.6 figure 16.8 figure 17.1 figure 17.2 figure 17.3 figure 17.4 figure 18.11 figure 18.12 figure 18.14 figure 18.15 figure 18.17 figure 18.18 figure 18.19 figure 18.2 figure 18.4 figure 18.5 figure 18.6 figure 18.7 figure 18.8 figure 18.9 table 20.1 figure 20.10 figure 20.11 figure 20.12 figure 20.13 figure 20.14 figure 20.15 figure 20.17 figure 20.2 table 20.2 table 20.3 figure 20.4 figure 20.7 figure 20.8 figure 20.9 figure 21.1 figure 21.10 figure 21.11 figure 21.12 figure 21.13 figure 21.14 figure 21.15 figure 21.16 figure 21.18 figure 21.19 figure 21.2 figure 21.20 figure 21.21 figure 21.3 figure 21.4 figure 21.5 figure 21.6 figure 21.8 figure 21.9 table 22.1 figure 22.1 figure 22.2 figure 22.3 figure 22.4 figure 22.5 figure 22.6 figure 23.1 table 23.1 figure 23.11 figure 23.13 figure 23.14 figure 23.15 figure 23.17 figure 23.18 figure 23.2 table 23.2 figure 23.3 table 23.3 figure 23.4 figure 23.6 figure 23.7 figure 23.8 figure 23.9 figure 24.1 table 24.1 figure 24.2 table 24.2 figure 24.3 table 24.3 figure 24.4 figure 24.5 figure 24.6 figure 24.7 figure 24.8 figure 25.1 figure 25.10 figure 25.11 figure 25.12 figure 25.13 figure 25.14 figure 25.15 figure 25.16 figure 25.17 figure 25.18 figure 25.19 figure 25.20 figure 25.24 figure 25.25 figure 25.26 figure 25.28 figure 25.3 figure 25.31 figure 25.32 figure 25.5 figure 25.6 figure 25.8 figure 25.9 table 26.1 figure 26.1 figure 26.2 figure 26.3 figure 26.4 figure 26.5 figure 26.6 figure 26.7 figure 26.8 figure 27.1 figure 27.10 figure 27.11 figure 27.12 figure 27.13 figure 27.14 figure 27.15 figure 27.16 figure 27.2 table 27.2 figure 27.3 figure 27.4 figure 27.5 figure 27.7 figure 27.8 figure 28.1 table 28.1 figure 28.2 figure 28.3 figure 28.4 figure 28.6 figure 28.8 figure 28.9 figure 29.1 figure 29.10 figure 29.13 figure 29.14 figure 29.2 figure 29.3 figure 29.4 figure 29.5 figure 29.6 figure 29.7 figure 29.8 figure 29.9 figure 30.1 figure 30.2 figure 30.3 figure 30.4 figure 30.6 figure 30.8 figure 31.1 table 31.1 figure 31.2 figure 31.3 figure 31.4 figure 31.5 figure 31.6 figure 31.7 figure 31.8 figure 31.9 figure 32.1 figure 32.2 figure 32.3 figure 32.4 figure 32.6 figure 33.1 figure 33.2 figure 33.3 figure 33.4 figure 33.5 figure 33.6 figure 34.1 table 34.1 figure 34.10 figure 34.11 figure 34.12 figure 34.2 figure 34.3 figure 34.4 figure 34.6 figure 34.8 figure 35.1 table 35.1 table 35.2 table 35.3 table 35.4 figure 36.1 figure 36.2

#### Paper Mentions

#### 1,864 Citations

SOLVING ELECTROMAGNETIC WAVE PROPAGATION PROBLEMS USING FENICS

- Computer Science
- 2012

The FEniCS software can easily be used to solve the Maxwell wave equation and with the help of the dolfin-adjoint library, also backward problems, such as inverse electromagnetic scattering, can be solved using this software. Expand

Automating the solution of PDEs on the sphere and other manifolds in FEniCS 1.2

- Mathematics
- 2013

Abstract. Differential equations posed over immersed manifolds are of particular importance in studying geophysical flows; for instance, ocean and atmosphere simulations crucially rely on the… Expand

Automated Derivation of the Adjoint of High-Level Transient Finite Element Programs

- Computer Science, Mathematics
- SIAM J. Sci. Comput.
- 2013

A new technique for deriving discrete adjoint and tangent linear models of a finite element model using the FEniCS finite element form compiler, which is significantly more efficient and automatic than standard algorithmic differentiation techniques. Expand

GRINS: A Multiphysics Framework Based on the libMesh Finite Element Library

- Computer Science, Mathematics
- SIAM J. Sci. Comput.
- 2016

This work describes a flexible C++ software framework, built on the libMesh finite element library, designed to alleviate developer burden and provide easy access to modern computational algorithms, including quantity-of-interest-driven parallel adaptive mesh refinement on unstructured grids and adjoint-based sensitivities. Expand

Automated Solution of Partial Differential Equations with Discontinuities using the Partition of Unity Method

- Computer Science
- 2012

The automatic code generation has been extended to support developing models for problems with discontinuities in the context of the FEniCS project, an open source project in the Automation of Computational Mathematical Modelling (ACMM). Expand

Automated derivation of the adjoint of high-level transient finite element programs

- Computer Science
- ArXiv
- 2012

The approach to automated adjoint derivation relies on run-time annotation of the temporal structure of the model, and employs the FEniCS finite element form compiler to automatically generate the low-level code for the derived models. Expand

FEniCS Framework in Geoscientific Applications

- 2011

The FEniCS Project is an open source finite element framework for solving PDEs. The advantage of this framework is a tight connection between the mathematical model, the associated variational… Expand

Automatic differentiation for solid mechanics

- Computer Science, Mathematics
- ArXiv
- 2020

This paper uses automatic differentiation for stating and solving solid mechanics problems, and makes use of AD for directly obtaining the residual force vector and the tangent stiffness matrix of the problem, as the gradient and the Hessian of the free energy respectively. Expand

Periodic Table of the Finite Elements

- Mathematics
- 2014

The finite element method is one of the most powerful and widely applicable techniques for the numerical solution of partial differential equations and, therefore, for the simulation of the physical… Expand

Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, Part II: Application to partial differential equations

- Computer Science
- Sci. Program.
- 2012

The implementation details for using the template-based generic programming approach for simulation and analysis of partial differential equations (PDEs) are described and several of the hurdles that have encountered are detailed. Expand

#### References

SHOWING 1-10 OF 394 REFERENCES

A FEniCS-Based Programming Framework for Modeling Turbulent Flow by the Reynolds-Averaged Navier-Stokes Equations

- Mathematics, Computer Science
- ArXiv
- 2011

The design and implementation of a flexible, programmable software framework for assisting with numerical experiments in computational turbulence and the impact of various linearizations on the convergence properties of nonlinear solvers for a Reynolds-averaged Navier–Stokes model are investigated. Expand

DOLFIN: Automated finite element computing

- Computer Science
- TOMS
- 2010

A library aimed at automating the solution of partial differential equations using the finite element method, from which low-level code is automatically generated, compiled and seamlessly integrated with efficient implementations of computational meshes and high-performance linear algebra. Expand

Finite-Element Model for Modified Boussinesq Equations. I: Model Development

- Mathematics
- 2004

This paper and its companion paper describe the development of a finite-element model based on modified Boussinesq equations and the applications of the model to harbor resonance problems. This first… Expand

Automating the Finite Element Method

- Mathematics
- 2007

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… Expand

A finite element method for the two‐dimensional extended Boussinesq equations

- Mathematics
- 2002

A new numerical method for Nwogu's (ASCE Journal of Waterway, Port, Coastal and Ocean Engineering 1993; 119:618)two-dimensional extended Boussinesq equations is presented using a linear triangular… Expand

Automated FEM discretizations for the Stokes equation

- Mathematics
- 2008

Current FEM software projects have made significant advances in various automated modeling techniques. We present some of the mathematical abstractions employed by these projects that allow a user to… Expand

A numerical solution of the Navier-Stokes equations using the finite element technique

- Mathematics
- 1973

Abstract The finite element discretisation technique is used to effect a solution of the Navier- Stokes equations. Two methods of formulation are presented, and a comparison of the effeciency of the… Expand

Computational Methods for Geodynamics

- Geology
- 2010

Written as both a textbook and a handy reference, this text deliberately avoids complex mathematics assuming only basic familiarity with geodynamic theory and calculus. Here, the authors have brought… Expand

Automated Modelling of Evolving Discontinuities

- Computer Science
- Algorithms
- 2009

The automated approximation of solutions to differential equations which involve discontinuities across evolving surfaces is addressed by exploring the scope for employing automated code generation techniques for modelling discontinUities. Expand

An Introduction to Multigrid Methods

- Mathematics
- 1992

These notes were written for an introductory course on the application of multigrid methods to elliptic and hyperbolic partial differential equations for engineers, physicists and applied… Expand