diff --git a/src/tc_scf/fock_three_bi_ortho_new_new.irp.f b/src/tc_scf/fock_three_bi_ortho_new_new.irp.f index f35e49c7..0e3aba61 100644 --- a/src/tc_scf/fock_three_bi_ortho_new_new.irp.f +++ b/src/tc_scf/fock_three_bi_ortho_new_new.irp.f @@ -86,3 +86,47 @@ BEGIN_PROVIDER [double precision, fock_a_tot_3e_bi_orth_new, (mo_num, mo_num)] enddo enddo END_PROVIDER + +BEGIN_PROVIDER [double precision, fock_b_tot_3e_bi_orth_new, (mo_num, mo_num)] + implicit none + integer :: i,a,j,k + double precision :: contrib_sss, contrib_sos, contrib_soo + fock_b_tot_3e_bi_orth_new = 0.d0 + do i = 1, mo_num + do a = 1, mo_num + + do j = 1, elec_beta_num + do k = 1, elec_beta_num + call contrib_3e_sss(a,i,j,k,contrib_sss) + call contrib_3e_soo(a,i,j,k,contrib_soo) + call contrib_3e_sos(a,i,j,k,contrib_sos) + fock_b_tot_3e_bi_orth_new(a,i) += 0.5d0 * (contrib_sss + contrib_soo) + contrib_sos + enddo + enddo + + do j = elec_beta_num + 1, elec_alpha_num + do k = 1, elec_beta_num + call contrib_3e_sss(a,i,j,k,contrib_sss) + fock_b_tot_3e_bi_orth_new(a,i) += 0.5d0 * contrib_sss + enddo + enddo + + do j = 1, elec_beta_num + do k = elec_beta_num+1, elec_alpha_num + call contrib_3e_soo(a,i,j,k,contrib_soo) + call contrib_3e_sos(a,i,j,k,contrib_sos) + fock_b_tot_3e_bi_orth_new(a,i) += 0.5d0 * contrib_soo + contrib_sos + enddo + enddo + + do j = elec_beta_num + 1, elec_alpha_num + do k = elec_beta_num+1, elec_alpha_num + call contrib_3e_sss(a,i,j,k,contrib_sss) + fock_b_tot_3e_bi_orth_new(a,i) += 0.5d0 * contrib_sss + enddo + enddo + + enddo + enddo + +END_PROVIDER