Header Ads Widget

Ab initio Calculations Using Wien2k Code

Last Posts

10/recent/ticker-posts

How to calculate the Phonon Band Structure using the Phonopy code

 Phonopy code is developped to calculate the phonon and thermal properties plus some other functionalities.

To install the code click on the following link:

How to install Phonopy Code to calculate Phonon and Thermal properties

 

We will calculate the Band structure of NaCl. 

Phonopy can read only the P lattice format. Therefore you have to convert your struct file to that with the P lattice format. This may be done using supercell script in the Wien2k package by making 1x1x1 supercell.

 
We need the struct file  and one script.

 NaCl.struct

NaCl
P LATTICE,NONEQUIV.ATOMS: 8
MODE OF CALC=RELA
10.753111 10.753111 10.753111 90.000000 90.000000 90.000000
ATOM -1: X=0.00000000 Y=0.00000000 Z=0.00000000
MULT= 1 ISPLIT= 8
Na NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 11.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -2: X=0.00000000 Y=0.50000000 Z=0.50000000
MULT= 1 ISPLIT= 8
Na NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 11.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -3: X=0.50000000 Y=0.00000000 Z=0.50000000
MULT= 1 ISPLIT= 8
Na NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 11.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -4: X=0.50000000 Y=0.50000000 Z=0.00000000
MULT= 1 ISPLIT= 8
Na NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 11.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -5: X=0.50000000 Y=0.50000000 Z=0.50000000
MULT= 1 ISPLIT= 8
Cl NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 17.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -6: X=0.50000000 Y=0.00000000 Z=0.00000000
MULT= 1 ISPLIT= 8
Cl NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 17.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -7: X=0.00000000 Y=0.50000000 Z=0.00000000
MULT= 1 ISPLIT= 8
Cl NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 17.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
ATOM -8: X=0.00000000 Y=0.00000000 Z=0.50000000
MULT= 1 ISPLIT= 8
Cl NPT= 781 R0=0.00010000 RMT= 2.50000 Z: 17.0
LOCAL ROT MATRIX: 1.0000000 0.0000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 1.0000000
0 NUMBER OF SYMMETRY OPERATIONS

 

Script scf.sh for SCF calculations

#!/bin/bash

# Creating different directories for different displacements

N=$(ls *.structS-*.in | wc -l)
echo $N

for s in $(eval echo "{001..$N}")

do
d=${s%%.struct}

mkdir disp-$d

(
cd disp-$d

cp ../NaCl.structS-$d.in disp-$d.struct


init_lapw -b -numk 100
run_lapw -fc 0.1

cd ..
)

done

 

Calculation

1- Creation of displacement Struct files

% conda activate phonopy
(phonopy) % phonopy -d --dim="2 2 3"

 

You should find the files, SPOSCAR, phonopy_disp.yaml, and POSCAR-{number} as follows:

% ls
phonopy_disp.yaml  NaCl.struct  NaCl.structS  NaCl.structS-001.in  NaCl.structS-002.in
 

NaCl.structS is the perfect supercell structure, phonopy_disp.yaml contains the information on displacements, and POSCAR-{number} are the supercells with atomic displacements. NaCl.struct-{number}.in corresponds to the different atomic displacements written in phonopy_disp.yaml.

 

2- Phonon calculations

chmod +x scf.sh
./scf.sh 

 

3- Calculation of sets of forces

% phonopy --wien2k -f disp-001/disp-001.scf disp-002/disp-002.scf

Post-process

In the post-process,

  1. Force constants are calculated from the sets of forces

  2. A part of dynamical matrix is built from the force constants

  3. Phonon frequencies and eigenvectors are calculated from the dynamical matrices with the specified q-points.


 

Band structure is calculated with the following setting file named, e.g., band.conf by:

ATOM_NAME = Na Cl
DIM = 2 2 2
PRIMITIVE_AXIS = 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0
BAND = 0.0 0.0 0.0 0.5 0.0 0.0 0.5 0.5 0.0 0.0 0.0 0.0 0.5 0.5 0.5

The band structure is plotted by:

% phonopy --wien2k -c NaCl.struct -p band.conf



 

Post a Comment

0 Comments