deal.II is a finite element library written in C++ which can be used to write application programs to solve PDEs.


deal.II can be compiled without any dependencies. But it can also interface with external softwares mainly for linear algebra. You need a fairly recent c++ compiler and fortran (for trilinos, but this can be disabled). The GNU compilers are the natural choice. If you are on ubuntu, you can use synaptic package manager to install some of the softwares.
  1. Installing on OSX using macports
  2. Installing on OSX using homebrew

Install gnuplot from your package manager.


These are visualization tools built on VTK. Install atleast one of them.

These softwares may also be available via your package manager.


Gmsh is a software for generating meshes. Install the latest version by downloading the executable from here. You can also download the source code and compile it yourself. Or your package manager might already have this. Ensure that you install the latest version.

For example, you can download the latest version for Linux (at the time of writing, it is 2.6.1). Then do

cd /opt
sudo tar zxvf ~/Downloads/gmsh-2.6.1-Linux.tgz

Then add the path to gmsh in your .bashrc file

export PATH