*Written by Hans Petter Langtangen*

Note

This tutorial is for FEniCS 1.0. For the most recent release of FEniCS, see the demo programs distributed with DOLFIN for the latest syntax.

This document presents a FEniCS tutorial to get new users quickly up and running with solving differential equations. FEniCS can be programmed both in C++ and Python, but this tutorial focuses exclusively on Python programming, since this is the simplest approach to exploring FEniCS for beginners and since it actually gives high performance. After having digested the examples in this tutorial, the reader should be able to learn more from the FEniCS documentation and from the FEniCS book Automated Solution of Differential Equations by the Finite Element Method.

The reader is encouraged to contact the author at `hpl@simula.no`

regarding typos, errors, and suggestions for improvements.

A LaTeX/PDF version is
also available, in addition to a tarball with all programs referred
to in this
tutorial (pack out with the Unix command ```
tar xvzf
fenics_tutorial_examples.tar.gz
```

).

- Fundamentals
- The Poisson equation
- Variational Formulation
- Implementation (1)
- Controlling the Solution Process
- Linear Variational Problem and Solver Objects
- Examining the Discrete Solution
- Solving a Real Physical Problem
- Quick Visualization with VTK
- Computing Derivatives
- A Variable-Coefficient Poisson Problem
- Computing Functionals
- Visualization of Structured Mesh Data
- Combining Dirichlet and Neumann Conditions
- Multiple Dirichlet Conditions
- A Linear Algebra Formulation
- Parameterizing the Number of Space Dimensions

- Nonlinear Problems
- Time-Dependent Problems
- Creating More Complex Domains
- Handling Domains with Different Materials
- More Examples
- Miscellaneous Topics
- Bibliography