[Pw_forum] Bug in Raman calcs with no-symmetries

Marc Blanchard marc.blanchard at impmc.upmc.fr
Mon Apr 25 12:20:58 CEST 2016


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.blanchard at 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 at 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
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20160425/76cdffba/attachment.html>


More information about the users mailing list