<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Regarding (i), maybe the programmers tried to use W for the type
      of "absorption" broadening (1: linear, 2:Muller, 3: Moreau) and
      for the energy dependent broadening parameter for "emission".</p>
    <p>The absorption and emission do seem to be separated in
      SRC_broadening/valancebroadening.f by:<br>
    </p>
    <p>if(ABSORB) then</p>
    <p>! ABSORPTION PART:</p>
    <p>else</p>
    <p>! EMISSION PART:<br>
    </p>
    <p>endif<br>
    </p>
    <p>Their seems to be two possible problems though:</p>
    <p>1. W is defined as an integer on line 15 of valancebroadening.f
      in WIEN2k 24.1 with:<br>
    </p>
    <p>integer,intent(in) :: w<br>
    </p>
    <p>2. While restricting W between 1-3 for the "absorption"
      broadening, it might an issue to restrict it to be not greater
      than 3 for the "emission" broadening on line 31:<br>
    </p>
    <p>if (W.gt.0.and.W.le.3) then<br>
    </p>
    <p>In SRC_lorentz/lorentz.F, there look to be is another
      implementation of this broadening. It looks like W there was a
      real (instead of an integer) set by line 19:</p>
    <p>implicit real*8 (a-h,o-z)</p>
    <p>for when W was read from a file on line 87:<br>
    </p>
    <p>READ(5,*,END=915,ERR=915)W</p>
    <p>A possibly quick fix might be see if W could be changed to
      wshift, since wshift is a real*8.  In valancebroadening.f, take
      for example:<br>
    </p>
    <p>                  elseif (X(i1).gt.E1) then<br>
                           gamma=W</p>
    <p>Maybe it could be changed to:<br>
    </p>
    <p>                  elseif (X(i1).gt.E1) then<br>
                           gamma=wshift<br>
    </p>
    <p>Although, there may be another problem where g0 could be
      missing.  In lorentz.F, you might notice that lines 131-132 have:</p>
    <p>                  elseif (X(i1).gt.E1) then<br>
                           gamma=g0+W</p>
    <p>On page 36 of J. Luitz's dissertation [2], you might have noticed
      the table there has<br>
    </p>
    <p>E1 < E ≤ E0: Γ(E) = Γ0 + W<br>
    </p>
    <p>Of note, the table in section 8.4.2 in the WIEN2k 23.2 usersguide
      [1] has:</p>
    <p>line 2: ELNES/<font color="#ff0000">ABS</font>/EMIS/PES Type of
      input spectrum<br>
    </p>
    <p>The modus on line 104 of SRC_broadening/broadening.f has <font
        color="#0000ff">ABSORB</font> instead of <font color="#ff0000">ABS</font>. 
      So, I believe that word got cuttoff when it was put in the
      usersguide.<br>
    </p>
    <p>Regarding (ii), equation 1.82 on page 36 of J. Luitz's
      dissertation has:</p>
    <p>I1(E) = I0(E) - 1/π*[Γ(E)/(E-Ei)^2 + Γ(E)^2]<br>
    </p>
    <p>Comparing it to the valancebroadening.f source code:</p>
    <p>       
             yend(i2)=yend(i2)+y(i1)/pi* &<br>
       
                 
      (atan((X(i1)-X(i2)+delta)/gamma) &<br>
             
            -(atan((X(i1)-X(i2)-delta)/gamma)))</p>
    <p>It seems like I0(E) might be yend(i2).  The Γ the gamma.  The E-Ei
      the X(i1)-X(i2).<br>
    </p>
    <p>D. A. Eustace et. al. have a paper titled "Probing Magnetic order
      in EELS of Chromite Spinels using both Multiple Scattering
      (FEFF8.2) and DFT (WIEN2k)" [3].  They have an equation (3) with a
      definite integral with lower and upper bounds from -∞ to ∞.<br>
    </p>
    <p>Equation (6.7) in D. Holec's dissertation [4] is:</p>
    <p>Ibroadened(E) = Integral{I(E′)*Γ/[π*(E-E')^2+Γ^2]*dE'}</p>
    <p>Holec cites [5] for the above equation, which I currently don't
      have access to.<br>
    </p>
    <p>Perhaps, the second term in equation 1.82 is missing the integral
      and an initial spectrum I(E') for convolution with Lorentzian
      function.  Maybe the I(E') is y(i1) in the valancebroadening.f
      source code.<br>
    </p>
    <p>I haven't come across a paper explaining or deriving where the
      delta comes from in the valancebroadening.f source code.<br>
    </p>
    <p>Not a complete answer, but hopefully it can help a little.<br>
    </p>
    [1]
    <a class="moz-txt-link-freetext" href="http://susi.theochem.tuwien.ac.at/reg_user/textbooks/usersguide.pdf">http://susi.theochem.tuwien.ac.at/reg_user/textbooks/usersguide.pdf</a><br>
    [2]
<a class="moz-txt-link-freetext" href="https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=6d2f48c116f16935da4a001154488f3b1f6ffa33">https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=6d2f48c116f16935da4a001154488f3b1f6ffa33</a><br>
    [3] <a class="moz-txt-link-freetext" href="https://eprints.gla.ac.uk/32589/1/32589.pdf">https://eprints.gla.ac.uk/32589/1/32589.pdf</a><br>
    [4]
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/David-Holec/publication/303383794_Multi-scale_modelling_of_III-nitrides_from_dislocations_to_the_electronic_structure/links/5825f21208aeebc4f8a1e2ea/Multi-scale-modelling-of-III-nitrides-from-dislocations-to-the-electronic-structure.pdf">https://www.researchgate.net/profile/David-Holec/publication/303383794_Multi-scale_modelling_of_III-nitrides_from_dislocations_to_the_electronic_structure/links/5825f21208aeebc4f8a1e2ea/Multi-scale-modelling-of-III-nitrides-from-dislocations-to-the-electronic-structure.pdf</a><br>
    [5] <a class="moz-txt-link-freetext" href="https://link.springer.com/book/10.1007/3-540-54162-4">https://link.springer.com/book/10.1007/3-540-54162-4</a><br>
    <p>Kind Regards,</p>
    Gavin<br>
    WIEN2k user<br>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 4/19/2025 4:16 PM, Francisco Garcia
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CANk22oRNw2V3VKe0E5NfBtH2tBYwdB+TQ_96Bm97kz8g3h00RQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>
          <div>Dear Prof. Blaha,
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">I have
              two questions
              about the valence band emission spectra calculation in the
              subroutine valencebroadening.f: one question is about the
              usage of the parameter W and the other question is on how
              the
              Lorenztian convolution is done.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">(i) I
              thought W was
              a flag which determines which flavour of the broadening
              parameter
              gamma will be used (see the initial comments in the
              subroutine
              valencebroadening.f below). However, gamma appears to be a
              multiple
              of W in the emission calculation (please see below), which
              I find very confusing. Any reason(s) why?<br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">     
              subroutine
ValenceBroadening(X,Y,yend,w,absorb,istep,wshift,E0,E1,E2,EF,delta,nimax)<br>
              !
                  VALENCE BROADENING : the array y is broadened by
              convolution with a Lorentz-function.<br>
              !     The result
              is in array yend.  Three different broadening schemes are
              available :<br>
              !     - w=0 : the width of the Lorentz
              does not depend on energy<br>
              !     - w=1 : the width of
              the Lorentz varies linearly with energy<br>
              !     - w=2 :
              the width of the Lorentz varies quadratically with energy<br>
              !  
                - w=3 : the width of the Lorentz is given by the scheme
              of
              Moreau et al.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">!    
              EMISSION PART: <br>
                           
               if(E0.NE.E2) then<br>
                         
                    if (X(i1).gt.E0) then<br>
                   
                           
               gamma=W*(1-((X(i1)-E0)/(EF-E0)))**2<br>
                     
                        elseif (X(i1).gt.E1) then<br>
               
                               
               gamma=W<br>
                             
                else<br>
                             
                   gamma=W+W*(1-((X(i1)-E2)/(E1-E2)))**2<br>
               
                              endif<br>
               
                           else<br>
                 
                           
              gamma=W*(1-((X(i1)-E0)/(EF-E0)))**2<br>
                     
                     endif<br>
                       
                endif</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0.2in;background:transparent">(ii)
              My second
              question is how the convolution of the Gaussian-broadened
              DOS with
              the Lorentzian was performed. In the subroutine
              valencebroadening.f,
              the Lorenztian convolution was computed as follows after
              setting gamma:</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">     
                    do i2=1,nimax<br>
              <br>
                     
                     yend(i2)=yend(i2)+y(i1)/pi* &<br>
               
                         
              (atan((X(i1)-X(i2)+delta)/gamma) &<br>
                     
                    -(atan((X(i1)-X(i2)-delta)/gamma)))<br>
              <br>
               
                        enddo</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">It
              appears that an
              integral in the closed form was used to evaluate the
              convolution. I
              know that the integral of the Lorenztian can be obtained
              in a closed
              form: $$\int \frac{\gamma^2}{\pi(x^2+\gamma^2)} dx =
              \frac{\gamma}{\pi}} arctan(x / \gamma)$$. So that seems to
              be part of
              the explanation. But I am highly interested in how the
              above
              discretization was obtained from the convolution.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">Thank
              you Sir.</p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent"><br>
            </p>
            <p
style="line-height:100%;margin-bottom:0in;background:transparent">FG</p>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>