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
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.
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,
Force constants are calculated from the sets of forces
A part of dynamical matrix is built from the force constants
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
0 Comments