PhononTB in Wanniertools

phonon_hr.py aims to transform the FORCE_CONSTANTS into the wannier90_hr.dat which can be read by the wanniertools. This script is wirrten by python2 which is not compatible with Python3.

Complile phononTB

First, we need to create a python2 vitual environment by anaconda and install phononpy of 1.11.8 version.

1
2
3
4
$ tar zxvf phononTB_hr.dat.tar.gz
$ cd phononTB
$ conda activate python2
$ conda install phononpy=1.11.8

We only need to attach current path to system environment variables.
1
2
3
4
~~~~~~~~~~~~.bashrc/.zshr~~~~~~~~~~~~~~
export PATH="~/wannier_tools/phonopyTB:$PATH"
export PYTHONPATH="~/wannier_tools/phonopyTB:$PYTHONPATH"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wannier90_hr.dat of phonons

Take the VASP results as an example.
We can get the symmetried FORCE_CONSTANTS from FORCE_SETSby phonopy.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
~~~~~~~~~~~~~~~~band.conf~~~~~~~~~~~~~~~~~~~~~~~~
ATOM_NAME = Fe Si
DIM = 3 3 3
FORCE_CONSTANTS = WRITE #or READ
BAND = 0.5 0 0 0 0 0 0.5 0.5 0.5 0.5 0.5 0
BAND_POINTS=100
FC_SYMMETRY = 1
fc_spg_symmetry = .true.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~POSCAR~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FeSi
1.0
4.3728736701268671 -0.0000000000000000 0.0000000000000000 ! crystal lattice information
0.0000000000000000 4.3728736701268671 -0.0000000000000000
0.0000000000000000 -0.0000000000000000 4.3728736701268671
Fe Si
4 4
D
0.8626536127372326 0.8626536127372326 0.8626536127372326
0.6373463872627674 0.1373463872627674 0.3626536127372325
0.1373463872627674 0.3626536127372325 0.6373463872627674
0.3626536127372325 0.6373463872627674 0.1373463872627674
0.1589793855242470 0.1589793855242470 0.1589793855242470
0.3410206144757528 0.8410206144757529 0.6589793855242471
0.8410206144757529 0.6589793855242471 0.3410206144757528
0.6589793855242471 0.3410206144757528 0.8410206144757529
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$ python phonon_hr.py --dim="3 3 3" -p band.conf -c POSCAR

Then you will get the wannier90_hr.dat of phonons.
If you want to consider the LO-TO split, we need to calculate the BORN by vasp.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
~~~~~~~~~~INCAR~~~~~~~~~~~~
PREC = Accurate
IBRION = -1
NELMIN = 5
ENCUT = 500
EDIFF = 1.000000e-08
ISMEAR = 0
SIGMA = 1.000000e-02
IALGO = 38
LREAL = .FALSE.
LWAVE = .FALSE.
LCHARG = .FALSE.
LEPSILON = .TRUE.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ srun vasp > run.log
$ phononpy-vasp-born > BORN
$ phonopy -p --nac band.conf