Loop.s: Difference between revisions
mNo edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
This is an example loop for finding the lattice constant of an FCC | go back to [[Main Page]], [[Computational Resources]], [[Scripts]], [[Scripts for VASP]] | ||
This is an example loop for finding the lattice constant of an FCC primitive cell (a rhomboeder: see the figure below for elements appearing in FCC lattice). | |||
[[Image:CrystalStructures.png|frame|none|alt=Crystal Structures|Crystal Structures of The Elements (for usual form at room temeperature).]] | |||
The loop creates a series of <TT>POSCAR</TT> files with primitive cell size length specified in the <TT>seq</TT> command (3.1 to 4.0 Å with steps of 0.1 Å, i.e. 10 runs). | |||
This cell size parameter, cell volume from <TT>OUTCAR</TT> and energy form <TT>OSZICAR</TT> are extracted into the output files. | This cell size parameter, cell volume from <TT>OUTCAR</TT> and energy form <TT>OSZICAR</TT> are extracted into the output files. | ||
Evaluation using a proper EOS method (preferentially ''Birch-Murnaghan equation'') should follow. | Evaluation using a proper EOS method (preferentially the ''[http://en.wikipedia.org/wiki/Murnaghan_Equation Murnaghan equation]'' or ''Birch-Murnaghan equation'') should follow. | ||
'''Important''' | |||
Do not use quadratic regression (second order polynom)! - it's not an equation of state (EOS)!! Some tools for the non-linear fitting of Murnaghan Equation are listed online here: [http://courses.cit.cornell.edu/das248/equation_of_state.html Online Resources for Calculating the Equation of State]) | |||
'''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 32: | Line 45: | ||
0.000000000000000 0.000000000000000 0.000000000000000 T T T | 0.000000000000000 0.000000000000000 0.000000000000000 T T T | ||
! | ! | ||
echo "a= $L" | echo "a= $L" | ||
mpirun -np $NSLOTS vasp | mpirun -np $NSLOTS vasp | ||
| Line 46: | Line 59: | ||
done | done | ||
rm -f CHG* WAVE* | rm -f CHG* WAVE* | ||
--[[User:Dkarhanek|Dkarhanek]] 13:53, 15 December 2010 (CET) | |||
Latest revision as of 13:53, 15 December 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 primitive cell (a rhomboeder: see the figure below for elements appearing in FCC lattice).

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 the Murnaghan equation or Birch-Murnaghan equation) should follow.
Important Do not use quadratic regression (second order polynom)! - it's not an equation of state (EOS)!! Some tools for the non-linear fitting of Murnaghan Equation are listed online here: Online Resources for Calculating the Equation of State)
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
rm -f CHG* WAVE*
--Dkarhanek 13:53, 15 December 2010 (CET)