Problem with the Vxc matrix


Click here for full thread
Clicked A Few Times
Hello,

I am trying to interface a Gaussian based GW+BSE code, named FIESTA, to NWCHEM.
To do so, I only need to the eigenvectors, eigenvalues and the <G_i|Vxc|G_j> matrix
evaluated between the gaussian basis functions. I have already a working interface to
format the eigenvectors and eigenvalues to the FIESTA convention. Unfortunately, I have
encountered problems with the Vxc matrix.

In file nwdft/xc/xc_getv.F, I added the print statements:
      call ga_print(g_truevxc(1)) 
if(ipol.eq.2)call ga_print(g_truevxc(2))
after :
      call grid_quadv0(rtdb, g_dens, g_truevxc,
& nexc,rho_n, Exc, dbl_mb(itmat))

at line 363 of that file. This prints out what I thought was the matrix I needed.
But it is strange because for some test systems, it does not seem to have the proper symmetries.
Here is an example for a small test system of 4 helium atoms with only 1 s orbital that are
really far from each other:

   he  -0.00000000    -0.00000000     4.33012702
he 5.77350269 5.77350269 -1.44337567
he 2.11324865 -7.88675135 -1.44337567
he -7.88675135 2.11324865 -1.44337567

The outputed matrix is:

  global array: g vxc 1[1:4,1:4],  handle: -968 

           1           2           3           4  
----------- ----------- ----------- -----------
1 -0.41806 0.00000 0.00000 0.00000
2 0.00000 0.00000 0.00000 0.00000
3 0.00000 0.00000 0.00000 0.00000
4 0.00000 0.00000 0.00000 -1.25417
Fock_xc Build Time: 0.0s

It would seem that most are added together in the last element (-1.25417 = 3 * -0.41806).
I don't understand why this is the case. It would seem that some processing is needed to
extract the proper matrix. Unfortunately, I can't seem to locate where this is done.
Do you have some suggestions as to where I should move my printing?