VASP Computing Bulk Modulus of YSZ: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
(No difference)

Latest revision as of 21:31, 19 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         #gamma-centered
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 
5.25 5.27 5.29 5.31 5.33 5.35 5.37 5.40
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.304143 (A)
Ecoh = -9.216270 (eV)
B    = 196.339137 (GPa)

By fit_a0B.m

a0   = 5.258448 (A)
B    = 191.656390 (GPa)

Fita0EB.jpg Fita0B.jpg

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 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.