I have calculated the electron-phonon matrix element for graphene with both a norm-conserving and an ultrasoft pseudopotential. While the matrix elements are giving acceptable values for the norm-conserving pseudopotential (see Fig. 2 from https://journals.aps.org/prb/abstract/1 ... .93.125432 ), the values for ultrasoft pseudopotential differ from the norm-conserving one, as can be seen in Fig 1.
https://uab-my.sharepoint.com/:i:/g/per ... w?e=YxC0ah
Fig 1: Squared modulus of the electron phonon-matrix elements at k=K for q from gamma to K. USSP results are red, NC are in green.
Do USPPs require any special attention or action?
The used pseudos are:
-NC: http://www.pseudo-dojo.org/pseudos/nc-s ... d/C.upf.gz
-USPP: https://www.quantum-espresso.org/upf_fi ... sl.0.1.UPF
The ecutwfc and ecutrho for both pseudos are converged up to differences of ~1 meV.
Structures were provided similar void, and have been relaxed to have in-plane stresses lower than 0.03kbar and forces smaller than 1.0e-6 Ry/au.
For completeness, I also provide input files for both scf, ph and epw.
Thanks,
Mart
# USPP SCF
Code: Select all
&control
calculation ='scf'
restart_mode ='from_scratch',
pseudo_dir = '.',
outdir ='graphene'
prefix ='graphene'
tstress = .true.
tprnfor = .true.
wf_collect =.true.
/
&system
ibrav = 4,
celldm(1) = 4.621162409689604,
celldm(3) = 8.087578323,
nat = 2
ntyp = 1,
ecutwfc = 70.0
ecutrho = 840
nbnd = 16,
occupations ='fixed',
/
&electrons
startingwfc='atomic+random',
diagonalization='david',
conv_thr = 1.0e-12,
mixing_mode = 'local-TF'
/
ATOMIC_SPECIES
C 12.0107 C.upf
ATOMIC_POSITIONS {crystal}
C 0.000000000 0.000000000 0.50000000
C 0.333333333 0.666666667 0.50000000
K_POINTS {automatic}
32 32 1 0 0 0
#USPP PH
Code: Select all
--
&inputph
outdir = './graphene',
prefix = 'graphene',
fildyn = 'graphene.dyn',
fildvscf = 'dvscf',
ldisp = .true.,
nq1 = 16,
nq2 = 16,
nq3 = 1,
tr2_ph = 1.0d-16
/
#USPP EPW1
Code: Select all
--
&inputepw
prefix = 'graphene',
outdir = './graphene/'
dvscf_dir = './save'
elph = .true.
kmaps = .false.
epbwrite = .true.
epbread = .false.
epwwrite = .true.
epwread = .false.
lpolar = .false.
wannierize = .true.
nbndsub = 5
nbndskip = 0
num_iter = 2000
dis_froz_max= 0.0d0
proj(1) = 'f=0.0000000000,0.0000000000,0.500000000:sp3'
proj(2) = 'f=0.3333333333,0.6666666667,0.500000000:pz'
wdata(1) = 'dis_num_iter = 1000'
wdata(2) = 'guiding_centres = true'
wdata(3) = 'bands_plot = .true.'
wdata(4) = 'begin kpoint_path'
wdata(5) = 'G 0.0000000000 0.0000000000 0.0000000000 M 0.5000000000 0.0000000000 0.0000000000'
wdata(6) = 'M 0.5000000000 0.0000000000 0.0000000000 K 0.3333333333 0.3333333333 0.0000000000'
wdata(7) = 'K 0.3333333333 0.3333333333 0.0000000000 G 0.0000000000 0.0000000000 0.0000000000'
wdata(8) = 'end kpoint_path'
elecselfen = .false.
phonselfen = .false.
a2f = .false.
eptemp = 300 !
ngaussw = 0
degaussq = 0.03 ! meV
degaussw = 0.01 ! eV
efermi_read = .true.
fermi_energy = -2.5441
!fsthick = 14.000
nkf1 = 32
nkf2 = 32
nkf3 = 1
nqf1 = 16
nqf2 = 16
nqf3 = 1
nk1 = 32
nk2 = 32
nk3 = 1
nq1 = 16
nq2 = 16
nq3 = 1
/
30 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
0.000000000000000E+00 0.721687836487043E-01 0.000000000000000E+00
0.000000000000000E+00 0.144337567297409E+00 0.000000000000000E+00
0.000000000000000E+00 0.216506350946113E+00 0.000000000000000E+00
0.000000000000000E+00 0.288675134594817E+00 0.000000000000000E+00
0.000000000000000E+00 0.360843918243522E+00 0.000000000000000E+00
0.000000000000000E+00 0.433012701892226E+00 0.000000000000000E+00
0.000000000000000E+00 0.505181485540930E+00 0.000000000000000E+00
0.000000000000000E+00 -0.577350269189635E+00 0.000000000000000E+00
0.625000000000054E-01 0.108253175473056E+00 0.000000000000000E+00
0.625000000000054E-01 0.180421959121761E+00 0.000000000000000E+00
0.625000000000054E-01 0.252590742770465E+00 0.000000000000000E+00
0.625000000000054E-01 0.324759526419169E+00 0.000000000000000E+00
0.625000000000054E-01 0.396928310067874E+00 0.000000000000000E+00
0.625000000000054E-01 0.469097093716578E+00 0.000000000000000E+00
0.625000000000054E-01 0.541265877365282E+00 0.000000000000000E+00
0.125000000000011E+00 0.216506350946113E+00 0.000000000000000E+00
0.125000000000011E+00 0.288675134594817E+00 0.000000000000000E+00
0.125000000000011E+00 0.360843918243522E+00 0.000000000000000E+00
0.125000000000011E+00 0.433012701892226E+00 0.000000000000000E+00
0.125000000000011E+00 0.505181485540930E+00 0.000000000000000E+00
0.125000000000011E+00 0.577350269189635E+00 0.000000000000000E+00
0.187500000000016E+00 0.324759526419169E+00 0.000000000000000E+00
0.187500000000016E+00 0.396928310067874E+00 0.000000000000000E+00
0.187500000000016E+00 0.469097093716578E+00 0.000000000000000E+00
0.187500000000016E+00 0.541265877365282E+00 0.000000000000000E+00
0.250000000000021E+00 0.433012701892226E+00 0.000000000000000E+00
0.250000000000021E+00 0.505181485540930E+00 0.000000000000000E+00
0.250000000000021E+00 0.577350269189635E+00 0.000000000000000E+00
0.312500000000027E+00 0.541265877365282E+00 0.000000000000000E+00
#USPP EPW2
Code: Select all
--
&inputepw
prefix = 'graphene',
outdir = './graphene/'
dvscf_dir = './save'
elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
lpolar = .false.
wannierize = .false.
nbndsub = 5
nbndskip = 0
num_iter = 2000
dis_froz_max= 0.0d0
proj(1) = 'f=0.0000000000,0.0000000000,0.500000000:sp3'
proj(2) = 'f=0.3333333333,0.6666666667,0.500000000:pz'
wdata(1) = 'dis_num_iter = 1000'
wdata(2) = 'guiding_centres = true'
wdata(3) = 'bands_plot = .true.'
wdata(4) = 'begin kpoint_path'
wdata(5) = 'G 0.0000000000 0.0000000000 0.0000000000 M 0.5000000000 0.0000000000 0.0000000000'
wdata(6) = 'M 0.5000000000 0.0000000000 0.0000000000 K 0.3333333333 0.3333333333 0.0000000000'
wdata(7) = 'K 0.3333333333 0.3333333333 0.0000000000 G 0.0000000000 0.0000000000 0.0000000000'
wdata(8) = 'end kpoint_path'
elecselfen = .false.
phonselfen = .false.
a2f = .false.
eptemp = 300 !
ngaussw = 0
degaussq = 0.03 ! meV
degaussw = 0.01 ! eV
prtgkk = .true.
efermi_read = .true.
fermi_energy = -2.5441
fsthick = 27.000
filkf = 'Kpoint.dat'
filqf = 'qpath.dat'
nk1 = 32
nk2 = 32
nk3 = 1
nq1 = 16
nq2 = 16
nq3 = 1
/
30 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
0.000000000000000E+00 0.721687836487043E-01 0.000000000000000E+00
0.000000000000000E+00 0.144337567297409E+00 0.000000000000000E+00
0.000000000000000E+00 0.216506350946113E+00 0.000000000000000E+00
0.000000000000000E+00 0.288675134594817E+00 0.000000000000000E+00
0.000000000000000E+00 0.360843918243522E+00 0.000000000000000E+00
0.000000000000000E+00 0.433012701892226E+00 0.000000000000000E+00
0.000000000000000E+00 0.505181485540930E+00 0.000000000000000E+00
0.000000000000000E+00 -0.577350269189635E+00 0.000000000000000E+00
0.625000000000054E-01 0.108253175473056E+00 0.000000000000000E+00
0.625000000000054E-01 0.180421959121761E+00 0.000000000000000E+00
0.625000000000054E-01 0.252590742770465E+00 0.000000000000000E+00
0.625000000000054E-01 0.324759526419169E+00 0.000000000000000E+00
0.625000000000054E-01 0.396928310067874E+00 0.000000000000000E+00
0.625000000000054E-01 0.469097093716578E+00 0.000000000000000E+00
0.625000000000054E-01 0.541265877365282E+00 0.000000000000000E+00
0.125000000000011E+00 0.216506350946113E+00 0.000000000000000E+00
0.125000000000011E+00 0.288675134594817E+00 0.000000000000000E+00
0.125000000000011E+00 0.360843918243522E+00 0.000000000000000E+00
0.125000000000011E+00 0.433012701892226E+00 0.000000000000000E+00
0.125000000000011E+00 0.505181485540930E+00 0.000000000000000E+00
0.125000000000011E+00 0.577350269189635E+00 0.000000000000000E+00
0.187500000000016E+00 0.324759526419169E+00 0.000000000000000E+00
0.187500000000016E+00 0.396928310067874E+00 0.000000000000000E+00
0.187500000000016E+00 0.469097093716578E+00 0.000000000000000E+00
0.187500000000016E+00 0.541265877365282E+00 0.000000000000000E+00
0.250000000000021E+00 0.433012701892226E+00 0.000000000000000E+00
0.250000000000021E+00 0.505181485540930E+00 0.000000000000000E+00
0.250000000000021E+00 0.577350269189635E+00 0.000000000000000E+00
0.312500000000027E+00 0.541265877365282E+00 0.000000000000000E+00
#NC SCF
Code: Select all
&CONTROL
calculation='scf',
outdir='graphene',
tstress = .true.
tprnfor = .true.
prefix='graphene',
pseudo_dir='./',
verbosity='low',
wf_collect=.true.,
/
&SYSTEM
ibrav=4,
celldm(1)= 4.629208284320491
celldm(3)= 8.073660395766156
nat=2,
ntyp=1,
ecutwfc=100,
input_dft='LDA',
occupations='fixed'
nbnd = 16
/
&ELECTRONS
startingwfc='atomic+random',
diagonalization='david',
conv_thr = 1.0e-12,
mixing_mode = 'local-TF'
/
ATOMIC_SPECIES
C 12.010700d0 C.upf
K_POINTS {automatic}
32 32 1 0 0 0
ATOMIC_POSITIONS (crystal)
C 0.000000000 0.000000000 0.50000000000000
C 0.333333333 0.666666667 0.50000000000000
#NC PH
Code: Select all
--
&inputph
outdir = './graphene',
prefix = 'graphene',
fildyn = 'graphene.dyn',
fildvscf = 'dvscf',
ldisp = .true.,
nq1 = 16,
nq2 = 16,
nq3 = 1,
tr2_ph = 1.0d-16
/
#NC EPW1
Code: Select all
--
&inputepw
prefix = 'graphene',
outdir = './graphene/'
dvscf_dir = './save'
elph = .true.
kmaps = .false.
epbwrite = .true.
epbread = .false.
epwwrite = .true.
epwread = .false.
lpolar = .false.
wannierize = .true.
nbndsub = 5
nbndskip = 0
num_iter = 2000
dis_froz_max= 0.0d0
proj(1) = 'f=0.0000000000,0.0000000000,0.500000000:sp3'
proj(2) = 'f=0.3333333333,0.6666666667,0.500000000:pz'
wdata(1) = 'dis_num_iter = 1000'
wdata(2) = 'guiding_centres = true'
wdata(3) = 'bands_plot = .true.'
wdata(4) = 'begin kpoint_path'
wdata(5) = 'G 0.0000000000 0.0000000000 0.0000000000 M 0.5000000000 0.0000000000 0.0000000000'
wdata(6) = 'M 0.5000000000 0.0000000000 0.0000000000 K 0.3333333333 0.3333333333 0.0000000000'
wdata(7) = 'K 0.3333333333 0.3333333333 0.0000000000 G 0.0000000000 0.0000000000 0.0000000000'
wdata(8) = 'end kpoint_path'
elecselfen = .false.
phonselfen = .false.
a2f = .false.
eptemp = 300 !
ngaussw = 0
degaussq = 0.03 ! meV
degaussw = 0.01 ! eV
efermi_read = .true.
fermi_energy = -2.5596
!fsthick = 14.000
nkf1 = 32
nkf2 = 32
nkf3 = 1
nqf1 = 16
nqf2 = 16
nqf3 = 1
nk1 = 32
nk2 = 32
nk3 = 1
nq1 = 16
nq2 = 16
nq3 = 1
/
30 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
0.000000000000000E+00 0.721687836486904E-01 0.000000000000000E+00
0.000000000000000E+00 0.144337567297381E+00 0.000000000000000E+00
0.000000000000000E+00 0.216506350946071E+00 0.000000000000000E+00
0.000000000000000E+00 0.288675134594762E+00 0.000000000000000E+00
0.000000000000000E+00 0.360843918243452E+00 0.000000000000000E+00
0.000000000000000E+00 0.433012701892143E+00 0.000000000000000E+00
0.000000000000000E+00 0.505181485540833E+00 0.000000000000000E+00
0.000000000000000E+00 -0.577350269189523E+00 0.000000000000000E+00
0.624999999999934E-01 0.108253175473036E+00 0.000000000000000E+00
0.624999999999934E-01 0.180421959121726E+00 0.000000000000000E+00
0.624999999999934E-01 0.252590742770416E+00 0.000000000000000E+00
0.624999999999934E-01 0.324759526419107E+00 0.000000000000000E+00
0.624999999999934E-01 0.396928310067797E+00 0.000000000000000E+00
0.624999999999934E-01 0.469097093716488E+00 0.000000000000000E+00
0.624999999999934E-01 0.541265877365178E+00 0.000000000000000E+00
0.124999999999987E+00 0.216506350946071E+00 0.000000000000000E+00
0.124999999999987E+00 0.288675134594762E+00 0.000000000000000E+00
0.124999999999987E+00 0.360843918243452E+00 0.000000000000000E+00
0.124999999999987E+00 0.433012701892143E+00 0.000000000000000E+00
0.124999999999987E+00 0.505181485540833E+00 0.000000000000000E+00
0.124999999999987E+00 0.577350269189523E+00 0.000000000000000E+00
0.187499999999980E+00 0.324759526419107E+00 0.000000000000000E+00
0.187499999999980E+00 0.396928310067797E+00 0.000000000000000E+00
0.187499999999980E+00 0.469097093716488E+00 0.000000000000000E+00
0.187499999999980E+00 0.541265877365178E+00 0.000000000000000E+00
0.249999999999973E+00 0.433012701892143E+00 0.000000000000000E+00
0.249999999999973E+00 0.505181485540833E+00 0.000000000000000E+00
0.249999999999973E+00 0.577350269189523E+00 0.000000000000000E+00
0.312499999999967E+00 0.541265877365178E+00 0.000000000000000E+00
#NC EPW2
Code: Select all
--
&inputepw
prefix = 'graphene',
outdir = './graphene/'
dvscf_dir = './save'
elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
lpolar = .false.
wannierize = .false.
nbndsub = 5
nbndskip = 0
num_iter = 2000
dis_froz_max= 0.0d0
proj(1) = 'f=0.0000000000,0.0000000000,0.500000000:sp3'
proj(2) = 'f=0.3333333333,0.6666666667,0.500000000:pz'
wdata(1) = 'dis_num_iter = 1000'
wdata(2) = 'guiding_centres = true'
wdata(3) = 'bands_plot = .true.'
wdata(4) = 'begin kpoint_path'
wdata(5) = 'G 0.0000000000 0.0000000000 0.0000000000 M 0.5000000000 0.0000000000 0.0000000000'
wdata(6) = 'M 0.5000000000 0.0000000000 0.0000000000 K 0.3333333333 0.3333333333 0.0000000000'
wdata(7) = 'K 0.3333333333 0.3333333333 0.0000000000 G 0.0000000000 0.0000000000 0.0000000000'
wdata(8) = 'end kpoint_path'
elecselfen = .false.
phonselfen = .false.
a2f = .false.
eptemp = 300 !
ngaussw = 0
degaussq = 0.03 ! meV
degaussw = 0.01 ! eV
prtgkk = .true.
efermi_read = .true.
fermi_energy = -2.5596
fsthick = 27.000
filkf = 'Kpoint.dat'
filqf = 'qpath.dat'
nk1 = 32
nk2 = 32
nk3 = 1
nq1 = 16
nq2 = 16
nq3 = 1
/
30 cartesian
0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00
0.000000000000000E+00 0.721687836486904E-01 0.000000000000000E+00
0.000000000000000E+00 0.144337567297381E+00 0.000000000000000E+00
0.000000000000000E+00 0.216506350946071E+00 0.000000000000000E+00
0.000000000000000E+00 0.288675134594762E+00 0.000000000000000E+00
0.000000000000000E+00 0.360843918243452E+00 0.000000000000000E+00
0.000000000000000E+00 0.433012701892143E+00 0.000000000000000E+00
0.000000000000000E+00 0.505181485540833E+00 0.000000000000000E+00
0.000000000000000E+00 -0.577350269189523E+00 0.000000000000000E+00
0.624999999999934E-01 0.108253175473036E+00 0.000000000000000E+00
0.624999999999934E-01 0.180421959121726E+00 0.000000000000000E+00
0.624999999999934E-01 0.252590742770416E+00 0.000000000000000E+00
0.624999999999934E-01 0.324759526419107E+00 0.000000000000000E+00
0.624999999999934E-01 0.396928310067797E+00 0.000000000000000E+00
0.624999999999934E-01 0.469097093716488E+00 0.000000000000000E+00
0.624999999999934E-01 0.541265877365178E+00 0.000000000000000E+00
0.124999999999987E+00 0.216506350946071E+00 0.000000000000000E+00
0.124999999999987E+00 0.288675134594762E+00 0.000000000000000E+00
0.124999999999987E+00 0.360843918243452E+00 0.000000000000000E+00
0.124999999999987E+00 0.433012701892143E+00 0.000000000000000E+00
0.124999999999987E+00 0.505181485540833E+00 0.000000000000000E+00
0.124999999999987E+00 0.577350269189523E+00 0.000000000000000E+00
0.187499999999980E+00 0.324759526419107E+00 0.000000000000000E+00
0.187499999999980E+00 0.396928310067797E+00 0.000000000000000E+00
0.187499999999980E+00 0.469097093716488E+00 0.000000000000000E+00
0.187499999999980E+00 0.541265877365178E+00 0.000000000000000E+00
0.249999999999973E+00 0.433012701892143E+00 0.000000000000000E+00
0.249999999999973E+00 0.505181485540833E+00 0.000000000000000E+00
0.249999999999973E+00 0.577350269189523E+00 0.000000000000000E+00
0.312499999999967E+00 0.541265877365178E+00 0.000000000000000E+00