Dear NWchem forum,
I am interested in understanding the implementation of 1e and 2eintegrals in Nwchem: how such integrals are calculated for a given set of basis set shells.
Searching the src directory, I found subdirectory ddscf to be the responsible one, however so far, have not been able to spot that piece of source code that actually calculates those integrals.
details on the search
For 1eintegrals: file= int_1e.ga.F.
The corresponding loop on basis set shells starts at line 293 (Nwchem 6.6) in file= int_1e.ga.F. Following the next lines, the integrals are generated, depending on "type", from line 312. Then one can see:
if (type .eq. 1) then
call int_1eke (jbas, jshell, ibas, ishell,
$ mem1, dbl_mb(k_scr), max1e, dbl_mb(k_buf))
....
But where is subroutine "int_1eke"?
[src]$ grep "int_1eke" */*
ddscf/int_1e_ga.F: call int_1eke (jbas, jshell, ibas, ishell,
ddscf/int_1e_ga.F: external int_1eke,int_1epe,int_1eov,int_1epvpe,
ddscf/int_1e_ga.F: call int_1e_oldga0(ibas, g, type,oskel,int_1eke)
ddscf/print_1eints.F: call int_1eke (jbas, jshell, ibas, ishell,
develop/raktest.F: call int_1eke(basis,ish,basis,jsh,
util/int_2c_ga.F: call int_1eke (ibas, ishell, jbas, jshell,
[src]$ grep "subroutine int_1eke" */*
[src]$
> no such subroutine?
For 2eintegrals: files=int2e_file.F, fock_2e_*.F
No luck to find the loop on basis set shells.
I appreciate your help, and if there are some relevant documentations.
Thanks
