Dear Paolo Giannozzi,

Your comment is correct.

Recapitulating, one should change the subroutines symmatrix3 and symtensor3 (both written in
the file PW/src/symme.f90)
1) The first instruction in both routines is
     IF (nsym == 1) RETURN
  This should be changed (in both routines) with
    IF (nsym > 1) THEN
2) then, one should add the line
    END IF
before the  comment "Bring to cartesian axis"


To uncover the bug you might run the following example: Silicon bulk
in the hexagonal cell with six atoms slightly displaced to kill the symmetries.
The pseudopotential is taken from the quantum-espresso database.
I report the input files I used for the pwscf and the phonon calculation:

cat > input_pw <<EOF
&control
   calculation='scf'
   restart_mode='from_scratch',
   pseudo_dir = '$PSEUDO_DIR/',
   outdir='$TMP_DIR/',
   prefix='si'
/
&system
   ibrav=  4, celldm(1) =7.2, celldm(3)=2.44948974278317810d0,
   nat= 6, ntyp= 1, ecutwfc =55
/
&electrons
 diagonalization='david', mixing_beta = 0.7, conv_thr=1.d-12,
/
/
ATOMIC_SPECIES
Si   28.085  Si.pw-mt_fhi.UPF
ATOMIC_POSITIONS {crystal}
Si 0.000100000000 0.000100000000 0.000100000000
Si 0.000100000000 0.000000000000 0.250000000000
Si 0.333333333333 0.666666666667 0.333333333333
Si 0.333333333333 0.666666666667 0.583333333333
Si 0.666666666667 0.333333333333 0.666666666667
Si 0.666666666667 0.333333333333 0.916666666667
K_POINTS {automatic}
2 2 1   0 0 1
EOF

cat > input_ph <<EOF
phonons of si at Gamma
&inputph
 prefix='si',
 epsil=.true.,
 trans=.false.,
 lraman=.true.,
 amass(1)=28.0855,
 outdir='$TMP_DIR/',
 fildyn='si.dynG',
/
0.0 0.0 0.0
EOF


With the old version of the code (in which the bug is present) the Raman tensor
associated to the first atom is:
         Raman tensor (au^-1) in cartesian axis

          atom      1
         (       0.013699086      -3.920153995       5.788324065 )
         (      -3.920153995       3.923226229      -2.896625782 )
         (       5.788324065      -2.896625782      -0.003485967 )

         (      -3.911816105       3.914537535      -2.896540201 )
         (       3.914537535       0.014410663       5.790162015 )
         (      -2.896540201       5.790162015       0.023554646 )

         (       8.842144308      -4.420575437      -0.000769476 )
         (      -4.420575437       8.847405130       0.011191688 )
         (      -0.000769476       0.011191688     -31.777282604 )


After correcting the bug it becomes:
         Raman tensor (au^-1) in cartesian axis

          atom      1
         (       0.013699086      -4.518694758       2.363073404 )
         (      -4.518694758       0.008662674      -0.001161423 )
         (       2.363073404      -0.001161423      -0.000580994 )

         (      -4.509066992       0.002636341      -0.001121079 )
         (       0.002636341       4.548354141       2.362756055 )
         (      -0.001121079       2.362756055       0.004197656 )

         (       3.609790298       0.000234155      -0.000128246 )
         (       0.000234155       3.612924305       0.002079798 )
         (      -0.000128246       0.002079798      -2.162170216 )

In order to verify that the second run is correct you can do
a third run in which the atomic positions are:
Si 0.000000000000 0.000000000000 0.000000000000
Si 0.000000000000 0.000000000000 0.250000000000
Si 0.333333333333 0.666666666667 0.333333333333
Si 0.333333333333 0.666666666667 0.583333333333
Si 0.666666666667 0.333333333333 0.666666666667
Si 0.666666666667 0.333333333333 0.916666666667

By doing this, the system has now several symmetries and the bug does not appear.
The Raman tensor in this case is:
         Raman tensor (au^-1) in cartesian axis

          atom      1
         (       0.000000000      -4.524263555       2.358129910 )
         (      -4.524263555       0.000000000      -0.000000000 )
         (       2.358129910      -0.000000000       0.000000000 )

         (      -4.524263555       0.000000000       0.000000000 )
         (       0.000000000       4.524263555       2.358129910 )
         (       0.000000000       2.358129910      -0.000000000 )

         (       3.592025004       0.000000000       0.000000000 )
         (       0.000000000       3.592025004       0.000000000 )
         (       0.000000000       0.000000000      -2.186618341 )


Sincerely

        Marc Blanchard & Michele Lazzeri

___________________________
Dr Marc Blanchard
Equipe de Minéralogie Environnementale
Institut de Minéralogie, de Physique des Matériaux et de Cosmochimie (IMPMC)
UPMC - Sorbonne Universités
Tour 23 - Couloir 23/24 - 4e étage - Bureau 23
Case courrier 115
4 place Jussieu
75252 Paris Cedex 05
Tel: +33 (0)1 44 27 98 22
Fax: +33 (0)1 44 27 37 85
http://www.impmc.upmc.fr/~blanchard/

Le 22 Apr 2016 à 11:45, Paolo Giannozzi a écrit :



On Fri, Apr 22, 2016 at 11:02 AM, Marc Blanchard <marc.blanch...@impmc.upmc.fr > wrote:

To correct the bug:
1) The first instruction in both routines is
     IF (nsym == 1) RETURN
  This should be changed (in both routines) with
    IF (nsym >= 1) THEN

"If (nsym > 1 THEN", I guess, or else the IF is completely useless. Could you please point to a (simple!) example showing the bug? thank you

Paolo

2) then, you should add the line
    END IF
before the  comment "Bring to cartesian axis"


Best regards
        
        Marc Blanchard & Michele Lazzeri

___________________________
Dr Marc Blanchard
Equipe de Minéralogie Environnementale
Institut de Minéralogie, de Physique des Matériaux et de Cosmochimie (IMPMC)
UPMC - Sorbonne Universités
Tour 23 - Couloir 23/24 - 4e étage - Bureau 23
Case courrier 115
4 place Jussieu
75252 Paris Cedex 05
Tel: +33 (0)1 44 27 98 22
Fax: +33 (0)1 44 27 37 85
http://www.impmc.upmc.fr/~blanchard/


_______________________________________________
Pw_forum mailing list
Pw_forum@pwscf.org
http://pwscf.org/mailman/listinfo/pw_forum



--
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222


_______________________________________________
Pw_forum mailing list
Pw_forum@pwscf.org
http://pwscf.org/mailman/listinfo/pw_forum

Reply via email to