implementation of 1e- and 2e-integrals


Just Got Here
Dear NWchem forum,

I am interested in understanding the implementation of 1e- and 2e-integrals 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 1e-integrals: 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 2e-integrals: 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

Gets Around
See src/NWints/api/int_1estv.F

Also, you might want to try 'make doc' in src/NWints/api to get TeX docs automatically derived from the source code. It may make for easier reading than the raw source.


Forum >> NWChem's corner >> Feedback