<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Dear developers of QE,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hope you are all doing well in this hard time!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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:<o:p></o:p></p>
<p class="MsoNormal">                 nsymq = copy_sym ( nsym, sym )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  !<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  CALL inverse_s ( )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  !<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  ! check if inversion (I) is a symmetry. If so, there should be nsymq/2<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  ! symmetries without inversion, followed by nsymq/2 with inversion<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  ! Since identity is always s(:,:,1), inversion should be s(:,:,1+nsymq/2)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  !<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">  invsymq = ALL ( s(:,:,nsymq/2+1) == -s(:,:,1) )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal">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).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">identity                                    
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inv. 180 deg rotation - cart. axis [-1,0,1] 
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">120 deg rotation - cart. axis [-1,1,-1]     
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inv. 180 deg rotation - cart. axis [1,1,0]  
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">120 deg rotation - cart. axis [1,-1,1]      
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inv. 180 deg rotation - cart. axis [0,1,1]  
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">180 deg rotation - cart. axis [0,1,1]       
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inversion                                   
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">180 deg rotation - cart. axis [-1,0,1]      
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">180 deg rotation - cart. axis [1,1,0]       
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inv. 120 deg rotation - cart. axis [1,-1,1] 
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">inv. 120 deg rotation - cart. axis [-1,1,-1]
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The confliction of git branch “k-point” is almost fixed, and a detailed description can be found at:
<a href="https://arxiv.org/abs/1907.13610">https://arxiv.org/abs/1907.13610</a>. Any opinion and suggestion on its integration with QE are welcomed and appreciated!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best wishes,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Yunzhe (Phil) Wang<o:p></o:p></p>
<p class="MsoNormal">Mueller Research Group<o:p></o:p></p>
<p class="MsoNormal">Department of Materials Science and Engineering<o:p></o:p></p>
<p class="MsoNormal">Johns Hopkins University<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>