Based on the well-liked FEniCS software library, this book provides a succinct and gentle introduction to finite element programming in Python.

It walks readers through the necessary steps to quickly solve a PDE in FEniCS, such as how to define a finite variational problem, how to set boundary conditions, how to solve linear and nonlinear systems, how to visualize solutions, and how to structure finite element PDEs, using a variety of examples, such as the Poisson equation, the equations of linear elasticity, the incompressible Navier-Stokes equations, and systems of the nonlinear advection

A CC BY license allows for open access to this book.