From 3fec30e4d8c34602adc356c00776e05e721cf42a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 30 Jan 2021 00:30:44 +0100 Subject: [PATCH 1/3] Fixed zmq --- src/zmq/utils.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zmq/utils.irp.f b/src/zmq/utils.irp.f index 07e3a88f..917bd4aa 100644 --- a/src/zmq/utils.irp.f +++ b/src/zmq/utils.irp.f @@ -1226,8 +1226,8 @@ integer function zmq_delete_tasks_async_recv(zmq_to_qp_run_socket,more,sending) integer :: rc character*(64) :: reply - if (.not.sending) return zmq_delete_tasks_async_recv = 0 + if (.not.sending) return reply = '' rc = f77_zmq_recv(zmq_to_qp_run_socket,reply,64,0) From 1e3e94a33cf943594a848e2f1c04176d220a517d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 9 Feb 2021 12:02:14 +0100 Subject: [PATCH 2/3] Removed dependency of AO1 on AO2 --- src/ao_one_e_ints/EZFIO.cfg | 8 ++++++++ src/ao_one_e_ints/screening.irp.f | 2 +- src/mo_two_e_ints/integrals_3_index.irp.f | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/ao_one_e_ints/EZFIO.cfg b/src/ao_one_e_ints/EZFIO.cfg index ed9cdc35..8d4fff57 100644 --- a/src/ao_one_e_ints/EZFIO.cfg +++ b/src/ao_one_e_ints/EZFIO.cfg @@ -98,3 +98,11 @@ type: Threshold doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value interface: ezfio,provider,ocaml default: 1.e-6 + +[ao_one_e_integrals_threshold] +type: Threshold +doc: If | (p|q) | < `ao_one_e_integrals_threshold` then (p|q) is zero +interface: ezfio,provider,ocaml +default: 1.e-15 +ezfio_name: threshold_ao + diff --git a/src/ao_one_e_ints/screening.irp.f b/src/ao_one_e_ints/screening.irp.f index 1bbe3c73..3f436743 100644 --- a/src/ao_one_e_ints/screening.irp.f +++ b/src/ao_one_e_ints/screening.irp.f @@ -4,7 +4,7 @@ logical function ao_one_e_integral_zero(i,k) ao_one_e_integral_zero = .False. if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then - if (ao_overlap_abs(i,k) < ao_integrals_threshold) then + if (ao_overlap_abs(i,k) < ao_one_e_integrals_threshold) then ao_one_e_integral_zero = .True. return endif diff --git a/src/mo_two_e_ints/integrals_3_index.irp.f b/src/mo_two_e_ints/integrals_3_index.irp.f index 73e31182..4ffb0134 100644 --- a/src/mo_two_e_ints/integrals_3_index.irp.f +++ b/src/mo_two_e_ints/integrals_3_index.irp.f @@ -2,9 +2,9 @@ &BEGIN_PROVIDER [double precision, big_array_exchange_integrals,(mo_num,mo_num, mo_num)] implicit none BEGIN_DOC - ! big_array_coulomb_integrals(i,j) = = (ii|jj) + ! big_array_coulomb_integrals(j,i,k) = = (ik|jj) ! - ! big_array_exchange_integrals(i,j) = = (ij|ij) + ! big_array_exchange_integrals(i,j,k) = = (ij|kj) END_DOC integer :: i,j,k,l double precision :: get_two_e_integral From 465484314640cd951230d4d550c7b9874bc6a977 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 9 Feb 2021 12:16:20 +0100 Subject: [PATCH 3/3] Added h_core_ri --- src/mo_two_e_ints/core_quantities.irp.f | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/mo_two_e_ints/core_quantities.irp.f b/src/mo_two_e_ints/core_quantities.irp.f index 1cc50cb1..b0f48b6d 100644 --- a/src/mo_two_e_ints/core_quantities.irp.f +++ b/src/mo_two_e_ints/core_quantities.irp.f @@ -36,3 +36,26 @@ BEGIN_PROVIDER [double precision, core_fock_operator, (mo_num,mo_num)] enddo enddo END_PROVIDER + +BEGIN_PROVIDER [ double precision, h_core_ri, (mo_num, mo_num) ] + implicit none + BEGIN_DOC + ! Core Hamiltonian with 3-index exchange integrals: + ! + ! $\tilde{h}{pq} = h_{pq} - \frac{1}{2}\sum_{k} g(pk,kq)$ + END_DOC + + integer :: i,j, k + + do j=1,mo_num + do i=1,mo_num + h_core_ri(i,j) = mo_one_e_integrals(i,j) + enddo + do k=1,mo_num + do i=1,mo_num + h_core_ri(i,j) = h_core_ri(i,j) - big_array_exchange_integrals(i,k,j) + enddo + enddo + enddo +END_PROVIDER +