Resources: Octopus


  1. What is Octopus?
  2. Octopus Web Page
  3. How to compile Octopus 5.0.0 (Developers subversion)?
    1. On Ubuntu 14.04 LTS
      1. Preparing the operative system
      2. Installing required basic libraries
      3. Cleaning unused libraries
      4. Compiling scientific libraries
      5. Downloading Octopus through SVN
      6. Preparing Octopus configuration
      7. Compiling and checking Octopus
      8. Creating system paths for Octopus

What is Octopus?

Octopus is a scientific program aimed at the ab initio virtual experimentation on a hopefully ever-increasing range of system types. Electrons are described quantum-mechanically within density-functional theory (DFT), and in its time-dependent form (TDDFT) when doing simulations in time. Nuclei are described classically as point particles. Electron-nucleus interaction is described within the pseudopotential approximation.

For optimal execution performance Octopus is parallelized using MPI and OpenMP and can scale to tens of thousands of processors. It also has support for graphical processing units (GPUs) through OpenCL.

Octopus is free software, released under the GPL license, so you are free to download it, use it and modify it.

I am a Monkey-Style developer of Octopus. My work has been related mainly to the implementation of the Tkatchenko-Scheffler van der Waals correction for standard density functional approximations.

Octopus Web Page

To find out more information about Octopus, go to: OctopusWiki -

How to compile Octopus 5.0.0 (Developers subversion)?

Perhaps, the most difficult part of using Octopus is to compile it properly.

On Ubuntu 14.04 LTS

This is an effective method to compile Octopus on an Ubuntu Desktop 14.04 LTS. It is based on the "slow instructions" section from the Octopus manual, and it was tested on September 14th, 2015:

Preparing the operative system

Make sure your system is up-to-date.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Installing required basic libraries

Install compilers.

sudo apt-get install build-essential
sudo apt-get install gfortran

Install Math Libraries

sudo apt-get install libatlas-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev

Install the Fast Fourier Transform 3 library.

sudo apt-get install libfftw3*

Install SVN.

sudo apt-get install subversion

Cleaning unused libraries

Clean after yourself.

sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get clean

Compiling scientific libraries

Compile the GNU Scientific Library.

cd /tmp/
sudo -s
tar -xvf gsl-1.9.tar.gz
cd gsl-1.9/
make install

In addition to installing the Fast Fourier Transform 3 library, you also need to compile the 3.3.4 version.

cd /tmp/
sudo -s
tar -xvf fftw-3.3.4.tar.gz
cd fftw-3.3.4/
make install

Compile the XC library.

cd /tmp/
sudo -s
mv down.php\?file\=libxc%2Flibxc-2.1.2.tar.gz libxc-2.1.2.tar.gz
tar -xvf libxc-2.1.2.tar.gz
cd libxc-2.1.2/
make install

Downloading Octopus through SVN

Create a directory to download the Octopus source code.

cd ~/
mkdir ~/Installers
mkdir ~/Installers/Octopus-5.0.0

Check-out the last version of Octopus through SVN.

cd ~/Installers/Octopus-5.0.0/
svn co
cd ~/Installers/Octopus-5.0.0/trunk/
autoreconf -i

Preparing Octopus configuration

Find out where the important libraries are in your system.

whereis libblas.a liblapack.a libfftw3.a

Export the corresponding flags for the configure script.

export LIBS_BLAS=/usr/lib/libblas.a
export LIBS_LAPACK=/usr/lib/liblapack.a
export LIBS_FFT=/usr/local/lib/libfftw3.a

Compiling and checking Octopus

Compile Octopus.

./configure --prefix=$HOME/octopus --with-gsl-prefix=/usr/local --with-libxc-prefix=/opt/etsf
make clean
make install

Check the installation through a series of preloaded tests.

make check

Creating paths for octopus

Create paths for Octopus binaries on your .profile.

export PATH="~/octopus/bin:$PATH"