4
C Calculates 2 electron part of a closed shell complex Fock matrix.
5
C This routine is used when you *only* need to compute the Coulomb
6
C term (i.e., pure DFT, with no Hartree-Fock exchange). Note that
7
C input is the real part of the density matrix, and output is real
8
C part of the Fock matrix.
10
subroutine zfock_cs_coul (params, g_densre, Ecoul, g_fc)
15
#include "mafdecls.fh"
20
#include "rt_tddft.fh"
24
type(rt_params_t), intent(in) :: params
25
integer, intent(in) :: g_densre
29
double precision, intent(out) :: Ecoul
30
integer, intent(in) :: g_fc
34
character(*), parameter :: pname = "zfock_cs_coul:"
38
double precision jfac, kfac
39
C double precision tol2e
40
double precision elapsed
43
call rt_tddft_cs_confirm (params)
45
if (params%prof) call prof_start (elapsed)
48
C == Initializations ==
49
C tol2e=10.d0**(-itol2e)
58
C == Calculate Coulomb part of F and energy ==
59
call fock_2e (geom, ao_bas_han, 1, jfac, kfac,
60
$ params%tol2e_re, oskel, g_densre, g_fc, .false.)
62
Ecoul = 0.5d0 * ga_ddot (g_densre, g_fc)
65
if (params%prof) call prof_end (elapsed,"Fock CS standard coul")