FEniCS – Free Finite Element Software

FEniCS – Free Finite Element Software

FEniCS is a free finite element software which has an extensive list of features for automated, efficient solution of differential equations, including automated solution of variational problems, automated error control and adaptivity, a comprehensive library of finite elements, high performance linear algebra and many more. The workshop will contain many tutorials on the use of FEniCS for solving PDE problems. The FEniCS website is the best place to start, where you can download extensive documentation, a complete book which is free to download, a shorter manual and of course the software itself.

The first chapter of the FEniCS book is an excellent introduction to what you can do with FEniCS. It is recommended to start here and try out the examples included in the book. It is also available as an online tutorial where you can download the tutorial programs also.

The easiest way to use FEniCS is through python. UFL is a form language used to express finite element variational formulations in FEniCS. The UFL manual can be very handy to lookup the syntax of the form language.

For help regarding FEniCS, there is a very active discussion forum where you can ask your questions.

Installation under ubuntu

It is very easy to install FEniCS on ubuntu. Follow the instructions hereTo get the latest version of the software, use the method given under the section Ubuntu PPA.

Other softwares

FEniCS can generate meshes for simple geometries. To generate meshes for complicated domains which can be used in FEniCS, you can use the GMSH meshing software. Another meshing tool is NETGENwhich is however restricted to generating 3-d meshes only.

FEniCS has in built ability to visualize finite element solutions. But if you want to do more complicated visualizations, you can save the solution in the VTK format which can then be visualized using Paraview. VTK files can also be visualized using Mayavi or Visit.

On ubuntu, you can install netgen and mayavi using the following command

sudo apt-get install netgen netgen-doc mayavi2

or through the synaptic package manager.

Sample test program

In order to test your FEniCS installation, download a sample program which solves Laplace equation on a unit square from here. You can run this on the command line using


You should be able to see the mesh and result displayed on screen.

FEniCS Course Material

  1. 1. Introduction to FEniCS

  2. 2. Static linear PDEs – I

  3. 3. Static linear PDEs – IIdolfin mesh (continuation of previous slide with some repetition), updated on 5 July, 2012.

  4. 4.Basic post-processing and code validationpoisson example codehomework example code

  5. 5. Time dependent PDEsheat equation code

  6. 6. Stokes problem

  7. 7. Incompressible Navier-Stokes equationcylinder meshcode for Chorin method

  8. 8. Discontinuous galerkin method for elliptic equation

  9. 9. A posteriori error estimates and adaptivityadaptive poisson template




Leave a Reply

Related Stories

Book Your Free Session Now

Fill in the form below to book a 30 min no-obligation consulting session.

we will reply within 24 hours.