VASP Computing Bulk Modulus of YSZ: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
Line 131: Line 131:
</pre>
</pre>


The lattice parameter shows a little discrepancy while the Bulk modulus shows enough agreement. If we increase the number of K-sampling points, the agreement will be improved.
The lattice parameter shows a little discrepancy while the Bulk modulus shows enough agreement. If we increase the number of K-sampling points, the agreement will be improved. This supercell in this example is a unitcell of YSZ including two Y ions and one oxygen vacancy; this artificial structure is used for the purpose of example only.

Revision as of 05:07, 12 February 2009

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 in script(vasp.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 while the Bulk modulus shows enough agreement. If we increase the number of K-sampling points, the agreement will be improved. This supercell in this example is a unitcell of YSZ including two Y ions and one oxygen vacancy; this artificial structure is used for the purpose of example only.