diff --git a/src/cipsi/pt2_stoch_routines.irp.f b/src/cipsi/pt2_stoch_routines.irp.f index d101c6e0..7cb834d9 100644 --- a/src/cipsi/pt2_stoch_routines.irp.f +++ b/src/cipsi/pt2_stoch_routines.irp.f @@ -129,13 +129,13 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) PROVIDE psi_bilinear_matrix_rows psi_det_sorted_order psi_bilinear_matrix_order PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns PROVIDE psi_bilinear_matrix_transp_order psi_selectors_coef_transp psi_det_sorted - PROVIDE psi_det_hii N_generators_bitmask + PROVIDE psi_det_hii N_generators_bitmask selection_weight pseudo_sym if (h0_type == 'SOP') then PROVIDE psi_occ_pattern_hii det_to_occ_pattern endif - if (N_det < max(1000,N_states)) then + if (N_det < max(4,N_states)) then pt2=0.d0 variance=0.d0 norm=0.d0 diff --git a/src/cipsi/run_selection_slave.irp.f b/src/cipsi/run_selection_slave.irp.f index 480ef12b..ee97eb20 100644 --- a/src/cipsi/run_selection_slave.irp.f +++ b/src/cipsi/run_selection_slave.irp.f @@ -25,8 +25,8 @@ subroutine run_selection_slave(thread,iproc,energy) PROVIDE psi_bilinear_matrix_columns_loc psi_det_alpha_unique psi_det_beta_unique PROVIDE psi_bilinear_matrix_rows psi_det_sorted_order psi_bilinear_matrix_order PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns - PROVIDE psi_bilinear_matrix_transp_order N_int pt2_F - PROVIDE psi_selectors_coef_transp psi_det_sorted + PROVIDE psi_bilinear_matrix_transp_order N_int pt2_F pseudo_sym + PROVIDE psi_selectors_coef_transp psi_det_sorted weight_selection zmq_to_qp_run_socket = new_zmq_to_qp_run_socket() diff --git a/src/cipsi/slave_cipsi.irp.f b/src/cipsi/slave_cipsi.irp.f index 58b53f94..8668db01 100644 --- a/src/cipsi/slave_cipsi.irp.f +++ b/src/cipsi/slave_cipsi.irp.f @@ -17,7 +17,7 @@ subroutine provide_everything PROVIDE H_apply_buffer_allocated mo_two_e_integrals_in_map psi_det_generators psi_coef_generators psi_det_sorted_bit psi_selectors n_det_generators n_states generators_bitmask zmq_context N_states_diag PROVIDE pt2_e0_denominator mo_num N_int ci_energy mpi_master zmq_state zmq_context PROVIDE psi_det psi_coef threshold_generators state_average_weight - PROVIDE N_det_selectors pt2_stoch_istate N_det + PROVIDE N_det_selectors pt2_stoch_istate N_det selection_weight pseudo_sym end subroutine run_slave_main diff --git a/src/cipsi/zmq_selection.irp.f b/src/cipsi/zmq_selection.irp.f index b9bd1d02..816221e2 100644 --- a/src/cipsi/zmq_selection.irp.f +++ b/src/cipsi/zmq_selection.irp.f @@ -21,7 +21,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) PROVIDE psi_bilinear_matrix_columns_loc psi_det_alpha_unique psi_det_beta_unique PROVIDE psi_bilinear_matrix_rows psi_det_sorted_order psi_bilinear_matrix_order PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns - PROVIDE psi_bilinear_matrix_transp_order + PROVIDE psi_bilinear_matrix_transp_order selection_weight pseudo_sym call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'selection') @@ -86,7 +86,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) integer :: nproc_target if (N_det < 3*nproc) then - nproc_target = N_det/3 + nproc_target = N_det/4 else nproc_target = nproc endif @@ -157,9 +157,9 @@ subroutine selection_collector(zmq_socket_pull, b, N, pt2, variance, norm) integer(ZMQ_PTR), intent(in) :: zmq_socket_pull type(selection_buffer), intent(inout) :: b integer, intent(in) :: N - double precision, intent(inout) :: pt2(N_states) - double precision, intent(inout) :: variance(N_states) - double precision, intent(inout) :: norm(N_states) + double precision, intent(out) :: pt2(N_states) + double precision, intent(out) :: variance(N_states) + double precision, intent(out) :: norm(N_states) double precision :: pt2_mwen(N_states) double precision :: variance_mwen(N_states) double precision :: norm_mwen(N_states)