[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