diff --git a/src/ortho_three_e_ints/mu_j_ints_usual_mos.irp.f b/src/ortho_three_e_ints/mu_j_ints_usual_mos.irp.f index d48ca5a4..a3f1b6ef 100644 --- a/src/ortho_three_e_ints/mu_j_ints_usual_mos.irp.f +++ b/src/ortho_three_e_ints/mu_j_ints_usual_mos.irp.f @@ -1,3 +1,22 @@ +subroutine give_integrals_3_body(i,j,m,k,l,n,integral) + implicit none + double precision, intent(out) :: integral + integer, intent(in) :: i,j,m,k,l,n + double precision :: weight + BEGIN_DOC +! + END_DOC + integer :: ipoint,mm + integral = 0.d0 + do mm = 1, 3 + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + integral += weight * mos_in_r_array_transp(ipoint,i) * mos_in_r_array_transp(ipoint,k) * x_W_ij_erf_rk(ipoint,mm,m,n) * x_W_ij_erf_rk(ipoint,mm,j,l) + integral += weight * mos_in_r_array_transp(ipoint,j) * mos_in_r_array_transp(ipoint,l) * x_W_ij_erf_rk(ipoint,mm,m,n) * x_W_ij_erf_rk(ipoint,mm,i,k) + integral += weight * mos_in_r_array_transp(ipoint,m) * mos_in_r_array_transp(ipoint,n) * x_W_ij_erf_rk(ipoint,mm,j,l) * x_W_ij_erf_rk(ipoint,mm,i,k) + enddo + enddo +end BEGIN_PROVIDER [ double precision, mo_v_ij_erf_rk_cst_mu_naive, ( mo_num, mo_num,n_points_final_grid)] implicit none diff --git a/src/tc_scf/fock_three_hermit.irp.f b/src/tc_scf/fock_three_hermit.irp.f index 5c48970b..fe8fbfd7 100644 --- a/src/tc_scf/fock_three_hermit.irp.f +++ b/src/tc_scf/fock_three_hermit.irp.f @@ -161,7 +161,6 @@ BEGIN_PROVIDER [ double precision, fock_3_mat_a_op_sh, (mo_num, mo_num)] !F_a^{aa}(h,p) do i = 1, elec_beta_num ! alpha do j = elec_beta_num+1, elec_alpha_num ! alpha - direct_int = three_body_4_index(j,i,h,p) call give_integrals_3_body(h,j,i,p,j,i,direct_int) call give_integrals_3_body(h,j,i,i,p,j,exchange_int_231) call give_integrals_3_body(h,j,i,j,i,p,exchange_int_312)