Installation

Requirements

  • Python and Python Headers
  • NumPy
  • SciPy
  • Cython
  • Matplotlib
  • LibXC
  • Libint 2.0
  • BLAS/LAPACK libraries (New Eigensolvers)
  • ASE (Atomic Simulation Environment)

Installation of Requirements (Ubuntu Linux)

  • Install Python, NumPy and SciPy

It is highly recommended that you build NumPy and SciPy from source and link it to a BLAS/LAPACK routines like the Intel MKL. But it is easier to install the ones that come prebuilt with Ubuntu Linux.

>>> apt-get install python python-dev python-numpy python-scipy python-profiler
  • Install LAPACK libraries

The new eigensolvers need lapack libraries and their headers. To install the standard BLAS/LAPACK/ATLAS libraries that come with Ubuntu Linux simply type:

apt-get install liblapack-dev libblas-dev libatlas-dev
  • Install ASE

Detailed instructions on downloading and installing the ASE can be found at the ASE wesite. Download the latest SVN release from the repository and change in the directory.

>>> svn checkout https://svn.fysik.dtu.dk/projects/ase/trunk ase >>> cd ase

Install ASE to your $HOME directory.

>>> python setup.py config build install --home=$HOME

Add the following line to your .bashrc

>>> export ASE_TAGS="https://svn.fysik.dtu.dk/projects/ase/tags/" >>> export
PYTHONPATH="$HOME/lib/python:$PYTHONPATH"

Download and Installation

The latest release can be obtained from a git repository currently located at twin. In order to clone from the git repository you need to have a ssh account on the twin cluster and a working version of git installed.

>>> git clone git@aiccm.de:aiccm.git

Then go to the aiccm directory.

>>> cd aiccm

Install into your home directory.

>>> python setup.py install --home=<my-directory> <options>

Valid options are:

>>> --enable-libint >>> --enable-dft

The effect is self explanatory.

Download the basis sets and export the directory containing them.

>>> export AICCM_BASIS_PATH=<my-basis-set-directory>

You should add this to your .bashrc (or .zshrc in case of zshell) file. To install AICCM in a directory other than your home, you can use the prefix option.

AICCM and the Intel MKL

The following describes how to use Intel Math Kernel Library (Intel MKL) Version 10.3 with AICCM.

(1) To use the LAPACK routines from the Intel MKL a custom library has to be built. (a) Got to the builder directory:

>>> cd /opt/intel/mkl/tools/builder
  1. Build the interface:
>>> make libintel64 sointel64 name=$HOME/lib/libmkl4py export=cblas_list
  1. Please make sure that the lib path in your home is in your .bashrc or .zshrc
>>> export LIBRARY_LD_PATH="$HOME/lib:$HOME/lib/python/aiccm:$LD_LIBRARY_PATH"

Installation of ERI library libint

Install the included libint

Change into the utils folder.

>>> cd /path/to/AICCM/utils

Extract the tarball

>>> tar xvf libint-x.x.x-stable.tgz >>> cd libint-x.x.x-stable

Configure build and install.

>>> ./configure --enable-shared --with-ld=/usr/bin/ld --prefix=$HOME >>> make &&
make install

Install bleeding edge version

You must have mercurial, the headers of the boost library and autotools installed.

  1. Clone the repository
>>> hg clone http://hg.code.sf.net/p/libint/mercurial libint/mercurial
  1. cd
>>> cd libint/mercurial
  1. Build the configure file
>>> aclocal -I lib/autoconf >>> autoconf

4. Now change in a different directory. It is very important that this directory is not located in or in any subdirectory of the source directory. It will not work if it is.

>>> mkdir ../libint >>> cd ../libint
  1. Configure libint

AICCM needs libint as a shared library, the needed configure flags can be obtained by

>>> ../mercurial/configure --help

On Ubuntu 11.04 the following configuration was tested:

../mercurial/configure '--with-cxx=g++ -std=c++0x' '--with-cxxgen-optflags=-O2' --with-incdirs=-I$HOME/include --prefix=$HOME '--enable-eri=1' '--with-max-am=5' '--with-opt-am=2' '--disable-unrolling' '--enable-generic-code' '--enable-contracted-ints' '--enable-shared' '--with-ld=/usr/bin/ld'

Compile und install libint

>>> make >>> make install