Our documentation includes several books, a collection of documented demo programs (notebooks), and a reference manual.
If you are new to FEniCS and want to quickly get started with solving PDEs in Python, the FEniCS Tutorial is the best starting point. For advanced users looking for details on how to build, program and develop with FEniCS, the FEniCS Reference Manual contains all you need to know about FEniCS.
The FEniCS Notebooks [IN PREPARATION]
The FEniCS Notebooks are a collection of documented Jupyter/Python notebooks illustrating various features of FEniCS and the application of FEniCS to a range of PDEs. The demos are good starting point for building your own FEniCS applications. Many of the demos are also available as C++ programs.
The FEniCS Notebooks are currently being prepared. In the meantime, follow this link to view our Python and C++ demos.
The FEniCS Book
The book Automated Solution of Differential Equations by the Finite Element Method explains the theoretical background and design of FEniCS. It describes the FEniCS software components in detail and showcases a number of applications of FEniCS to problems in fluid mechanics, solid mechanics, electromagnetics, and geophysics. The book was published in 2012, which means that some of the examples presented in the book may use old interfaces that are no longer supported by FEniCS. However, the book still gives a good description of the design of FEniCS.
The FEniCS Reference Manual
The FEniCS Reference Manual documents the FEniCS programming interface (API) and contains detailed instructions for how to build, program and develop with FEniCS. The refence manual is hosted by Read the docs and is generated and updated continuosly from our source repositories.