Dear Psi4 users and developers,
I did an HF calculation with O2 at 6-31g* basis set with psi4 and a different QC software. In both calculations, I turned off the symmetry and reorientation. I found the final energies as well as the orbital energies match extremely well (up to 5 decimal points). However, I found something I cannot understand when I look at their MO coefficients. For some of the MOs (e.g., 1st, E=-20.7553), the coefficients from the two molden files (one from each software) match perfectly after basis function re-ordering (since each software have their own convention of ordering basis functions), but for others (e.g., 8th, E=-0.5277) the coefficients are completely different (though the energies still match). But the same thing did not happen when I switch to a smaller basis set (i.e., 6-31g). I am wondering why this would happen?
The molden files of the 6-31g* basis set from two software are attached below. I appreciate any comments and help! Thanks!
geo.molden.txt (57.5 KB) geo-tc.molden.txt (33.9 KB)
This is almost certainly due to differences in basis-function normalization factors between the codes.
Thanks for your speedy reply! I think I could rationalize it if the coefficients for all the orbitals are different. But the fact that there are only some orbitals match while the others don’t seem a bit strange. Do @crawdad expect the difference in basis-function normalization factors will lead to this kind of behavior? Thanks again!
Do you know the orbital type (angular momentum) of the functions whose coefficients match and those that don’t?
Yes. To make a visually more clear demonstration, I just repeated the calculations with a single O atom with 6-31g*, so that the MO matrix can be visually shown (attached). I colored the places where two pragrams’ coefficients disagree by an orange background. Any insight would be appreciated!
This partially supports my statement because codes sometimes differ based on whether they include angular momentum contributions in the normalization factor. Contributions from s-type AOs are consistent between the programs.
Regardless, these differences are inconsequential because each code knows its normalization convention internally.
You are right! They are different only by a normalization factor for some AO. Inspired by your suggestions, I resolve this problem by doing a linear transformation for some of the orbitals, with the transforming matrix here (https://github.com/psi4/psi4/blob/master/psi4/src/psi4/libmints/writer.cc). Thanks again!
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.