Header Ads Widget

Ab initio Calculations Using Siesta 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 Silicon. We need the input files, the pseudopotentials and a script 

 Si.fdf

SystemName          silicon
SystemLabel Si

NumberOfSpecies 1

%block ChemicalSpeciesLabel
1 14 Si
%endblock ChemicalSpeciesLabel

PAO.BasisSize sz

MeshCutoff 400.0 Ry

MaxSCFIterations 50
DM.MixingWeight 0.2
DM.NumberPulay 3
DM.Tolerance 1.d-4
DM.UseSaveDM

SolutionMethod diagon

WriteForces .true.

ElectronicTemperature 100 K

AtomicCoordinatesFormat Fractional


%block kgrid_Monkhorst_Pack
8 0 0 0.0
0 8 0 0.0
0 0 8 0.0
%endblock Kgrid_Monkhorst_Pack


NumberOfAtoms 2
LatticeConstant 5.430 Ang
%block LatticeVectors
0.000 0.500 0.500
0.500 0.000 0.500
0.500 0.500 0.000
%endblock LatticeVectors

%block AtomicCoordinatesAndAtomicSpecies
0.00 0.00 0.00 1 # Si 1
0.25 0.25 0.25 1 # Si 2
%endblock AtomicCoordinatesAndAtomicSpecies


Pseudopotential

Si.psf


Script force.sh

#!/bin/bash

# Creating different directories for different displacements

N=$(ls Si-*.fdf | wc -l)
echo $N

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

do
d=${s%%.fdf}

mkdir disp-$d

(
cd disp-$d
cp ../supercell-$d.fdf supercell-$d.fdf
cat ../header-supercell > Si-$d.fdf
echo "LatticeConstant 1.0 Bohr">> Si-$d.fdf
echo "%include supercell-$d.fdf" >> Si-$d.fdf
cp ../Si.psf Si.psf

siesta < Si-$d.fdf

cd ..
)

done

 

Calculation

1- Creation of displacement Struct files

% conda activate phonopy
(phonopy) % phonopy --siesta -c Si.fdf -d --dim="3 3 3"

A perfect 3x3x3 supercell (supercell.fdf) and one 3x3x3 supercells (supercell-xxx.in) of the conventional unit cell written in Si.fdf are created. In addition, disp.yaml file is created.

To make SIESTA input files, necessary setting information is added to supercell-xxx.fdf files, e.g., by executing the script force.sh. and file header-supercell ,

where header-supercell is specially made for this Si example. This setting is of course dependent on systems and has to be written for each interested system. Note that supercells with displacements must not be relaxed in the force calculations, because atomic forces induced by a small atomic displacement are what we need for phonon calculation.

 

header-supercell

SystemName          silicon
SystemLabel Si

NumberOfSpecies 1

%block ChemicalSpeciesLabel
1 14 Si
%endblock ChemicalSpeciesLabel

PAO.BasisSize sz

MeshCutoff 400.0 Ry

MaxSCFIterations 50
DM.MixingWeight 0.2
DM.NumberPulay 3
DM.Tolerance 1.d-4
DM.UseSaveDM

SolutionMethod diagon

WriteForces .true.

ElectronicTemperature 100 K

AtomicCoordinatesFormat Fractional

%block kgrid_Monkhorst_Pack
3 0 0 0.0
0 3 0 0.0
0 0 3 0.0
%endblock Kgrid_Monkhorst_Pack


 

2- Phonon calculations

chmod +x force.sh
./force.sh 

 

3- Calculation of sets of forces

After force calculation with the crystal structure in supercell-001.fdf, it is needed to create FORCE_SETS file by 

(phonopy) % phonopy --siesta -f disp-001/Si.FA

Here the .FA file contains the forces on atoms calculated by Siesta. The disp.yaml file has to be put in the current directory.

 

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 = Si O
DIM = 3 3 3
BAND_POINTS = 100
BAND = 1/2 1/2 1/2 0.0 0.0 0.0 0.0 1/2 1/2 1.0 1.0 1.0

The band structure is plotted by:

(phonopy) % phonopy --siesta -c Si.fdf -p band.conf  

 


 

 

Post a Comment

0 Comments