[Q-e-developers] Probable bug in phonons

Giovanni Pizzi giovanni.pizzi at epfl.ch
Fri Nov 28 14:33:10 CET 2014


Dear QE developers,

we have been working with 'simple' ferromagnetic bcc iron and were trying to calculate phonon dispersion with ph.x (5.1 QE version) on different q meshes at the theoretical electronic equilibrium volume and 'well' converged input parameters. Playing with the mesh of q points we have noticed the following:

Apparently, the frequencies calculated at q points that do not belong to the k-mesh of the underlying scf calculation are either negative or apparently 'random'.

On the other hand, q points belonging to the k-mesh display expected reasonable values. This means that using a q-mesh fully included in the k-mesh, you are able to get reasonable phonon dispersions comparable with experiments and you do not notice the problem.

Trying to rationalize a bit more the problem, we have noticed that this behavior can be systematically reproduced with different svn versions of QE, back at least to revision 8500 and probably also before (we tested versions from 8500 to 11000 at steps of 500, and all provided the same "wrong" results, see data below). The test can be reproduced in reasonably short time with the input files reported at the end of this email (with pslibrary pseudos).

We also provide in attachment an example of this behavior for the well converged calculations of Fe (input&outputs of pw and ph; kmesh=24x24x24, and phonons on 6x6x6 and 10x10x10 meshes).
The attached figures show an example of the problem when the q-points are chosen along the (0,0,z) line, and a comparison between the "correct" interpolation for the 6x6x6 q-mesh (note that all phonons are positive) and the wrong interpolation for the 10x10x10 q-mesh.

We wonder if someone else has ever experienced such a problem. We also think that this might be considered a severe problem that should be addressed especially because no error or warning message is provided.

Thank you in advance,

Daniele Dragoni and Giovanni Pizzi


[cid:3c3a86b8-3ed2-4afa-bf1d-c5a0d9e63170 at intranet.epfl.ch]


Data from older revisions:
(folder name: SVN revision; the 8 qpoints belong to a 4x4x4 mesh, and only qpoints 1,3,8 are also in the 6x6x6 kmesh used for the SCF calculation; input files for SCF and PH follow below)
8500/dynmat1:     omega( 1) =      -0.590377 [THz] =     -19.692841 [cm-1]
8500/dynmat1:     omega( 2) =      -0.590377 [THz] =     -19.692841 [cm-1]
8500/dynmat1:     omega( 3) =      -0.590377 [THz] =     -19.692841 [cm-1]
8500/dynmat2:     omega( 1) =     -18.238132 [THz] =    -608.358600 [cm-1]
8500/dynmat2:     omega( 2) =     -14.917870 [THz] =    -497.606579 [cm-1]
8500/dynmat2:     omega( 3) =      -5.360682 [THz] =    -178.813111 [cm-1]
8500/dynmat3:     omega( 1) =       5.116020 [THz] =     170.652049 [cm-1]
8500/dynmat3:     omega( 2) =       6.910189 [THz] =     230.499104 [cm-1]
8500/dynmat3:     omega( 3) =       9.840192 [THz] =     328.233473 [cm-1]
8500/dynmat4:     omega( 1) =     -17.878328 [THz] =    -596.356827 [cm-1]
8500/dynmat4:     omega( 2) =     -14.055078 [THz] =    -468.826953 [cm-1]
8500/dynmat4:     omega( 3) =       4.075287 [THz] =     135.936946 [cm-1]
8500/dynmat5:     omega( 1) =     -20.413217 [THz] =    -680.911617 [cm-1]
8500/dynmat5:     omega( 2) =     -20.309404 [THz] =    -677.448788 [cm-1]
8500/dynmat5:     omega( 3) =     -20.309404 [THz] =    -677.448788 [cm-1]
8500/dynmat6:     omega( 1) =     -18.153438 [THz] =    -605.533512 [cm-1]
8500/dynmat6:     omega( 2) =     -13.491302 [THz] =    -450.021393 [cm-1]
8500/dynmat6:     omega( 3) =       7.301284 [THz] =     243.544619 [cm-1]
8500/dynmat7:     omega( 1) =     -19.842645 [THz] =    -661.879388 [cm-1]
8500/dynmat7:     omega( 2) =     -19.842645 [THz] =    -661.879388 [cm-1]
8500/dynmat7:     omega( 3) =     -19.842645 [THz] =    -661.879388 [cm-1]
8500/dynmat8:     omega( 1) =      10.185086 [THz] =     339.737896 [cm-1]
8500/dynmat8:     omega( 2) =      10.185086 [THz] =     339.737896 [cm-1]
8500/dynmat8:     omega( 3) =      10.185086 [THz] =     339.737896 [cm-1]
9000/dynmat1:     omega( 1) =      -0.592712 [THz] =     -19.770745 [cm-1]
9000/dynmat1:     omega( 2) =      -0.592712 [THz] =     -19.770745 [cm-1]
9000/dynmat1:     omega( 3) =      -0.592712 [THz] =     -19.770745 [cm-1]
9000/dynmat2:     omega( 1) =     -18.237125 [THz] =    -608.324994 [cm-1]
9000/dynmat2:     omega( 2) =     -14.916639 [THz] =    -497.565517 [cm-1]
9000/dynmat2:     omega( 3) =      -5.358705 [THz] =    -178.747149 [cm-1]
9000/dynmat3:     omega( 1) =       5.117581 [THz] =     170.704131 [cm-1]
9000/dynmat3:     omega( 2) =       6.911330 [THz] =     230.537139 [cm-1]
9000/dynmat3:     omega( 3) =       9.841556 [THz] =     328.278961 [cm-1]
9000/dynmat4:     omega( 1) =     -17.877269 [THz] =    -596.321499 [cm-1]
9000/dynmat4:     omega( 2) =     -14.053790 [THz] =    -468.783972 [cm-1]
9000/dynmat4:     omega( 3) =       4.077984 [THz] =     136.026917 [cm-1]
9000/dynmat5:     omega( 1) =     -20.410496 [THz] =    -680.820848 [cm-1]
9000/dynmat5:     omega( 2) =     -20.306865 [THz] =    -677.364092 [cm-1]
9000/dynmat5:     omega( 3) =     -20.306865 [THz] =    -677.364092 [cm-1]
9000/dynmat6:     omega( 1) =     -18.152324 [THz] =    -605.496350 [cm-1]
9000/dynmat6:     omega( 2) =     -13.489915 [THz] =    -449.975145 [cm-1]
9000/dynmat6:     omega( 3) =       7.302901 [THz] =     243.598557 [cm-1]
9000/dynmat7:     omega( 1) =     -19.840424 [THz] =    -661.805304 [cm-1]
9000/dynmat7:     omega( 2) =     -19.840424 [THz] =    -661.805304 [cm-1]
9000/dynmat7:     omega( 3) =     -19.840424 [THz] =    -661.805304 [cm-1]
9000/dynmat8:     omega( 1) =      10.185938 [THz] =     339.766315 [cm-1]
9000/dynmat8:     omega( 2) =      10.185938 [THz] =     339.766315 [cm-1]
9000/dynmat8:     omega( 3) =      10.185938 [THz] =     339.766315 [cm-1]
9500/dynmat1:     omega( 1) =      -0.590362 [THz] =     -19.692343 [cm-1]
9500/dynmat1:     omega( 2) =      -0.590362 [THz] =     -19.692343 [cm-1]
9500/dynmat1:     omega( 3) =      -0.590362 [THz] =     -19.692343 [cm-1]
9500/dynmat2:     omega( 1) =     -18.238237 [THz] =    -608.362092 [cm-1]
9500/dynmat2:     omega( 2) =     -14.917871 [THz] =    -497.606611 [cm-1]
9500/dynmat2:     omega( 3) =      -5.360685 [THz] =    -178.813195 [cm-1]
9500/dynmat3:     omega( 1) =       5.116022 [THz] =     170.652121 [cm-1]
9500/dynmat3:     omega( 2) =       6.910191 [THz] =     230.499164 [cm-1]
9500/dynmat3:     omega( 3) =       9.840788 [THz] =     328.253358 [cm-1]
9500/dynmat4:     omega( 1) =     -17.878327 [THz] =    -596.356802 [cm-1]
9500/dynmat4:     omega( 2) =     -14.055044 [THz] =    -468.825819 [cm-1]
9500/dynmat4:     omega( 3) =       4.075301 [THz] =     135.937407 [cm-1]
9500/dynmat5:     omega( 1) =     -20.413130 [THz] =    -680.908710 [cm-1]
9500/dynmat5:     omega( 2) =     -20.309403 [THz] =    -677.448775 [cm-1]
9500/dynmat5:     omega( 3) =     -20.309403 [THz] =    -677.448775 [cm-1]
9500/dynmat6:     omega( 1) =     -18.153469 [THz] =    -605.534553 [cm-1]
9500/dynmat6:     omega( 2) =     -13.491302 [THz] =    -450.021402 [cm-1]
9500/dynmat6:     omega( 3) =       7.301280 [THz] =     243.544500 [cm-1]
9500/dynmat7:     omega( 1) =     -19.842973 [THz] =    -661.890323 [cm-1]
9500/dynmat7:     omega( 2) =     -19.842973 [THz] =    -661.890323 [cm-1]
9500/dynmat7:     omega( 3) =     -19.842973 [THz] =    -661.890323 [cm-1]
9500/dynmat8:     omega( 1) =      10.185085 [THz] =     339.737862 [cm-1]
9500/dynmat8:     omega( 2) =      10.185085 [THz] =     339.737862 [cm-1]
9500/dynmat8:     omega( 3) =      10.185085 [THz] =     339.737862 [cm-1]
10000/dynmat1:     freq (    1) =      -0.590365 [THz] = -19.692448 [cm-1]
10000/dynmat1:     freq (    2) =      -0.590365 [THz] = -19.692448 [cm-1]
10000/dynmat1:     freq (    3) =      -0.590365 [THz] = -19.692448 [cm-1]
10000/dynmat2:     freq (    1) =     -18.238245 [THz] = -608.362357 [cm-1]
10000/dynmat2:     freq (    2) =     -14.917869 [THz] = -497.606564 [cm-1]
10000/dynmat2:     freq (    3) =      -5.360684 [THz] = -178.813180 [cm-1]
10000/dynmat3:     freq (    1) =       5.116023 [THz] = 170.652156 [cm-1]
10000/dynmat3:     freq (    2) =       6.910189 [THz] = 230.499110 [cm-1]
10000/dynmat3:     freq (    3) =       9.840795 [THz] = 328.253573 [cm-1]
10000/dynmat4:     freq (    1) =     -17.878328 [THz] = -596.356839 [cm-1]
10000/dynmat4:     freq (    2) =     -14.055079 [THz] = -468.826956 [cm-1]
10000/dynmat4:     freq (    3) =       4.075245 [THz] = 135.935550 [cm-1]
10000/dynmat5:     freq (    1) =     -20.413139 [THz] = -680.909014 [cm-1]
10000/dynmat5:     freq (    2) =     -20.309404 [THz] = -677.448789 [cm-1]
10000/dynmat5:     freq (    3) =     -20.309404 [THz] = -677.448789 [cm-1]
10000/dynmat6:     freq (    1) =     -18.153472 [THz] = -605.534658 [cm-1]
10000/dynmat6:     freq (    2) =     -13.491303 [THz] = -450.021432 [cm-1]
10000/dynmat6:     freq (    3) =       7.301284 [THz] = 243.544606 [cm-1]
10000/dynmat7:     freq (    1) =     -19.842972 [THz] = -661.890313 [cm-1]
10000/dynmat7:     freq (    2) =     -19.842972 [THz] = -661.890313 [cm-1]
10000/dynmat7:     freq (    3) =     -19.842972 [THz] = -661.890313 [cm-1]
10000/dynmat8:     freq (    1) =      10.185084 [THz] = 339.737838 [cm-1]
10000/dynmat8:     freq (    2) =      10.185084 [THz] = 339.737838 [cm-1]
10000/dynmat8:     freq (    3) =      10.185084 [THz] = 339.737838 [cm-1]
10500/dynmat1:     freq (    1) =      -0.590364 [THz] = -19.692432 [cm-1]
10500/dynmat1:     freq (    2) =      -0.590364 [THz] = -19.692432 [cm-1]
10500/dynmat1:     freq (    3) =      -0.590364 [THz] = -19.692432 [cm-1]
10500/dynmat2:     freq (    1) =     -18.238223 [THz] = -608.361647 [cm-1]
10500/dynmat2:     freq (    2) =     -14.917870 [THz] = -497.606597 [cm-1]
10500/dynmat2:     freq (    3) =      -5.360684 [THz] = -178.813170 [cm-1]
10500/dynmat3:     freq (    1) =       5.116022 [THz] = 170.652112 [cm-1]
10500/dynmat3:     freq (    2) =       6.910191 [THz] = 230.499148 [cm-1]
10500/dynmat3:     freq (    3) =       9.840786 [THz] = 328.253285 [cm-1]
10500/dynmat4:     freq (    1) =     -17.878328 [THz] = -596.356829 [cm-1]
10500/dynmat4:     freq (    2) =     -14.055010 [THz] = -468.824685 [cm-1]
10500/dynmat4:     freq (    3) =       4.075346 [THz] = 135.938912 [cm-1]
10500/dynmat5:     freq (    1) =     -20.413145 [THz] = -680.909226 [cm-1]
10500/dynmat5:     freq (    2) =     -20.309403 [THz] = -677.448780 [cm-1]
10500/dynmat5:     freq (    3) =     -20.309403 [THz] = -677.448780 [cm-1]
10500/dynmat6:     freq (    1) =     -18.153472 [THz] = -605.534649 [cm-1]
10500/dynmat6:     freq (    2) =     -13.491302 [THz] = -450.021408 [cm-1]
10500/dynmat6:     freq (    3) =       7.301281 [THz] = 243.544530 [cm-1]
10500/dynmat7:     freq (    1) =     -19.842973 [THz] = -661.890327 [cm-1]
10500/dynmat7:     freq (    2) =     -19.842973 [THz] = -661.890327 [cm-1]
10500/dynmat7:     freq (    3) =     -19.842973 [THz] = -661.890327 [cm-1]
10500/dynmat8:     freq (    1) =      10.185084 [THz] = 339.737839 [cm-1]
10500/dynmat8:     freq (    2) =      10.185084 [THz] = 339.737839 [cm-1]
10500/dynmat8:     freq (    3) =      10.185084 [THz] = 339.737839 [cm-1]
11000/dynmat1:     freq (    1) =      -0.590368 [THz] = -19.692544 [cm-1]
11000/dynmat1:     freq (    2) =      -0.590368 [THz] = -19.692544 [cm-1]
11000/dynmat1:     freq (    3) =      -0.590368 [THz] = -19.692544 [cm-1]
11000/dynmat2:     freq (    1) =     -18.238164 [THz] = -608.359663 [cm-1]
11000/dynmat2:     freq (    2) =     -14.917869 [THz] = -497.606558 [cm-1]
11000/dynmat2:     freq (    3) =      -5.360686 [THz] = -178.813223 [cm-1]
11000/dynmat3:     freq (    1) =       5.116021 [THz] = 170.652098 [cm-1]
11000/dynmat3:     freq (    2) =       6.910193 [THz] = 230.499225 [cm-1]
11000/dynmat3:     freq (    3) =       9.840788 [THz] = 328.253370 [cm-1]
11000/dynmat4:     freq (    1) =     -17.878328 [THz] = -596.356825 [cm-1]
11000/dynmat4:     freq (    2) =     -14.055063 [THz] = -468.826451 [cm-1]
11000/dynmat4:     freq (    3) =       4.075210 [THz] = 135.934363 [cm-1]
11000/dynmat5:     freq (    1) =     -20.413252 [THz] = -680.912796 [cm-1]
11000/dynmat5:     freq (    2) =     -20.309404 [THz] = -677.448789 [cm-1]
11000/dynmat5:     freq (    3) =     -20.309404 [THz] = -677.448789 [cm-1]
11000/dynmat6:     freq (    1) =     -18.153474 [THz] = -605.534704 [cm-1]
11000/dynmat6:     freq (    2) =     -13.491302 [THz] = -450.021399 [cm-1]
11000/dynmat6:     freq (    3) =       7.301282 [THz] = 243.544563 [cm-1]
11000/dynmat7:     freq (    1) =     -19.842972 [THz] = -661.890317 [cm-1]
11000/dynmat7:     freq (    2) =     -19.842972 [THz] = -661.890317 [cm-1]
11000/dynmat7:     freq (    3) =     -19.842972 [THz] = -661.890317 [cm-1]
11000/dynmat8:     freq (    1) =      10.185085 [THz] = 339.737859 [cm-1]
11000/dynmat8:     freq (    2) =      10.185085 [THz] = 339.737859 [cm-1]
11000/dynmat8:     freq (    3) =      10.185085 [THz] = 339.737859 [cm-1]


$ cat pw.in

&CONTROL
 calculation = 'scf'
 outdir = './out/'
 prefix = 'aiida'
 pseudo_dir = './pseudo/'
 restart_mode = 'from_scratch'
 verbosity = 'high'
/
&SYSTEM
 degauss =   1.0000000000d-02
 ecutrho =   3.2000000000d+02
 ecutwfc =   4.0000000000d+01
 ibrav = 0
 nat = 1
 nspin = 2
 ntyp = 1
 occupations = 'smearing'
 smearing = 'marzari-vanderbilt'
 starting_magnetization =   3.6000000000d-01
/
&ELECTRONS
 conv_thr =   1.0000000000d-10
 mixing_beta =   2.0000000000d-01
/
ATOMIC_SPECIES
Fe     55.845 Fe.pbe-spn-rrkjus_psl.0.2.1-tested-pslib030.UPF
ATOMIC_POSITIONS angstrom
Fe           0.0000000000       0.0000000000       0.0000000000
K_POINTS automatic
6 6 6 0 0 0
CELL_PARAMETERS angstrom
     1.4167999999       1.4167999999       1.4167999999
    -1.4167999999       1.4167999999       1.4167999999
    -1.4167999999      -1.4167999999       1.4167999999


$ cat ph.in

AiiDA calculation
&INPUTPH
 fildyn = 'dynmat'
 iverbosity = 1
 ldisp = .true.
 nq1 = 4
 nq2 = 4
 nq3 = 4
 outdir = './out/'
 prefix = 'aiida'
 tr2_ph =   1.0000000000d-16
/


--
Giovanni Pizzi
Post-doctoral Research Scientist
EPFL STI IMX THEOS
MXC 340 (Bâtiment MXC)
Station 12
CH-1015 Lausanne (Switzerland)
Phone: +41 21 69 31124




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20141128/001ed428/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: problem_phonons_incommensurate_q.png
Type: image/png
Size: 15212 bytes
Desc: problem_phonons_incommensurate_q.png
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20141128/001ed428/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: iron_phonons.pdf
Type: application/pdf
Size: 37733 bytes
Desc: iron_phonons.pdf
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20141128/001ed428/attachment.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: phonon_problem.zip
Type: application/zip
Size: 423039 bytes
Desc: phonon_problem.zip
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20141128/001ed428/attachment.zip>


More information about the developers mailing list