VASP Computing Bulk Modulus of YSZ: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 24: Line 24:
Monkhorst-pack
Monkhorst-pack
0
0
Gamma #gamma-centered
Gamma
15 15 15
15 15 15
0. 0. 0.
0. 0. 0.
</pre>
</pre>
Use POTCAR including Yttrium ion. POSCAR file is generated by the script.
Use POTCAR including Yttrium ion. POSCAR file is generated in script(vasp.script).


auto.B.par
auto.B.par
Line 39: Line 39:
xi=3
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
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
do


Line 120: Line 121:
By fit_a0Eb.m
By fit_a0Eb.m
<pre>
<pre>
a0 = 5.279980 (A)
a0 = 5.304143 (A)
Ecoh = -9.207522 (eV)
Ecoh = -9.216270 (eV)
B = 242.449273 (GPa)
B = 196.339137 (GPa)
</pre>
</pre>


By fit_a0B.m
By fit_a0B.m
<pre>
<pre>
a0 = 5.232059 (A)
a0 = 5.258448 (A)
B = 239.140323 (GPa)
B = 191.656390 (GPa)
</pre>
</pre>
[[Image:fita0EB.jpg]] [[Image: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.

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.