FEniCS Project Banner

Documentation for FEniCS dev

Our documentation includes a book(!), a collection of documented demo programs, and complete references for the FEniCS application programming interface (API). Note that the FEniCS API is documented separately for each FEniCS component. The most important interfaces are those of the C++/Python problem solving environment DOLFIN and the form language UFL.

(This page accesses the FEniCS dev documentation. Not the version you are looking for? See all versions.)

The FEniCS Tutorial

A good starting point for new users is the FEniCS Tutorial. The tutorial will help you get quickly up and running with solving differential equations in FEniCS. The tutorial focuses exclusively on the FEniCS Python interface, since this is the simplest approach to exploring FEniCS for beginners.

The FEniCS Book

The FEniCS Book, Automated Solution of Differential Equations by the Finite Element Method, is a comprehensive (700 pages) book documenting the mathematical methodology behind the FEniCS Project and the software developed as part of the FEniCS Project. The FEniCS Tutorial is included as the opening chapter of the FEniCS Book.

The FEniCS Manual

The FEniCS Manual is a 200-page excerpt from the FEniCS Book, including the FEniCS Tutorial, an introduction to the finite element method and documentation of DOLFIN and UFL.

Additional Documentation

Mixing software with FEniCS is a tutorial on how to combine FEniCS applications in Python with software written in other languages.


A simple way to build your first FEniCS application is to copy and modify one of the existing demos:

The demos are already installed on your system or can be found in the demo directory of the DOLFIN source tree.

Quick Programmer's References

Some of the classes and functions in DOLFIN are more frequently used than others. To learn more about these, take a look at the

Complete Programmer's References

Release notes

If you are updating your application code to a new FEniCS release, make sure to check the release notes where you will find detailed information about new features and interface changes.