[Wien] Possible bugs in Mixer

Guoping Zhang gpzhang.physics at gmail.com
Fri Dec 19 17:35:01 CET 2025


Dear Profs. Blaha and Marks and wien users,

I have a question on how the new Mixer is implemented as it gives me
different results on different computers.  Different results mean that
the eigenvalues differ by 10^-6 ry, so the wavefunctions are even
worse. I am using wien2k_13 version, but there is no difference for
newer versions.


In FprojmemR1m.F, call DGESVD gets SVD of Vect, but SVD normally
produces an arbitrary sign for U and VT for the same Vect like
vect    1     1     1.7542057564
vect    1     2     1.7522638412
vect    2     1     1.7441856025
vect    2     2     1.7425017533

In one case, my U is


debug3c.outputm:MMT91 U VT    1     1    -0.7091042206   -0.7074733729
debug3c.outputm:MMT91 U VT    1     2    -0.7051036834   -0.7067399994
debug3c.outputm:MMT91 U VT    2     1    -0.7051036834   -0.7067399994
debug3c.outputm:MMT91 U VT    2     2     0.7091042206    0.7074733729

Another case has

debug11.outputm:MMT91 U VT    1     1     0.7091042206    0.7074733728
debug11.outputm:MMT91 U VT    1     2    -0.7051036834    0.7067399994
debug11.outputm:MMT91 U VT    2     1     0.7051036834   -0.7067399994
debug11.outputm:MMT91 U VT    2     2     0.7091042206    0.7074733728

I run 4 iterations to activate the mixer.  When I diff case.scf, these two
cases have no difference to the last digit,

But after the mixing, it differs a lot though the total energy is the
same (which is not my interest).

My questions are (1) whether the new mixer finally uses some products
like (U x VT) to generate the new charge density, and (2) whether you
have examples that I use to verify this arbitrary sign does not matter.

Thank you so much in advance!

Best wishes,

Guoping
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20251219/cbc7e6b2/attachment.htm>


More information about the Wien mailing list