[Q-e-developers] Problem of calculation of electron-phonon coupling matrix elements

ylniu at iccas.ac.cn ylniu at iccas.ac.cn
Wed Sep 3 12:38:32 CEST 2014


Dear all,
 
I modified the Quantum Espresso to output the electron-phonon coupling matrix elements.
For test, I added the following code into the souce code file PHonon/PH/elphon.f90
===================== PHonon/PH/elphon.f90 =========================
...
33   USE io_global, ONLY: ionode
...
306  if (ionode) write(81,'(2es25.15)') elphmat
...
====================================================================
But the results were different for different number of CPUs (q: 2, irr: 2).
(
======================= ph.in =====================================
elph test
&inputph
  tr2_ph          = 1.0d-12
  prefix          = graphene
  fildyn          = graphene.dyn
  fildvscf        = "graphene.dvscf"
  outdir          = "./scratch"
  ldisp           = .true.
  trans           = .true.
  recover         = .false.
  amass(1)        = 12.01078
  electron_phonon = interpolated
  start_q         = 2
  last_q          = 2
  start_irr       = 2
  last_irr        = 2
  nq1             = 4
  nq2             = 4
  nq3             = 1
/
====================================================================
)
My question is how can I get same el_ph_mat (electron-phonon coupling matrix elements)
when I use different cpus?
 
For 1 cpu:
=========================== fort.81 ================================
    1     2.111912598770554E-01   -6.122639691709350E-02
    2     5.646932759590451E-01    1.045595099527000E-01
    3     1.436535775520254E-10    1.083914503494771E-11
    4     1.094600778801666E-09    2.504425167943168E-11
    5     7.406599464895909E-03   -5.581622507957913E-04
    6     3.942451213059297E-11    7.370401683617228E-12
    7    -9.974265984403387E-05   -2.139288784503638E-02
    8     3.052548739767885E-02    1.640485990372430E-02
    9    -7.681900372094940E-11    6.161802834776561E-11
   10     8.557927431341962E-11    1.277138964601295E-10
   11     3.178778299742998E-03    1.780936714147213E-02
   12    -2.313869774610804E-08   -3.323111134144729E-09
   13    -1.051576778201094E-01    4.251159246757611E-01
   14    -1.026152360177541E-10   -4.531254820717961E-11
   15     3.982685844382961E-02    7.995931830909098E-02
   16    -8.740606048333697E-11    7.298086675600054E-11
   17     6.622031149305701E-11   -3.157736485190878E-11
   18     2.573175847093366E-03   -1.137866938049060E-03
   19     2.295305517972012E-02   -4.483954632608098E-02
   20    -2.000200445129395E-11   -3.772488498091808E-11
====================================================================
For 2 cpu2:
=========================== fort.81 ================================
    1    -2.121388054865546E-01   -5.785768025260994E-02
    2    -4.419400133461050E-01   -3.667423421446154E-01
    3    -8.808838259990732E-12   -2.170332412865152E-11
    4    -1.955122727126737E-10   -9.647281124999796E-10
    5     7.408874237136150E-03   -5.272362799164949E-04
    6     5.779954654729292E-12    1.007403277542557E-11
    7    -1.854532980357099E-02   -1.066184835345434E-02
    8    -3.465409530304538E-02    2.505231280653718E-04
    9    -2.153588354036421E-12    2.118436676672506E-12
   10     1.266670046405443E-11    2.339256224262198E-11
   11    -1.668690509592920E-02    6.987643133170195E-03
   12    -6.776197927390573E-11    2.339056658431926E-08
   13     1.175445896610968E-01    4.218586406365152E-01
   14    -2.463043811994011E-11   -1.676870038427847E-11
   15    -2.582075285123000E-02   -8.551695002500706E-02
   16     7.494644308684727E-11   -9.442933058538721E-13
   17    -2.975030897848215E-12    1.316728289461655E-11
   18    -2.194224142005811E-03   -1.762019256332976E-03
   19    -5.032454009263448E-02   -2.218677935776754E-03
   20     2.533689991702891E-11    3.969460625376762E-11
====================================================================
I check the scratch file:
scratch/graphene.save/K00001
The eigenvalues in eigenval.xml are different too. So I guess the wavefucntions
in evc are different. Maybe this is one reason for different el_ph_mat.
For 1 cpu:
=========================== eigenval.xml ===========================
  1 <?xml version="1.0"?>
  2 <?iotk version="1.2.0"?>
  3 <?iotk file_version="1.0"?>
  4 <?iotk binary="F"?>
  5 <?iotk qe_syntax="F"?>
  6 <Root>
  7   <INFO nbnd="40" ik="1"/>
  8   <UNITS_FOR_ENERGIES UNITS="Hartree"/>
  9   <EIGENVALUES type="real" size="40">
10 -9.372967763235482E-001
11 -2.859114711106425E-001
12  2.423809457262652E-002
13  3.936657793790457E-002
14  3.936658173590124E-002
15  9.971894818709115E-002
16  1.190274661273175E-001
17  2.257048498897421E-001
18  3.329934680466993E-001
19  3.454525069461828E-001
20  3.454525104092048E-001
====================================================================
For 2 cpu2:
=========================== eigenval.xml ===========================
  1 <?xml version="1.0"?>
  2 <?iotk version="1.2.0"?>
  3 <?iotk file_version="1.0"?>
  4 <?iotk binary="F"?>
  5 <?iotk qe_syntax="F"?>
  6 <Root>
  7   <INFO nbnd="40" ik="1"/>
  8   <UNITS_FOR_ENERGIES UNITS="Hartree"/>
  9   <EIGENVALUES type="real" size="40">
10 -9.372956079934280E-001
11 -2.859105837217967E-001
12  2.423788487560791E-002
13  3.936777622696248E-002
14  3.936778002499225E-002
15  9.971873811833652E-002
16  1.190272536967113E-001
17  2.257059978019067E-001
18  3.329933593817723E-001
19  3.454536601077474E-001
20  3.454536635707072E-001
====================================================================
I compiled Quantum Espresso with external scalapack.
 
Attatched
======================= scf.in =====================================
&control
    calculation     = 'scf'
    restart_mode    = 'from_scratch',
    wf_collect      = .true.
    tstress         = .true.
    tprnfor         = .true.
    prefix          = 'graphene',
    pseudo_dir      = './pseudo',
    outdir          = './scratch'
/
&system
    ibrav           =  4
    a               =  2.4637
    b               =  2.4637
    c               = 10.0000
    cosab           = -0.5
    cosbc           =  0.0
    cosac           =  0.0
    nbnd            = 40
    nat             =  2
    ntyp            =  1
    ecutwfc         = 10
    ecutrho         = 40
    occupations     = 'smearing'
    smearing        = 'mp'
    degauss         = 0.01
    london          = .true.
/
&electrons
    diagonalization = 'david'
    conv_thr        = 1.0d-8
    mixing_beta     = 0.7
/
ATOMIC_SPECIES
  C  12.01078  C.pbe-n-rrkjus_psl.0.1.UPF
ATOMIC_POSITIONS {crystal}
C        0.666666667   0.333333333   0.000000000
C        0.333333333   0.666666667   0.000000000
K_POINTS {automatic}
8 8 1 0 0 0
====================================================================
======================= nscf.fit.in ================================
&control
    calculation     = 'nscf'
    restart_mode    = 'from_scratch',
    wf_collect      = .true.
    tstress         = .true.
    tprnfor         = .true.
    prefix          = 'graphene',
    pseudo_dir      = './pseudo',
    outdir          = './scratch'
/
&system
    ibrav           =  4
    a               =  2.4637
    b               =  2.4637
    c               = 10.0000
    cosab           = -0.5
    cosbc           =  0.0
    cosac           =  0.0
    nbnd            = 40
    nat             =  2
    ntyp            =  1
    ecutwfc         = 10
    ecutrho         = 40
    occupations     = 'smearing'
    smearing        = 'mp'
    degauss         = 0.01
    london          = .true.
    la2F            = .true.
/
&electrons
    diagonalization = 'david'
    conv_thr        = 1.0d-8
    mixing_beta     = 0.7
/
ATOMIC_SPECIES
  C  12.01078  C.pbe-n-rrkjus_psl.0.1.UPF
ATOMIC_POSITIONS {crystal}
C        0.666666667   0.333333333   0.000000000
C        0.333333333   0.666666667   0.000000000
K_POINTS {automatic}
8 8 1 0 0 0
====================================================================
======================= nscf.in ====================================
&control
    calculation     = 'scf'
    restart_mode    = 'from_scratch',
    wf_collect      = .true.
    tstress         = .true.
    tprnfor         = .true.
    prefix          = 'graphene',
    pseudo_dir      = './pseudo',
    outdir          = './scratch'
/
&system
    ibrav           =  4
    a               =  2.4637
    b               =  2.4637
    c               = 10.0000
    cosab           = -0.5
    cosbc           =  0.0
    cosac           =  0.0
    nbnd            = 40
    nat             =  2
    ntyp            =  1
    ecutwfc         = 10
    ecutrho         = 40
    occupations     = 'smearing'
    smearing        = 'mp'
    degauss         = 0.01
    london          = .true.
/
&electrons
    diagonalization = 'david'
    conv_thr        = 1.0d-8
    mixing_beta     = 0.7
/
ATOMIC_SPECIES
  C  12.01078  C.pbe-n-rrkjus_psl.0.1.UPF
ATOMIC_POSITIONS {crystal}
C        0.666666667   0.333333333   0.000000000
C        0.333333333   0.666666667   0.000000000
K_POINTS {automatic}
4 4 1 0 0 0
====================================================================
======================= ph.in =====================================
elph test
&inputph
  tr2_ph          = 1.0d-12
  prefix          = graphene
  fildyn          = graphene.dyn
  fildvscf        = "graphene.dvscf"
  outdir          = "./scratch"
  ldisp           = .true.
  trans           = .true.
  recover         = .false.
  amass(1)        = 12.01078
  electron_phonon = interpolated
  start_q         = 2
  last_q          = 2
  start_irr       = 2
  last_irr        = 2
  nq1             = 4
  nq2             = 4
  nq3             = 1
/
====================================================================
 
Thanks in advance for your help and any reply!
 


Ying-Li Niu
-------------------------------------
Institute of Chemistry
Chinese Academy of Sciences
Zhong Guan Cun North First Street 2,
100190 Beijing, China
Phone: +86-10-62552723
email: ylniu at iccas.ac.cn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20140903/6e63418e/attachment.html>


More information about the developers mailing list