Automated Solution of Differential Equations by the Finite Element Method : The FEniCS Book This book is 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 tutorial for readers who are new to the topic. Following the tutorial chapters in Part I address fundamental aspects of the approach to automating the creation of finite element solvers. Chapters in Part II address the design and implementation of the FEnicS software. Chapters in Part III present the application of FEniCS to a wide range of applications including fluid flow solid mechanics electromagnetics and geophysics.