[Wien] Valence Broadening of Emission Spectrum

Gavin Abo gabo13279 at gmail.com
Sun Apr 20 13:40:56 CEST 2025


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".

The absorption and emission do seem to be separated in 
SRC_broadening/valancebroadening.f by:

if(ABSORB) then

! ABSORPTION PART:

else

! EMISSION PART:

endif

Their seems to be two possible problems though:

1. W is defined as an integer on line 15 of valancebroadening.f in 
WIEN2k 24.1 with:

integer,intent(in) :: w

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:

if (W.gt.0.and.W.le.3) then

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:

implicit real*8 (a-h,o-z)

for when W was read from a file on line 87:

READ(5,*,END=915,ERR=915)W

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:

                   elseif (X(i1).gt.E1) then
                      gamma=W

Maybe it could be changed to:

                   elseif (X(i1).gt.E1) then
                      gamma=wshift

Although, there may be another problem where g0 could be missing.  In 
lorentz.F, you might notice that lines 131-132 have:

                   elseif (X(i1).gt.E1) then
                      gamma=g0+W

On page 36 of J. Luitz's dissertation [2], you might have noticed the 
table there has

E1 < E ≤ E0: Γ(E) = Γ0 + W

Of note, the table in section 8.4.2 in the WIEN2k 23.2 usersguide [1] has:

line 2: ELNES/ABS/EMIS/PES Type of input spectrum

The modus on line 104 of SRC_broadening/broadening.f has ABSORB instead 
of ABS. So, I believe that word got cuttoff when it was put in the 
usersguide.

Regarding (ii), equation 1.82 on page 36 of J. Luitz's dissertation has:

I1(E) = I0(E) - 1/π*[Γ(E)/(E-Ei)^2 + Γ(E)^2]

Comparing it to the valancebroadening.f source code:

        yend(i2)=yend(i2)+y(i1)/pi* &
(atan((X(i1)-X(i2)+delta)/gamma) &
       -(atan((X(i1)-X(i2)-delta)/gamma)))

It seems like I0(E) might be yend(i2).  The Γ the gamma.  The E-Ei the 
X(i1)-X(i2).

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 ∞.

Equation (6.7) in D. Holec's dissertation [4] is:

Ibroadened(E) = Integral{I(E′)*Γ/[π*(E-E')^2+Γ^2]*dE'}

Holec cites [5] for the above equation, which I currently don't have 
access to.

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.

I haven't come across a paper explaining or deriving where the delta 
comes from in the valancebroadening.f source code.

Not a complete answer, but hopefully it can help a little.

[1] http://susi.theochem.tuwien.ac.at/reg_user/textbooks/usersguide.pdf
[2] 
https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=6d2f48c116f16935da4a001154488f3b1f6ffa33
[3] https://eprints.gla.ac.uk/32589/1/32589.pdf
[4] 
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
[5] https://link.springer.com/book/10.1007/3-540-54162-4

Kind Regards,

Gavin
WIEN2k user

On 4/19/2025 4:16 PM, Francisco Garcia wrote:
> Dear Prof. Blaha,
>
>
> 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.
>
>
> (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?
>
>
> subroutine 
> ValenceBroadening(X,Y,yend,w,absorb,istep,wshift,E0,E1,E2,EF,delta,nimax)
> !     VALENCE BROADENING : the array y is broadened by convolution 
> with a Lorentz-function.
> !     The result is in array yend.  Three different broadening schemes 
> are available :
> !     - w=0 : the width of the Lorentz does not depend on energy
> !     - w=1 : the width of the Lorentz varies linearly with energy
> !     - w=2 : the width of the Lorentz varies quadratically with energy
> !   - w=3 : the width of the Lorentz is given by the scheme of Moreau 
> et al.
>
> .
>
> .
>
> .
>
> ! EMISSION PART:
>  if(E0.NE.E2) then
>       if (X(i1).gt.E0) then
>  gamma=W*(1-((X(i1)-E0)/(EF-E0)))**2
>           elseif (X(i1).gt.E1) then
>  gamma=W
>   else
>      gamma=W+W*(1-((X(i1)-E2)/(E1-E2)))**2
>                 endif
>              else
> gamma=W*(1-((X(i1)-E0)/(EF-E0)))**2
>        endif
>   endif
>
>
>
> (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:
>
>       do i2=1,nimax
>
>        yend(i2)=yend(i2)+y(i1)/pi* &
> (atan((X(i1)-X(i2)+delta)/gamma) &
>       -(atan((X(i1)-X(i2)-delta)/gamma)))
>
>           enddo
>
>
> 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.
>
>
> Thank you Sir.
>
>
> FG
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20250420/c3893adf/attachment.htm>


More information about the Wien mailing list