Molecular Orbital coefficients in X2C-eamf

83 views
Skip to first unread message

juan...@gmail.com

unread,
Feb 23, 2024, 1:38:29 PM2/23/24
to dirac-users
Dear Dirac developers,

I'm facing some problems on understanding the way in which the molecular orbitals are stored in the corresponding h5 file.

After running the H2 molecule with a really small basis set (contracted STO-6G), I extract from the h5 file:

  • nmo from wavefunctions/scf/mobasis/n_mo
  • nao from aobasis/1/n_ao
  • The overlap (AO basis) from operators/ao_matrices/OVERLAP TFFT. It is a one-dimensional array and I converted it to a symmetric matrix of shape (nao,nao).
  • The MO coefficients from wavefunctions/scf/mobasis/orbitals which is a one-dimensional array with 2 * nao * 2 * nmo elements, and I reshape it to (2 * nmo , 2 * nao).

To check my understanding I tried to simply calculate  the norm of the occupied wave function. I get what I expected on H2, but then when I go to HF molecule I get a wrong result. I don't find where is my mistake.

I attach here the Jupyter notebook I'm using and the corresponding h5 files. 
Any help would be really appreciated. I'm strugling on this

Best regards,
Juan J. Aucar
 
wf_xamfi_EAMF_HH_STO-6G.h5
wf_xamfi_EAMF_FH_STO-6G.h5
TEST_x2ceamf.ipynb

Visscher, L. (Luuk)

unread,
Feb 26, 2024, 2:49:28 AM2/26/24
to dirac...@googlegroups.com
Dear Juan,

This is likely due to the quaternion algebra that is used. In general MO coefficient arrays have the dimension (nao, nmo, 4) with the final dimension being the quaternion index. The overlap matrix is real and hence has dimension (nao, nao). If you use symmetry the scheme gets more complicated because the coefficient matrix becomes block-sparse and DIRAC utilizes this by switching to “packed quaternions”, i.e. reducing the last dimension to 1 (“real groups”) or 2 (“complex groups”).

The code is not exhaustively documented, but the basic idea is explained in Saue & Jensen, J. Chem. Phys. 111, 6211 (1999); https://doi.org/10.1063/1.479958 

Luuk

--
You received this message because you are subscribed to the Google Groups "dirac-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dirac-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dirac-users/34cf68c9-6548-416a-9bd5-7ab6dcaedca0n%40googlegroups.com.
<wf_xamfi_EAMF_HH_STO-6G.h5><wf_xamfi_EAMF_FH_STO-6G.h5><TEST_x2ceamf.ipynb>

Reply all
Reply to author
Forward
0 new messages