abinit
abinit's main program allows one to find the total energy, charge density and electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within density functional theory (dft), using pseudopotentials and a planewave or wavelet basis. abinit also includes options to optimize the geometry according to the dft forces and stresses, or to perform molecular dynamics simulations using these forces, or to generate dynamical matrices, born effective charges, and dielectric tensors, based on density-functional perturbation theory, and many more properties. excited states can be computed within the many-body perturbation theory (the gw approximation and the bethe-salpeter equation), and time-dependent density functional theory (for molecules).
see the abinit homepage (http://www.abinit.org) for further details.
availability on wesley
version | date installed | setup module |
---|---|---|
6.12.3 (parallel) | july 17, 2012 | abinit/parallel/6.12.3 |
submitting a parallel job
submitting the first example from the abinit in parallel tutorial is done as follows.
mkdir abinit-test
cd abinit-test
cp /shared/abinit/parallel/6.12.3/share/abinit-test/tutorial/input/tparal_1.in .
cp /shared/abinit/parallel/6.12.3/share/abinit-test/tutorial/input/tparal_1.files .
edit tparal_1.files and change the 5th line from tparal_1 to /data/yourusername/tparal_1 (where yourusername is replaced with your username on wesley). this will instruct abinit to use the local /data disk on each compute node for temporary files and therefore avoid unnecessary network communications.
in tparal_1.files also change the last line from:
../../../psps_for_tests/hgh/82pb.4.hgh
to:
/shared/abinit/parallel/6.12.3/share/abinit-test/psps_for_tests/hgh/82pb.4.hgh
next, create a torque/pbs qsub script containing the following that we will use to submit the job to the queue. for this example we will name it tparal_1.qsub
#!/bin/bash -l
module load abinit/parallel/6.12.3
nprocs=`wc -l < $pbs_nodefile`
echo "master node is:" `hostname`
echo "number of processors: $nprocs"
echo -n "abinit executable to use: "
which abinit
echo "list of compute nodes:"
echo "---------------"
cat $pbs_nodefile
echo "---------------"
cd $pbs_o_workdir
/usr/mpi/gcc/openmpi-1.4.1/bin/mpiexec -np $nprocs --hostfile $pbs_nodefile abinit < tparal_1.files >& tparal_1.log
finally submit the job, specifying 2 cores on 1 node, and a 5 minute time limit:
qsub -l nodes=1:ppn=2,walltime=5:00 tparal_1.qsub