[Wien] Bug in QTL WIEN2k 21.1

Aleksandar Razpopov razpopov at itp.uni-frankfurt.de
Wed Nov 23 11:19:58 CET 2022


Dear Prof. P. Blaha,

I am a PhD student in Frankfurt in the research group of Roser Valenti.
I have found a bug in WIEN2k 21.1 concerning the program qtl. The bug 
occurs when using
QSPLIT = 6 with a user defined unitary transformation. The program does 
not correctly read
the imaginary part of the defined basis set from case.cf_$i. The 
imaginary part is set to 0
which can be seen in case.outputqup/dn.

The bug can be fixed in $WIENROOT/SRC_qtl/readc.f . The problematic line 
is number 49:

cf(ma,mb,i,j)=acf(mb)+*dimag**bcf(mb)

dimag is a real variable which is not initialized and could be in 
principle any random real number.
To fix this it it possible to change this line to

cf(ma,mb,i,j)=acf(mb)+*imag**bcf(mb)

where imag has been defined as the imaginary unit. The compiler does not 
complain
about dimag because of the statement *implicit real*8 (a-h,o-z)*.**


I have one additional question about the DOS output from x tetra -up/dn 
-so connected to this issue.
I am running spin polarized calculations with spin orbit coupling and 
the LDA+U functional. Tetra produces two files
case.dos1evup and case.dos1evdn. As far as I understand the description 
of Wien2k, each file
contains the projected DOS on the spin up and spin down character. 
Although I am using the spin-polarized
option (as required by -orb), the calculation converges into a 
non-magnetic solution. From this I would
expect to see the same partial DOS in the case.dos1evup/dn, which is 
true for the total DOS. However,
this is not true for my user defined basis set in case.cf_$i, where I 
consider a unitary transformation only
for the d-orbitals.
The spin up character for each new vector of the basis set reproduces 
the results reported by previous
publications (multiplied times two). However, the spin down projected 
DOS (for each vector) differs
from the spin up channel and the published results. The sum over all 
projected partial contributions
of the spin up DOS is equal to the sum of the spin down DOS, which is good.
What is the reason that the spin down contributions of each vector 
differ from spin up? Is there a reason
why I should consider only the case.dos1evup (multiplied by two)? To me 
it seems like the defined basis
in case.cf_$i is changed for the spin down character.

Best regards,
Aleksandar Razpopov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20221123/adbf4701/attachment.htm>


More information about the Wien mailing list