How to use phononTB in Wanniertools
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

