VASP Computing Bulk Modulus of YSZ
Jump to navigation
Jump to search
VASP: Computing Bulk Modulus of YSZ
Eunseok Lee
Input files
INCAR
SYSTEM = YSZ +VAC Calculation (neutral) ISTART = 0 ISMEAR = 0 IBRION = 2 ALGO=Normal LREAL= Auto NPAR = 4 NSIM = 4 NSW = 100
KPOINTS
Monkhorst-pack 0 Gamma 15 15 15 0. 0. 0.
Use POTCAR including Yttrium ion. POSCAR file is generated by the script.
auto.B.par
!#/bin/bash NPROCS=$1 PROG=$2 xi=3 for a in 5.0 5.02 5.04 5.06 5.08 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23 do rm POSCAR WAVECAR cat > POSCAR << FIN YSZ $a 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 2 2 7 Direct 0.0000 0.0000 0.0000 T T T 0.5000 0.0000 0.5000 T T T 0.5000 0.5000 0.0000 T T T 0.0000 0.5000 0.5000 T T T 0.2500 0.2500 0.2500 T T T 0.7500 0.2500 0.2500 T T T 0.2500 0.7500 0.2500 T T T 0.7500 0.7500 0.2500 T T T 0.2500 0.2500 0.7500 T T T 0.7500 0.2500 0.7500 T T T 0.2500 0.7500 0.7500 T T T FIN /opt/mpiexec/bin/mpiexec --comm=pmi -np $NPROCS $PROG >> vasp.log b=`tail -1 OSZICAR | sed -s 's/F=//; s/E0=//; s/d E =//;'` echo $a $b >> Elatt.B.dat p=`grep pressure OUTCAR | cut -b 25-34 | tail -1` echo $a $p >> Platt.B.dat cp OSZICAR OSZICAR.$xi let xi+=1 done
vasp.script
#!/bin/bash #PBS -N YSZ_Cube1_lc_lk #PBS -j oe #PBS -l nodes=1:ppn=8 #PBS -l walltime=96:00:00 ### ------------------------------------ ### BEGINNING of EXECUTION ### ------------------------------------ # Program options PROG="/lustre/home/caiwei/group/caiwei/Codes/VASP/bin/vasp.mpotts.mva2" # Define number of processors NPROCS=`wc -l < $PBS_NODEFILE` echo The master node of this job is `hostname` echo The working directory is `echo $PBS_O_WORKDIR` echo This job runs on the following nodes: echo `cat $PBS_NODEFILE` cd $PBS_O_WORKDIR echo $PWD ./auto.B.par $NPROCS $PROG
Run VASP
Submit job script, vasp.script on su-ahpcrc.
> qsub vasp.script
Analyze data
You will get two data files, Elatt.B.dat and Platt.B.dat. To analyze these data, use file fit_a0EB.m and fit_a0B.m as previous cases. But please notice that you need to change n=N=11 in fit_a0EB.m.
By fit_a0Eb.m
a0 = 5.279980 (A) Ecoh = -9.207522 (eV) B = 242.449273 (GPa)
By fit_a0B.m
a0 = 5.232059 (A) B = 239.140323 (GPa)
The lattice parameter shows a little discrepancy in both method while the Bulk modulus shows enough agreement. If we increase the number of K-sampling points, the agreement will be improved.