Software required for the workshop
If you have any problems in installing these softwares, please write to optpde13@math.tifrbng.res.in
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.
Fortran compiler: gfortran is recommended.
C/C++ compiler: The GNU compilers are recommended, preferably version 4.6 or newer.
- Matlab
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
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
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 export PATH=$TAPENADE_HOME/bin
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.
ADOL-C
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 make install
IPOPT
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.
You can obtain an Academic license to HSL solvers from here. Click on the link under Coin-HSL 2011. You have to fill up a form and wait for them to approve your request. If you are not an academic you can request a personal license which gives you the ma27 solver. Save the file as hsl.tar into $HOME/optpde13. Then do the following
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
If you have wget installed on your computer you can download MUMPS like this
cd $HOME/optpde13/Ipopt-3.11.4/ThirdParty/Mumps ./get.Mumps
- Some of the linear solvers can make use of the matrix ordering algorithms implemented in METIS. Download metis like this
cd $HOME/optpde13/Ipopt-3.11.4/ThirdParty/Metis ./get.Metis
- Now compile Ipopt
cd $HOME/optpde13/Ipopt-3.11.4 ./configure --prefix=$HOME/optpde13/ipopt make make install
deal.II
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 make ./step-1
Fenics
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.