How to use the Atomic Lab code

Download the Atomic Lab source code. Open the solution in MonoDevelop, monodevelop Atomic.sln. Compile and run by pressing F5. Alternatively, use the xbuild tool to compile the project:

xbuild Atomic.sln
mono Atomic.Samples/bin/Debug/Atomic.exe

The exe file contains CLR bytecode and is not a Windows executable despite the name. It's recommended to add your own code to a console project in the solution file. This project must have a reference to the Atomic project.


On Debian/Ubuntu the following packages must be installed to use all components of the library:

apt-get install mono-complete monodevelop gawk libgsl0-dev coinor-libipopt-dev libmumps-seq-4.10.0

Assuming the directory ~/local in the home directory contains local binary and library files, the following steps installs all prerequisites. Make sure to update global variables in .bash_profile:

export PATH=$HOME/bin:$HOME/local/bin:$HOME/local/vesta:$PATH

If using MonoDevelop from Debian/Ubuntu it's necessary to create a local monodevelop script,
~/bin/monodevelop, otherwise LD_LIBRARY_PATH will be overwritten:

source ~/.bash_profile

Building Mono manually

To build Mono from the source on a Linux cluster:

cd ~/local
tar -xjvf mono-2.11.4.tar.bz2
cd mono-2.11.4
./configure --prefix=$HOME/local
make install


Used for atomic structure visualization.

cd ~/local
tar -xjvf VESTA-x86_64.tar.bz2
mv VESTA-x86_64 vesta

Make sure it's added to PATH by added the following to ~/.bashrc:

export PATH=$HOME/local/vesta:$PATH


Cluster expansion tool.

cd ~/local
tar -xzvf atat3_00.tar.gz
cd atat
./foolproof BINDIR=$HOME/local/bin
make BINDIR=$HOME/local/bin
make install BINDIR=$HOME/local/bin


Required to do non-linear numerical optimization. Install the Debian/Ubuntu package above or download and compile IPOPT source code.

Run the makeipopt script in Atomic Lab root directory to build the shared object wrapper.


Space group library used to determine symmetries. This is only needed of the SpaceGroup property of the Structure class is used. Determines space group number and space group symmetries.

cd ~/local
tar -xzvf spglib-1.4.1.tar.gz
cd spglib-1.4.1
./configure --prefix=$HOME/local
make install


Phonopy is used to compute phonon dispersion curves and thermal properties from VASP linear-response code. Additional Debian/Ubuntu packages:

apt-get install python-dev python-numpy python-matplotlib python-tk python-lxml python-yaml python-scipy

cd ~/local
tar -xzvf phonopy-1.7.3.tar.gz
cd phonopy-1.7.3
python install --home=$HOME/local

Update ~/.bash_profile:

export PYTHONPATH=$HOME/local/lib/python:$PYTHONPATH

Last edited Sep 25, 2013 at 9:24 PM by bakkedal, version 6