Introduction to Automated Modeling with FEniCS explores
solution of partial differential equations via the finite
element method. It illustrates the use of automated software
generation via the FEniCS Project systems. The book reviews
most common types of partial differential equations arising
in technical simulation. It is ideal for engineers and for
computational and applied mathematicians.
PDEs are used pervasively in science, engineering, and technology
to model phenomena of interest. The most widely used technique
to convert a PDE into a computable form is the finite element method.
This book is primarily about PDEs as they are used in models. Our
emphasis is on the diversity of PDEs that occur in practice, their
features and their foibles. Our intent is to enable exploration
of new models and to show how easily this can be done. However,
this approach is not without caveats. We describe pitfalls in various
aspects of the use of PDE models. We show how to be sure that a PDE
model is well posed in many cases. In particular, we use this theory
to understand appropriate boundary conditions.
Secondarily, the book introduces basic concepts of numerical methods
for approximating the solutions of PDEs. This is done so that the
language used by software from the FEniCS Project can be properly
understood. We limit the discussion of numerical methods as much as
possible, except when it is essential to avoid catastrophes.
A tertiary objective is to present some examples of the modeling
process. One important type of model is derived by specializing a
more general model. An important example of this is the plate model
in structural mechanics. We show how the plate model is derived from
the general elasticity model and indicate some issues that arise
related to it. When relevant, we explain other modeling approaches as
well. Ultimately, FEniCS can support an automated approach to modeling.