Loop.s: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 7: | Line 7: | ||
Evaluation using a proper EOS method (preferentially ''Birch-Murnaghan equation'') should follow. | Evaluation using a proper EOS method (preferentially ''Birch-Murnaghan equation'') should follow. | ||
(Do not use quadratic regression! - it's not an equation of state (EOS)!!) | (Do not use quadratic regression! - it's not an equation of state (EOS)!!) | ||
'''Note''' | |||
In the <TT>INCAR</TT> file, please take care that you set up a rigid calculation - <TT>NSW=1</TT> - and that the electronic density is properly converged - <TT>NELMIN=10</TT>. The <TT>KPOINTS</TT> should define a very dense ''k''-point grid (such as 10x10x10 or more). | |||
The script <TT>loop.s</TT> itself: | |||
#!/bin/bash | #!/bin/bash | ||
| Line 50: | Line 55: | ||
cat SUMMARY.log | cat SUMMARY.log | ||
rm -f CHG* WAVE* | rm -f CHG* WAVE* | ||
Revision as of 10:10, 29 September 2010
go back to Main Page, Computational Resources, Scripts, Scripts for VASP
This is an example loop for finding the lattice constant of an FCC metal (e.g. copper). The loop creates a series of POSCAR files with primitive cell size length specified in the seq command (3.1 to 4.0 Å with steps of 0.1 Å, i.e. 10 runs).
This cell size parameter, cell volume from OUTCAR and energy form OSZICAR are extracted into the output files.
Evaluation using a proper EOS method (preferentially Birch-Murnaghan equation) should follow. (Do not use quadratic regression! - it's not an equation of state (EOS)!!)
Note In the INCAR file, please take care that you set up a rigid calculation - NSW=1 - and that the electronic density is properly converged - NELMIN=10. The KPOINTS should define a very dense k-point grid (such as 10x10x10 or more).
The script loop.s itself:
#!/bin/bash
#$ -N Cu-lattice
#$ -pe c8m24_ompi 8
#$ -cwd
#$ -o vasp-ompi.out
#$ -e vasp-ompi.err
#$ -S /bin/bash
. /etc/profile.d/modules.sh
module load vasp/5.2
export OMP_NUM_THREADS=1
for L in `seq -f %3.1f 3.2 0.1 4.0`
do
cat >POSCAR <<!
Copper bulk - Cu1
$L
0.500000000000000 0.500000000000000 0.000000000000000
0.000000000000000 0.500000000000000 0.500000000000000
0.500000000000000 0.000000000000000 0.500000000000000
1
Selective dynamics
Direct
0.000000000000000 0.000000000000000 0.000000000000000 T T T
!
echo "a= $L"
mpirun -np $NSLOTS vasp
V=`grep "volume " OUTCAR | tail -1 | awk '{print $5}'`
E=`tail -1 OSZICAR | awk '{print $5}'`
printf "%3.1f %6.2f %13.7f\n" $L $V $E >> SUMMARY-LVE.log
printf "%3.1f %13.7f\n" $L $E >> SUMMARY-LE.log
printf "%6.2f %13.7f\n" $V $E >> SUMMARY-VE.log
cp OSZICAR OSZICAR-$L
cp OUTCAR OUTCAR-$L
done
cat SUMMARY.log
rm -f CHG* WAVE*