<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Dear Prof. P. Blaha,</p>
<p>I am a PhD student in Frankfurt in the research group of Roser
Valenti.<br>
I have found a bug in WIEN2k 21.1 concerning the program qtl. The
bug occurs when using<br>
QSPLIT = 6 with a user defined unitary transformation. The program
does not correctly read <br>
the imaginary part of the defined basis set from case.cf_$i. The
imaginary part is set to 0<br>
which can be seen in case.outputqup/dn. <br>
</p>
<p>The bug can be fixed in $WIENROOT/SRC_qtl/readc.f . The
problematic line is number 49: <br>
<br>
cf(ma,mb,i,j)=acf(mb)+<b>dimag</b>*bcf(mb)</p>
<p>dimag is a real variable which is not initialized and could be in
principle any random real number.<br>
To fix this it it possible to change this line to</p>
<p>cf(ma,mb,i,j)=acf(mb)+<b>imag</b>*bcf(mb)</p>
<p>where imag has been defined as the imaginary unit. The compiler
does not complain<br>
about dimag because of the statement <b>implicit real*8 (a-h,o-z)</b>.<b>
</b><br>
</p>
<p><br>
I have one additional question about the DOS output from x tetra
-up/dn -so connected to this issue.<br>
I am running spin polarized calculations with spin orbit coupling
and the LDA+U functional. Tetra produces two files<br>
case.dos1evup and case.dos1evdn. As far as I understand the
description of Wien2k, each file<br>
contains the projected DOS on the spin up and spin down character.
Although I am using the spin-polarized<br>
option (as required by -orb), the calculation converges into a
non-magnetic solution. From this I would<br>
expect to see the same partial DOS in the case.dos1evup/dn, which
is true for the total DOS. However,<br>
this is not true for my user defined basis set in case.cf_$i,
where I consider a unitary transformation only<br>
for the d-orbitals. <br>
The spin up character for each new vector of the basis set
reproduces the results reported by previous<br>
publications (multiplied times two). However, the spin down
projected DOS (for each vector) differs<br>
from the spin up channel and the published results. The sum over
all projected partial contributions<br>
of the spin up DOS is equal to the sum of the spin down DOS, which
is good.<br>
What is the reason that the spin down contributions of each vector
differ from spin up? Is there a reason<br>
why I should consider only the case.dos1evup (multiplied by two)?
To me it seems like the defined basis<br>
in case.cf_$i is changed for the spin down character. <br>
</p>
<p>Best regards,<br>
Aleksandar Razpopov<br>
</p>
</body>
</html>