sign in
location: Optpde13 / software

Software required for the workshop

If you have any problems in installing these softwares, please write to


There will be several sessions devoted to numerical examples. All participants are advised to bring a laptop, preferably with Unix/Linux/Mac operating system.

The following compilers and softwares will be very useful for the excercises and also to install some of the needed softwares.

Below we give instructions on how to install the necessary softwares. We will install all these softwares into the directory $HOME/optpde13 but you may install them anywhere else you like provided you set the path correctly. I will assume that you saved all downloaded softwares into the above directory. First create this directory

mkdir $HOME/optpde13

I will assume that you are using the bash shell. All the highlighted text as above must be entered at the shell.


L-BFGS-B is a limited-memory quasi-Newton code for bound-constrained optimization, i.e. for problems where the only constraints are of the form l<= x <= u. The current release is version 3.0. You can get the latest version here.

cd $HOME/optpde13
tar zxvf Lbfgsb.3.0.tar.gz


Tapenade is an automatic differentiation tool which can be obtained free of cost for academic purpose from here. Once you fill the form and submit it, you will receive an email with instructions on how to download and install it. Follow these instructions carefully. You will need to install a recent Java runtime environment, atleast version 7 as of now.

cd $HOME/optpde13
tar xvf tapenade3.7.tar

Then add following entries to your .bashrc file

export TAPENADE_HOME=$HOME/optpde13/tapenade3.7

Now open a new terminal and test that tapenade is in your PATH and working correctly

tapenade -?

If everything was correct, this should show you the command line options for tapenade.


The package ADOL-C (Automatic Differentiation by OverLoading in C++) facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. You can obtain the latest version here.

cd $HOME/optpde13
tar zxvf ADOL-C-2.4.1.tgz
cd ADOL-C-2.4.1
./configure --prefix=$HOME/optpde13/adolc
make install


Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale ​nonlinear optimization. You can obtain the latest release of Ipopt from here. Detailed installation instructions are given here, which is 3.11.4 at the time of writing this.

cd $HOME/optpde13
tar zxvf Ipopt-3.11.4.tgz

We need to compile Ipopt along with atleast one of the linear solvers like ma27, ma57, ma77, ma86, pardiso, wsmp and mumps.

cd $HOME/optpde13/Ipopt-3.11.4/ThirdParty/HSL
tar xvf $HOME/optpde13/hsl.tar

This extracts into a directory whose name may be like coinhsl-2012.12.21. Rename this directory

mv coinhsl-2012.12.21 coinhsl

cd $HOME/optpde13/Ipopt-3.11.4/ThirdParty/Mumps

cd $HOME/optpde13/Ipopt-3.11.4/ThirdParty/Metis

cd $HOME/optpde13/Ipopt-3.11.4
./configure --prefix=$HOME/optpde13/ipopt
make install


deal.II is a library that facilitates the writing of finite element programs to solve differential equations. It is recommended to install version 7.3.0 of deal.II which can be obtained from here. Detailed installation instructions can be found here and we give some basic steps below.

cd $HOME/optpde13
tar zxvf deal.II-7.3.0.tar.gz
cd deal.II
./configure --with-umfpack --with-blas --with-lapack
make all

This will take some time to compile. Once it is finished, try the included examples.

cd $HOME/optpde13/deal.II/examples/step-1


Fenics is a software for writing FEM programs in an automated manner. You can find detailed instructions to obtain binary versions of Fenics for most common operating systems here.

Plotting and visualization

It is recommended to install the following tools for visualizing results.

AirbusChair: Optpde13/software (last edited 2013-11-22 15:45:22 by praveen)