[QE-developers] Potential Issue with Inversion Symmetry Detection in ph.x

Phil Wang ywang393 at jhu.edu
Mon Aug 3 18:34:44 CEST 2020


Hi Prof. Giannozzi,

It worked with the test case mentioned in first email. I believe it should work fine with other test cases of QE, too.

Best,
Phil

From: Paolo Giannozzi <p.giannozzi at gmail.com>
Sent: Monday, August 3, 2020 7:27 AM
To: General discussion list for Quantum ESPRESSO developers <developers at lists.quantum-espresso.org>
Cc: Phil Wang <ywang393 at jhu.edu>
Subject: Re: [QE-developers] Potential Issue with Inversion Symmetry Detection in ph.x


      External Email - Use Caution




Thank you for noticing this hard-to-notice problem. Does the attached patch fix the problem? Paolo

On Sat, Aug 1, 2020 at 8:54 AM Phil Wang <ywang393 at jhu.edu<mailto:ywang393 at jhu.edu>> wrote:
Dear developers of QE,

Hope you are all doing well in this hard time!

I’m trying to fix conflictions between the k-point branch and the phonon code (Merge Request !292). As I was debugging the search of small group of q points, I found the inversion detection of ph.x could get wrong result. The part of the code is in LR_Modules/set_small_group_of_q.f90, Line 54 – Line 62:
                 nsymq = copy_sym ( nsym, sym )
  !
  CALL inverse_s ( )
  !
  ! check if inversion (I) is a symmetry. If so, there should be nsymq/2
  ! symmetries without inversion, followed by nsymq/2 with inversion
  ! Since identity is always s(:,:,1), inversion should be s(:,:,1+nsymq/2)
  !
  invsymq = ALL ( s(:,:,nsymq/2+1) == -s(:,:,1) )

Since the list of sym ops in s(:,:,48) has been rotated by copy_sym() once for each distinct q point, there is no guarantee that inversion symmetry must sit at “nsymq/2 + 1”. It’s true only if copy_sym() is called once on s(:,:,48).

As an example, I ran phonon on Si with a 4x4x4 q point grid. The small group of (0.5,-0.5,0.5) had inversion, but it’s listed at 9 out of 12 operations. Invsymq was subsequently set to .False.. The list of sym. ops. for small group of this q, in the order after calling copy_sym(), is:
identity
inv. 180 deg rotation - cart. axis [-1,0,1]
120 deg rotation - cart. axis [-1,1,-1]
inv. 180 deg rotation - cart. axis [1,1,0]
120 deg rotation - cart. axis [1,-1,1]
inv. 180 deg rotation - cart. axis [0,1,1]
180 deg rotation - cart. axis [0,1,1]
inversion
180 deg rotation - cart. axis [-1,0,1]
180 deg rotation - cart. axis [1,1,0]
inv. 120 deg rotation - cart. axis [1,-1,1]
inv. 120 deg rotation - cart. axis [-1,1,-1]

A simple fix would be to replace the line “invsymq = ALL ( s(:,:,nsymq/2+1) == -s(:,:,1) )” by an iteration over the first nsymq operations of s(:,:,48). Although this invsymq is not propagated to other routines, it might be worth checking similar places of searching inversion in other parts of phonon code / LR code.

The confliction of git branch “k-point” is almost fixed, and a detailed description can be found at: https://arxiv.org/abs/1907.13610<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Farxiv.org%2Fabs%2F1907.13610&data=02%7C01%7Cywang393%40jhu.edu%7Ce25f70774cd040f4d84508d837a03314%7C9fa4f438b1e6473b803f86f8aedf0dec%7C0%7C0%7C637320508474483929&sdata=5kL%2BAasdvtEI6QcIK4ufWMgasHzM41ktErTSIWArlKw%3D&reserved=0>. Any opinion and suggestion on its integration with QE are welcomed and appreciated!

Best wishes,

Yunzhe (Phil) Wang
Mueller Research Group
Department of Materials Science and Engineering
Johns Hopkins University


_______________________________________________
developers mailing list
developers at lists.quantum-espresso.org<mailto:developers at lists.quantum-espresso.org>
https://lists.quantum-espresso.org/mailman/listinfo/developers<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.quantum-espresso.org%2Fmailman%2Flistinfo%2Fdevelopers&data=02%7C01%7Cywang393%40jhu.edu%7Ce25f70774cd040f4d84508d837a03314%7C9fa4f438b1e6473b803f86f8aedf0dec%7C0%7C0%7C637320508474483929&sdata=INce%2BTp5zN%2Fy3Sxv6dcgV2IXqSuJzl2ClKqwqD596WY%3D&reserved=0>


--
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/developers/attachments/20200803/7f485742/attachment-0001.html>


More information about the developers mailing list