diff --git a/src/cipsi/cipsi.irp.f b/src/cipsi/cipsi.irp.f index 5b0b00c0..413a9d9a 100644 --- a/src/cipsi/cipsi.irp.f +++ b/src/cipsi/cipsi.irp.f @@ -88,7 +88,7 @@ subroutine run_cipsi threshold_generators = threshold_generators_save SOFT_TOUCH threshold_generators else - call ZMQ_selection(to_select, pt2, variance, norm) + call ZMQ_selection(to_select, pt2, variance, norm) endif do k=1,N_states diff --git a/src/cipsi/run_selection_slave.irp.f b/src/cipsi/run_selection_slave.irp.f index f031bc72..fe712c45 100644 --- a/src/cipsi/run_selection_slave.irp.f +++ b/src/cipsi/run_selection_slave.irp.f @@ -59,8 +59,7 @@ subroutine run_selection_slave(thread,iproc,energy) read(task,*) subset, i_generator, N if(buf%N == 0) then ! Only first time - bsize = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2) - call create_selection_buffer(bsize, bsize*2, buf) + call create_selection_buffer(N, N*2, buf) buffer_ready = .True. else if (N /= buf%N) then diff --git a/src/cipsi/zmq_selection.irp.f b/src/cipsi/zmq_selection.irp.f index a6f26ed8..c0545aa1 100644 --- a/src/cipsi/zmq_selection.irp.f +++ b/src/cipsi/zmq_selection.irp.f @@ -16,6 +16,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) ! PROVIDE psi_det psi_coef N_det qp_max_mem N_states pt2_F s2_eig N_det_generators N = max(N_in,1) + N = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2) if (.True.) then PROVIDE pt2_e0_denominator nproc PROVIDE psi_bilinear_matrix_columns_loc psi_det_alpha_unique psi_det_beta_unique @@ -78,6 +79,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) stop 'Unable to add task to task server' endif endif + N = max(N_in,1) ASSERT (associated(b%det))