FEniCS – Free Finite Element Software

2 min

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

python demo.py

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



Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for subscribing.

Something went wrong.

Like it? Share with your friends!

Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Voting to make decisions or determine opinions
Formatted Text with Embeds and Visuals
The Classic Internet Listicles
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Upload your own images to make custom memes
Youtube, Vimeo or Vine Embeds
Soundcloud or Mixcloud Embeds
Photo or GIF
GIF format