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
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
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