From ec3598192510d9566e2bd09236554e242c8e6ad0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 21 Nov 2018 15:41:53 +0100 Subject: [PATCH] Better det search key --- src/Determinants/H_apply.irp.f | 2 +- src/Determinants/connected_to_ref.irp.f | 10 ++++------ src/FCI/FCI.irp.f | 1 + src/FCI/zmq_selection.irp.f | 2 +- src/Iterations/print_summary.irp.f | 3 +++ src/ZMQ/put_get.irp.f | 3 ++- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Determinants/H_apply.irp.f b/src/Determinants/H_apply.irp.f index 926ebf36..f09d1ac7 100644 --- a/src/Determinants/H_apply.irp.f +++ b/src/Determinants/H_apply.irp.f @@ -226,7 +226,7 @@ subroutine remove_duplicates_in_psi_det(found_duplicates) enddo !$OMP END DO - !$OMP DO schedule(dynamic,256) + !$OMP DO schedule(dynamic,1024) do i=1,N_det-1 if (duplicate(i)) then cycle diff --git a/src/Determinants/connected_to_ref.irp.f b/src/Determinants/connected_to_ref.irp.f index ccd7b6f7..1b19ba47 100644 --- a/src/Determinants/connected_to_ref.irp.f +++ b/src/Determinants/connected_to_ref.irp.f @@ -7,9 +7,8 @@ integer*8 function det_search_key(det,Nint) integer, intent(in) :: Nint integer(bit_kind), intent(in) :: det(Nint,2) integer :: i -! i = shiftr(elec_alpha_num, bit_kind_shift)+1 -! det_search_key = shiftr(ior(det(i,1),det(i,2)),1) - det_search_key = int(sum(det),8) + i = shiftr(elec_alpha_num, bit_kind_shift)+1 + det_search_key = int(shiftr(ior(det(i,1),det(i,2)),1)+sum(det),8) end @@ -22,9 +21,8 @@ integer*8 function occ_pattern_search_key(det,Nint) integer, intent(in) :: Nint integer(bit_kind), intent(in) :: det(Nint,2) integer :: i -! i = shiftr(elec_alpha_num, bit_kind_shift)+1 -! occ_pattern_search_key = shiftr(ior(det(i,1),det(i,2)),1) - occ_pattern_search_key = int(sum(det),8) + i = shiftr(elec_alpha_num, bit_kind_shift)+1 + occ_pattern_search_key = int(shiftr(ior(det(i,1),det(i,2)),1)+sum(det),8) end diff --git a/src/FCI/FCI.irp.f b/src/FCI/FCI.irp.f index 50d19707..310c82ed 100644 --- a/src/FCI/FCI.irp.f +++ b/src/FCI/FCI.irp.f @@ -127,6 +127,7 @@ program fci_zmq call ezfio_set_fci_energy_pt2(psi_energy_with_nucl_rep(1:N_states)+pt2) endif print *, 'N_det = ', N_det + print *, 'N_sop = ', N_occ_pattern print *, 'N_states = ', N_states print*, 'correlation_ratio = ', correlation_energy_ratio diff --git a/src/FCI/zmq_selection.irp.f b/src/FCI/zmq_selection.irp.f index ae9b9dc5..6d8ee443 100644 --- a/src/FCI/zmq_selection.irp.f +++ b/src/FCI/zmq_selection.irp.f @@ -13,7 +13,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) double precision, intent(out) :: variance(N_states) double precision, intent(out) :: norm(N_states) - PROVIDE psi_det psi_coef N_det qp_max_mem N_states pt2_F s2_eig N_det_generators +! PROVIDE psi_det psi_coef N_det qp_max_mem N_states pt2_F s2_eig N_det_generators N = max(N_in,1) if (.True.) then diff --git a/src/Iterations/print_summary.irp.f b/src/Iterations/print_summary.irp.f index da95bac8..f785fb2a 100644 --- a/src/Iterations/print_summary.irp.f +++ b/src/Iterations/print_summary.irp.f @@ -57,6 +57,9 @@ subroutine print_summary(e_,pt2_,error_,variance_,norm_) print *, 'N_det = ', N_det print *, 'N_states = ', N_states + if (s2_eig) then + print *, 'N_sop = ', N_occ_pattern + endif do k=1, N_states_p print*,'State ',k diff --git a/src/ZMQ/put_get.irp.f b/src/ZMQ/put_get.irp.f index 95a4ef4a..0df5268c 100644 --- a/src/ZMQ/put_get.irp.f +++ b/src/ZMQ/put_get.irp.f @@ -65,7 +65,8 @@ integer function zmq_get_dvector(zmq_to_qp_run_socket, worker_id, name, x, size_ rc = f77_zmq_recv(zmq_to_qp_run_socket,msg,len(msg),0) if (msg(1:14) /= 'get_data_reply') then - print *, irp_here, 'msg(1:14) /= get_data_reply', msg(1:14) + print *, irp_here, 'msg(1:14) /= get_data_reply' + print *, ' ', trim(msg) zmq_get_dvector = -1 go to 10 endif