Recently, I use EPW to do some calculations on CsSnI3 with spin-orbital coupling. First, I ran ph.x code to calculate the phonon on the basis of the charge density with SOC. When it was finished, I ran q2r.x to get the interatomic force file (CsSnI3.fc). Then I copied it to the save directory generated by running pp.py script and renamed it as ifc.q2r. I want to use the interatomic force of real space to carry out the EPW calculation. According to the online manual, I should set the input parameter 'lifc = .true.'. Indeed, I do so as it is suggested. But I notice that the description of 'lifc' (online manual) reads " If .true. uses the real-space inter-atomic force constant generated by q2r.x. The resulting file must be named “ifc.q2r”. The file has to be placed in the same directory as the dvscf files. In the case of SOC, the file must be named “ifc.q2r.xml” and be in xml format[/b]....."
Since I calculated the phonons of CsSnI3 on the basis of self-consistent charge density with SOC, the interatomic force file should be in xml format.
So my quesitons are (i) How do I get the the interatomic force file in xml format for SOC calculations ?
(ii) When the EPW calculations use the interatomic force of real space (ifc.q2r), it did differ from the calculation results from the direct dynamical matrix in q-space. I have tested it for the mobility of CsSnI3. Excepts of the lifc parameter, all the input parameters are same, but the mobility results are very different. I post some results as follows.
(1) Electronon mobility of CsSnI3 calculated from dynamical matrix generated by ph.x
300.000 3.7233 0.100001E+19 0.161139E+02 x-axis
0.164613E+02 y-axis
0.165952E+02 z-axis
0.163901E+02 avg
350.000 3.7028 0.999991E+18 0.144885E+02 x-axis
0.147638E+02 y-axis
0.148708E+02 z-axis
0.147077E+02 avg
400.000 3.6814 0.999997E+18 0.128358E+02 x-axis
0.130552E+02 y-axis
0.131402E+02 z-axis
0.130104E+02 avg
(2) Mobility of CsSnI3 calculated from ifc.q2r generated by q2r.x
300.000 3.7233 0.100000E+19 0.466892E+03 x-axis
0.520201E+03 y-axis
0.589700E+03 z-axis
0.525598E+03 avg
350.000 3.7029 0.999999E+18 0.434434E+03 x-axis
0.480080E+03 y-axis
0.545107E+03 z-axis
0.486540E+03 avg
400.000 3.6815 0.100000E+19 0.394519E+03 x-axis
0.433105E+03 y-axis
0.491852E+03 z-axis
0.439825E+03 avg
Any suggestions for the above two questions ?
About the interatomic force of real space with SOC
Moderator: stiwari
Re: About the interatomic force of real space with SOC
Dear kczhang:
Regarding your 2nd question on mobility, you need to wait for other developers' answer.
Regarding your 1st quesion:
If you use the recent versions of the EPW code, you don't need to care about the xml format; Please see my previous post at viewtopic.php?p=3193#p3193 .
Sincerely,
H. Lee
Regarding your 2nd question on mobility, you need to wait for other developers' answer.
Regarding your 1st quesion:
If you use the recent versions of the EPW code, you don't need to care about the xml format; Please see my previous post at viewtopic.php?p=3193#p3193 .
Sincerely,
H. Lee
Re: About the interatomic force of real space with SOC
Dear H. Lee,
Thank you very much for your useful suggestions. Now I have another problem on the mobility of the perovskite CsSnI3.
I used the a 4*4*4 q-mesh to calculate the phonon after the self-consistent DFT calculations with 9*9*9 k-mesh. When I finished it, the phonon dispersion looks good compared to that from VASP+phonopy. Then I calculated the mobility in the epw directory as the following procedures.
1. run self-consistent DFT calculations
********************************************************
&system
ibrav=1, celldm(1)= 11.85593986,celldm(2)=1.000,celldm(3)=1.000,
nat=5, ntyp=3,
ecutwfc =70.0,
/
&electrons
conv_thr = 1.0d-9
mixing_beta = 0.1
/
......
K_POINTS automatic
9 9 9 0 0 0
*********************************************************
2. run non-self-consistent DFT calculations with 4*4*4 k-mesh (generated by wannier code)
*******************
&control
calculation='nscf'
.......
K_POINTS crystal
64 #(4*4*4)
..........
3. run epw to wannierize the electronic and phonon bands
******************epw1.in**********************************
........
elph = .true.
ep_coupling = .true.
kmaps = .false.
epbwrite = .true.
epbread = .false.
lifc = .true.
etf_mem = 1
lpolar = .true.
epwwrite = .true.
epwread = .false.
nbndsub = 13
nbndskip = 8
wannierize = .true.
num_iter = 500
dis_win_max = 9
dis_win_min= -2.0
dis_froz_max= 9.0
dis_froz_min= -2.0
proj(1) = 'Cs: l=0'
proj(2) = 'I: l=1'
proj(3) = 'Sn: l=1'
nk1 = 4
nk2 = 4
nk3 = 4
nq1 = 4
nq2 = 4
nq3 = 4
........
************************************
4. run epw to calculate the mobility
*************epw2.in ***********************
elph = .true.
ep_coupling = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
etf_mem = 1
lpolar = .true.
epwwrite = .false.
epwread = .true.
int_mob = .true.
iterative_bte = .false.
scattering = .true.
carrier = .true.
ncarrier = 1.0d+18
nbndsub = 13
nbndskip = 8
fsthick = 3.0
tempsmax = 600
tempsmin = 100
nstemp = 11
degaussw = 0.1
scattering_serta = .true.
nkf1 = 10
nkf2 = 10
nkf3 = 10
nqf1 = 10
nqf2 = 10
nqf3 = 10
..........
*********************************
After the calculation was finished, the hole mobility output as follows.
........
200.000 3.4064 0.100000E+19 0.337460E-04 x-axis
0.348341E-04 y-axis
0.677339E-04 z-axis
0.454380E-04 avg
250.000 3.4149 0.100000E+19 0.111863E-02 x-axis
0.117345E-02 y-axis
0.196736E-02 z-axis
0.141981E-02 avg
300.000 3.4233 0.100000E+19 0.109382E-01 x-axis
0.114324E-01 y-axis
0.176843E-01 z-axis
0.133516E-01 avg
350.000 3.4318 0.100001E+19 0.531298E-01 x-axis
0.553661E-01 y-axis
0.808817E-01 z-axis
0.631259E-01 avg
400.000 3.4402 0.100000E+19 0.167654E+00 x-axis
0.174311E+00 y-axis
0.243941E+00 z-axis
0.195302E+00 avg
450.000 3.4487 0.999993E+18 0.398395E+00 x-axis
0.413466E+00 y-axis
0.559585E+00 z-axis
0.457149E+00 avg
500.000 3.4573 0.999997E+18 0.778188E+00 x-axis
0.806442E+00 y-axis
0.106252E+01 z-axis
0.882382E+00 avg
...................
In my opinion, as the temperature increases, the phonons increasingly perturb the carriers, leading to suppression of mobility. However, the output
mobility seems to increase as the temperature increases. I am very puzzled about it. I have changed the parameters 'degaussw, degaussq, fsthick' and tried to calculate it. But the increasing trend of mobility still exists. Would you give me some suggestions?
Best regards
Kai-Cheng Zhang
Thank you very much for your useful suggestions. Now I have another problem on the mobility of the perovskite CsSnI3.
I used the a 4*4*4 q-mesh to calculate the phonon after the self-consistent DFT calculations with 9*9*9 k-mesh. When I finished it, the phonon dispersion looks good compared to that from VASP+phonopy. Then I calculated the mobility in the epw directory as the following procedures.
1. run self-consistent DFT calculations
********************************************************
&system
ibrav=1, celldm(1)= 11.85593986,celldm(2)=1.000,celldm(3)=1.000,
nat=5, ntyp=3,
ecutwfc =70.0,
/
&electrons
conv_thr = 1.0d-9
mixing_beta = 0.1
/
......
K_POINTS automatic
9 9 9 0 0 0
*********************************************************
2. run non-self-consistent DFT calculations with 4*4*4 k-mesh (generated by wannier code)
*******************
&control
calculation='nscf'
.......
K_POINTS crystal
64 #(4*4*4)
..........
3. run epw to wannierize the electronic and phonon bands
******************epw1.in**********************************
........
elph = .true.
ep_coupling = .true.
kmaps = .false.
epbwrite = .true.
epbread = .false.
lifc = .true.
etf_mem = 1
lpolar = .true.
epwwrite = .true.
epwread = .false.
nbndsub = 13
nbndskip = 8
wannierize = .true.
num_iter = 500
dis_win_max = 9
dis_win_min= -2.0
dis_froz_max= 9.0
dis_froz_min= -2.0
proj(1) = 'Cs: l=0'
proj(2) = 'I: l=1'
proj(3) = 'Sn: l=1'
nk1 = 4
nk2 = 4
nk3 = 4
nq1 = 4
nq2 = 4
nq3 = 4
........
************************************
4. run epw to calculate the mobility
*************epw2.in ***********************
elph = .true.
ep_coupling = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
etf_mem = 1
lpolar = .true.
epwwrite = .false.
epwread = .true.
int_mob = .true.
iterative_bte = .false.
scattering = .true.
carrier = .true.
ncarrier = 1.0d+18
nbndsub = 13
nbndskip = 8
fsthick = 3.0
tempsmax = 600
tempsmin = 100
nstemp = 11
degaussw = 0.1
scattering_serta = .true.
nkf1 = 10
nkf2 = 10
nkf3 = 10
nqf1 = 10
nqf2 = 10
nqf3 = 10
..........
*********************************
After the calculation was finished, the hole mobility output as follows.
........
200.000 3.4064 0.100000E+19 0.337460E-04 x-axis
0.348341E-04 y-axis
0.677339E-04 z-axis
0.454380E-04 avg
250.000 3.4149 0.100000E+19 0.111863E-02 x-axis
0.117345E-02 y-axis
0.196736E-02 z-axis
0.141981E-02 avg
300.000 3.4233 0.100000E+19 0.109382E-01 x-axis
0.114324E-01 y-axis
0.176843E-01 z-axis
0.133516E-01 avg
350.000 3.4318 0.100001E+19 0.531298E-01 x-axis
0.553661E-01 y-axis
0.808817E-01 z-axis
0.631259E-01 avg
400.000 3.4402 0.100000E+19 0.167654E+00 x-axis
0.174311E+00 y-axis
0.243941E+00 z-axis
0.195302E+00 avg
450.000 3.4487 0.999993E+18 0.398395E+00 x-axis
0.413466E+00 y-axis
0.559585E+00 z-axis
0.457149E+00 avg
500.000 3.4573 0.999997E+18 0.778188E+00 x-axis
0.806442E+00 y-axis
0.106252E+01 z-axis
0.882382E+00 avg
...................
In my opinion, as the temperature increases, the phonons increasingly perturb the carriers, leading to suppression of mobility. However, the output
mobility seems to increase as the temperature increases. I am very puzzled about it. I have changed the parameters 'degaussw, degaussq, fsthick' and tried to calculate it. But the increasing trend of mobility still exists. Would you give me some suggestions?
Best regards
Kai-Cheng Zhang