The essential information about the FEniCS package, from the point of view of a user, is obtained in the book [LL17]. If you want to get internal knowledge of FEniCS, refer to the monograph [LMW+12] that treats extensively the subject of FEniCS implementation. In there, you can moreover find applications of FEniCS to a wide range of problems, including fluid flow, solid mechanics, electromagnetics, and geophysics.

Finite element method

Introduction to the method, solving techniques and applications in solid mechanics are covered in the book [Bra07]. The essential reference for the theory of finite element method for elliptic problems is the exhaustive treatement [Cia02].

Mathematical theory of elasticity

The basic reference, which we also consulted about the theoretical aspects of our course, is the book [Cia94].

[Bra07]Dietrich Braess. Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics. Cambridge University Press, 3 edition, 2007. doi:10.1017/CBO9780511618635.
[Cia94]P.G. Ciarlet. Three-Dimensional Elasticity. Mathematical Elasticity. Elsevier Science, 1994. ISBN 9780444817761. URL:
[Cia02]P.G. Ciarlet. The Finite Element Method for Elliptic Problems. Classics in Applied Mathematics. Society for Industrial and Applied Mathematics, 2002. ISBN 9780898715149. URL:
[LL17]Hans Petter Langtangen and Anders Logg. Solving PDEs in Python. Springer, 2017. ISBN 978-3-319-52461-0. doi:10.1007/978-3-319-52462-7.
[LMW+12]Anders Logg, Kent-Andre Mardal, Garth N. Wells, and others. Automated Solution of Differential Equations by the Finite Element Method. Springer, 2012. ISBN 978-3-642-23098-1. doi:10.1007/978-3-642-23099-8.