Table of Contents

Abinit

ABINIT is an open-source suite of programs for materials science. It implements density functional theory, using a plane wave basis set and pseudopotentials, to compute the electronic density and derived properties of materials ranging from molecules to surfaces to solids. More information and tutorials can be found here.

Below is a walkthrough of a test example for running Abinit

Environment Setup

Edit your $HOME/.bashrc file to contain these modules to begin working with Abinit. This will load the dependencies required for the Module.

module load gcc/4.5.0
module load openmpi/1.5.4
module load mkl/11.1 
module load abinit

Example Job

Create a directory to run your Abinit jobs in ABINIT-JOBS, then add the Input and Pspsfortests folders to the directory you created. These test require their own pseudopotential files which is why we copy the Pspsfortests directory.

razor-l3:jokinsey:~$ mkdir ABINIT-JOBS
razor-l3:jokinsey:~$ cd ABINIT-JOBS/
razor-l3:jokinsey:~/ABINIT-JOBS$ cp -r /share/apps/abinit-6.12.3/share/abinit-test/tutorial/Input .
razor-l3:jokinsey:~/ABINIT-JOBS$ cp -r /share/apps/abinit-6.12.3/share/abinit-test/Psps_for_tests .

In your $HOME/ABINIT-JOBS/Input directory modify the tparal_3.files file to reflect the new relative location of the pseudopotential file used in the job.

Change the line in tparal_3.files

../../../Psps_for_tests/HGH/79au.11.hgh

So that it reads

../Psps_for_tests/HGH/79au.11.hgh

In the directory $HOME/ABINIT-JOBS create a file called abinit.pbs which will be the PBS script we will use to run our job.

Your PBS script should look like this.

#!/bin/bash
#PBS -N abinit
#PBS -q tiny12core
#PBS -j oe
#PBS -o abinit.$PBS_JOBID
#PBS -l nodes=1:ppn=12
#PBS -l walltime=1:00:00

cd $PBS_O_WORKDIR
cp -r $HOME/ABINIT-JOBS/Input /scratch/$PBS_JOBID
cp -r $HOME/ABINIT-JOBS/Psps_for_tests /scratch/$PBS_JOBID

cd /scratch/$PBS_JOBID/Input

NP=$(wc -l < $PBS_NODEFILE)

mpirun -np $NP -machinefile $PBS_NODEFILE abinit < tparal_3.files >&  tparal_3.log

mv *.log *.out *LOG* $PBS_O_WORKDIR/

In the PBS script first we move into the working directory and copy all of our directories with the necessary files from our home directory to the temporary /scratch/$PBS_JOBID directory to run our computation. Then once we run the computation we move the output files back to the directory where we submitted the job from.

Then submit the job to the queue. There will be a lot of log files output. I would start looking at tparal_3.log.

razor-l3:jokinsey:~/ABINIT-JOBS/Input$ qsub abinit.pbs