Question about flipping of molecular orbital coefficients in DFT.


Clicked A Few Times
Dear all,

I use the key:
vectors output a.mo
to generate molecular orbital coefficients of H2O.
Then I read the binary file a.mo and print the MOs into
an ascii file.

But I found that the MOs will change a little for each independent calculation.

For example the first 3 components of eigenstate 7:

7 -5.605635394791E-14 1.494038886042E-14 -4.073223157190E-01
7 -5.431344674225E-14 8.877177118968E-15 -4.073223157190E-01

So, my questions:

Is there any random number used during the DFT calculation?
What causes this phenomenon?

Thanks in advanced!

===============================================
geometry "Dgeom" nocenter noautosym
O                     0.00000000     5.00000000    -0.11918080
H 0.75933535 5.00000000 0.47685200
H -0.75933535 5.00000000 0.47685200
end

basis "Dbas"
  • library 6-31G
end

set "geometry" "Dgeom"
set "ao basis" "Dbas"

property
 center com
end

dft
  xc xcamb88 1.00 lyp 0.81 vwn_5 0.19 hfexch 1.00
cam 0.33 cam_alpha 0.19 cam_beta 0.46
direct
print "final vectors"
[color=red]vectors output a.mo[/color]
end
task dft
===============================================

Forum Regular
Hi Ylniu,

The coefficients you are showing that vary in value are really small (of the order of 1.0e-14). The machine precision is only around 1,0e-15. Therefore the variations you are looking at are the result of the finite precision of the computer. The third coefficient is much larger (around 0.4) and you see that all digits are the same. So no, NWChem does not use a random number generator, but some numbers get so small that not all digits are significant to the overall result. The insignificant digits can essentially take any value. This is just a consequence of the finite precision of digital machines and basic numerical error analysis.

I hope that helps,

Huub

Clicked A Few Times
Dear Huub,

Thanks very much for your quick reply!

I am using the MOs and CI vectors to calculate the Coulomb integral between molecules A and B. But the result changed for each independent calculation. So, I am debugging the codes, and find that the MOs and CI vectors coefficients will change a little each time.

You are right, the difference of MOs between different calculation is too small. But the problem is from the rest part of the codes.

Thanks for your kind help!

Ying-Li


Forum >> NWChem's corner >> Running NWChem