<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="-1">Dear Yunzhe <br>
      </font></p>
    <p><font size="-1"><br>
      </font></p>
    <p><font size="-1">if your kpoint are provided as a list, the
        k-point set has the right symmetry and the proportions between
        the weights  is the right one, maybe you can  try using nosym =
        .true. and use_all_frac = .true. <br>
      </font></p>
    <p><font size="-1"><br>
      </font></p>
    <p><font size="-1"><br>
      </font></p>
    <div class="moz-cite-prefix">On 15/11/18 19:30, Yunzhe Wang wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:SN2PR01MB207937F49F85F81EA144BF0488DC0@SN2PR01MB2079.prod.exchangelabs.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
        dir="ltr">
        <p style="margin-top:0;margin-bottom:0">Dear Professor
          Giannozzi,</p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="margin-top:0;margin-bottom:0">I agree that additional
          flags will unnecessarily increase the complexity to maintain.
          My original thought is to not disturb the original behavior
          of pw.x.</p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
          The easier way to stop the expansion by lattice is to change
          the line 553 of setup.f90 (github) from</p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
                              CALL irreducible_BZ(nrot, s, nsym ...)</p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
          to </p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
                              CALL irreducible_BZ(nsym + nsym_na, s,
          nsym ....)</p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
          <br>
        </p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
          The original code is to expand by the lattice point group, and
          the latter is to expand by the crystal point group, with the
          discarded glide plane / screw axis included. Our server
          doesn't have the prior knowledge of the FFT grid used in pw.x
          and therefore returns the k-points in IBZ of the crystal. If
          pw.x decides to throw away some symmetry, the IBZ should be
          enlarged to the lower symmetry one, hence with the "+nsym_na"
          part.</p>
        <p style="font-family: Calibri, Helvetica, sans-serif,
          EmojiFont, "Apple Color Emoji", "Segoe UI
          Emoji", NotoColorEmoji, "Segoe UI Symbol",
          "Android Emoji", EmojiSymbols; font-size: 16px;">
          <br>
        </p>
        <p style="margin-top:0;margin-bottom:0">An example would be the
          one that an actual user reported to us during the beta
          testing:</p>
        <p style="margin-top:0;margin-bottom:0">The structure is SiC,
          which she downloaded from ICSD data base. It's hexagonal with
          12 atoms in the unit cell, but due to the limited precision
          that ICSD has (to 10^-4 Angstrom), both pw.x and our server
          detected it as an orthorhombic structure. Our server returned
          a mesh with 14 asymmetrical k-points, and QE expanded it, with
          the point group of a hexagonal lattice, to 84
          distinct k-points. The total energies are -394.9476363 Ry and
          -394.9476383 Ry (a difference of 0.002 mRy) , with the
          expansion by pw.x shut off and switch on respectively. And the
          calculation time on 12 processors are 1.55 minutes (14
          k-points) and 8.43 minutes (k-points), respectively. </p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="margin-top:0;margin-bottom:0">I know in actual serious
          calculation for publication, the atomic positions would be
          much precise, and symmetry will be inspected. But a similar
          case would still be present if a user is working on a slab or
          a supercell which the crystal symmetry and the unit cell
          symmetry are very different. An expansion by the lattice point
          group, will increase the calculation time by a lot. Also, for
          low symmetry structure, the k-points will increase, averagely,
          by 1/5 - 1/3, in serveral test cases.</p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <p style="margin-top:0;margin-bottom:0">I attached below the
          input file for the SiC for your reference (the
          pseudo-potential files are not attached):</p>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
        <blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;">
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>&CONTROL</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> calculation = 'scf' , </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> pseudo_dir = './' ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> disk_io = 'none' ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> verbosity = 'high',</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>/</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>&SYSTEM</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> ibrav = 0 ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> ntyp = 2 , </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> nat = 12 , </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> occupations = 'smearing' ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> smearing = 'marzari-vanderbilt' ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> degauss = 0.02 ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> ecutwfc = 50 ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>/</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>&ELECTRONS</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> startingwfc = 'random' ,</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>/</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>&IONS</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>/</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>&CELL</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>/</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>CELL_PARAMETERS bohr</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> 5.82224621542067 0.00000000000000 0.00000000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> -2.91112310771033 5.04221312964210 0.00000000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> 0.00000000000000 0.00000000000000 28.58172981466878</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>ATOMIC_SPECIES</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 28.0855 Si.GGA-PBE-paw.UPF</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 12.0107 C.pbe-rrkjus.UPF</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>ATOMIC_POSITIONS crystal</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 1.00000000000000 1.00000000000000 0.50000000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 0.00000000000000 0.00000000000000 0.00000000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 0.66670000000000 0.33340000000000 0.66640000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 0.33330000000000 0.66660000000000 0.16640000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 0.33330000000000 0.66660000000000 0.83290000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> Si 0.66670000000000 0.33340000000000 0.33290000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.66670000000000 0.33340000000000 0.54120000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.33330000000000 0.66660000000000 0.04120000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.33330000000000 0.66660000000000 0.70800000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.66670000000000 0.33340000000000 0.20800000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.00000000000000 0.00000000000000 0.87460000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div> C 0.00000000000000 0.00000000000000 0.37460000000000</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div><br>
            </div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>#  Server version 2018.08.08. ||BETA_MODE|| K-points
              for C1Si1 with MINDISTANCE=20.0 Angstroms and
              INCLUDEGAMMA=AUTO FORCEDIAGONAL=false has 112 total points
              and 14 distinct points. Effective minDistance
              21.34579415247883 Angstroms.</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>K_POINTS crystal</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>14</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.07142857142857 0.90178571428571 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.21428571428571 0.70535714285714 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.35714285714286 0.50892857142857 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.50000000000000 0.31250000000000 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.64285714285714 0.11607142857143 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.92857142857143 0.72321428571429 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.07142857142857 0.52678571428571 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.21428571428571 0.33035714285714 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.50000000000000 0.93750000000000 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.64285714285714 0.74107142857143 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.07142857142857 0.15178571428571 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.21428571428571 0.95535714285714 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.64285714285714 0.36607142857143 0.25000000000000 8.0</div>
          </blockquote>
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;">
            <div>0.21428571428571 0.58035714285714 0.25000000000000 8.0</div>
          </blockquote>
        </blockquote>
        <p style="margin-top:0;margin-bottom:0"><br>
        </p>
      </div>
      <hr style="display:inline-block;width:98%" tabindex="-1">
      <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
          face="Calibri, sans-serif" color="#000000"><b>From:</b> Paolo
          Giannozzi <a class="moz-txt-link-rfc2396E" href="mailto:p.giannozzi@gmail.com"><p.giannozzi@gmail.com></a><br>
          <b>Sent:</b> Thursday, November 15, 2018 9:04:03 AM<br>
          <b>To:</b> General discussion list for Quantum ESPRESSO
          developers<br>
          <b>Cc:</b> Yunzhe Wang<br>
          <b>Subject:</b> Re: [QE-developers] Patch to modify the pw.x
          behavior at user-provided k-point list</font>
        <div> </div>
      </div>
      <div>
        <div dir="ltr">
          <div>Dear Yunzhe</div>
          <div><br>
          </div>
          <div>as a rule I am against adding new input variables - there
            are already hundreds of them - unless there are no
            alternatives. From what I understand, your procedure
            produces a list of k-points that are already in the
            Brillouin Zone reduced using the symmetry of the crystal. If
            so, the best solution is to ensure that the code does not
            spoil it when computing the actual k-point grid from the
            input k-point grid. It would be useful to have a few
            examples showing what happens. </div>
          <div><br>
          </div>
          <div>Paolo<br>
          </div>
          <br>
          <div>
            <div class="x_gmail_quote">
              <div dir="ltr">On Wed, Nov 14, 2018 at 8:26 AM Yunzhe Wang
                <<a href="mailto:ywang393@jhu.edu" target="_blank"
                  moz-do-not-send="true">ywang393@jhu.edu</a>> wrote:<br>
              </div>
              <blockquote class="x_gmail_quote" style="margin:0 0 0
                .8ex; border-left:1px #ccc solid; padding-left:1ex">
                <div dir="ltr">
                  <div
                    id="x_m_-1999253779495694799m_660957958707217870divtagdefaultwrapper"
                    dir="ltr" style="font-size:12pt; color:rgb(0,0,0);
                    font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple
                    Color Emoji","Segoe UI
                    Emoji",NotoColorEmoji,"Segoe UI
                    Symbol","Android Emoji",EmojiSymbols">
                    <p style="margin-top:0; margin-bottom:0">Dear
                      Professors and Developers,</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">Sorry about
                      the bothering long mail!</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">Our group
                      has built a server to generate the least-number
                      k-point mesh for a user-given length of the
                      corresponding supercell size. (By "corresponding",
                      I mean a calculation with a dense k-point mesh for
                      a primitive cell, is equivalent to, a calculation
                      with a large supercell with 1 k-point). Currently,
                      the server is able to read the user input file and
                      append the returned K_POINTS card at the end.</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">However,
                      during the beta testing, we found that QE had the
                      subroutine irreducible_BZ() to force the mesh
                      being expand by the lattice point symmetries
                      first, and then being reduced by the true crystal
                      symmetry. Our server already returns a mesh
                      complying with the crystal symmetry, but will be
                      expanded quite a lot (even more in the low
                      symmetry case) by irreducible_BZ(). </p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">So my
                      question is, is there a specific reason to let the
                      mesh being expanded by the lattice symmetry first?
                      Our beta test results show the two cases, expanded
                      and not-expanded (initial K_POINTS card in both
                      cases provided by our server), has nearly the
                      same total energy. And the converged energy by the
                      not-expanded one is also very close to that of the
                      MP generated k-point mesh.</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">We have
                      wrote a small patch to include an additional flag
                      "kpuser" to switch on and off the expansion, and
                      when it's off, we leave the behavior of QE
                      untouched. Do you think it's ok that we release
                      the patch and let users of our server to patch
                      their local QE distribution? Or we open an issue
                      on QE and let the experts of QE to scrutinize this
                      feature, if you think it's valuable to be
                      incorporated in?</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0">Best
                      Regards,</p>
                    <p style="margin-top:0; margin-bottom:0">Yunzhe(Phil)
                      Wang, <span style="font-size:12pt">Graduate
                        Student</span></p>
                    <p style="margin-top:0; margin-bottom:0">Mueller
                      Research Group,</p>
                    <p style="margin-top:0; margin-bottom:0">Johns
                      Hopkins University</p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                    <p style="margin-top:0; margin-bottom:0"><br>
                    </p>
                  </div>
                </div>
                _______________________________________________<br>
                developers mailing list<br>
                <a href="mailto:developers@lists.quantum-espresso.org"
                  target="_blank" moz-do-not-send="true">developers@lists.quantum-espresso.org</a><br>
                <a
                  href="https://lists.quantum-espresso.org/mailman/listinfo/developers"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">https://lists.quantum-espresso.org/mailman/listinfo/developers</a><br>
              </blockquote>
            </div>
            <br clear="all">
            <br>
            -- <br>
            <div dir="ltr"
              class="x_m_-1999253779495694799gmail_signature">
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div>Paolo Giannozzi, Dip. Scienze Matematiche
                      Informatiche e Fisiche,<br>
                      Univ. Udine, via delle Scienze 208, 33100 Udine,
                      Italy<br>
                      Phone +39-0432-558216, fax +39-0432-558222<br>
                      <br>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:developers@lists.quantum-espresso.org">developers@lists.quantum-espresso.org</a>
<a class="moz-txt-link-freetext" href="https://lists.quantum-espresso.org/mailman/listinfo/developers">https://lists.quantum-espresso.org/mailman/listinfo/developers</a>
</pre>
    </blockquote>
  </body>
</html>