10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-26 15:12:19 +02:00

Merge branch 'dev' of github.com:QuantumPackage/qp2 into dev

This commit is contained in:
Anthony Scemama 2021-02-11 18:48:05 +01:00
commit 112473e242
5 changed files with 35 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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) = <ij|ij> = (ii|jj)
! big_array_coulomb_integrals(j,i,k) = <ij|kj> = (ik|jj)
!
! big_array_exchange_integrals(i,j) = <ij|ji> = (ij|ij)
! big_array_exchange_integrals(i,j,k) = <ij|jk> = (ij|kj)
END_DOC
integer :: i,j,k,l
double precision :: get_two_e_integral

View File

@ -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)