diff --git a/plugins/Full_CI_ZMQ/fci_routines.irp.f b/plugins/Full_CI_ZMQ/fci_routines.irp.f index d285912a..6eaabbd7 100644 --- a/plugins/Full_CI_ZMQ/fci_routines.irp.f +++ b/plugins/Full_CI_ZMQ/fci_routines.irp.f @@ -56,12 +56,6 @@ subroutine selection_slave_inproc(i) call run_selection_slave(1,i,ci_electronic_energy) end -subroutine pt2_slave_inproc(i) - implicit none - integer, intent(in) :: i - - call run_pt2_slave(1,i,ci_electronic_energy) -end subroutine selection_collector(b, pt2) use f77_zmq diff --git a/plugins/Full_CI_ZMQ/fci_zmq.irp.f b/plugins/Full_CI_ZMQ/fci_zmq.irp.f index 016f5ff8..f0caa44e 100644 --- a/plugins/Full_CI_ZMQ/fci_zmq.irp.f +++ b/plugins/Full_CI_ZMQ/fci_zmq.irp.f @@ -104,7 +104,7 @@ program fci_zmq E_CI_before(1:N_states) = CI_energy(1:N_states) !call ZMQ_selection(0, pt2)! pour non-stochastic double precision :: relative_error - relative_error=1.d-2 + relative_error=1.d-3 call ZMQ_pt2(pt2,relative_error) print *, 'Final step' print *, 'N_det = ', N_det diff --git a/plugins/Full_CI_ZMQ/pt2_stoch.irp.f b/plugins/Full_CI_ZMQ/pt2_stoch.irp.f new file mode 100644 index 00000000..a2ee5e20 --- /dev/null +++ b/plugins/Full_CI_ZMQ/pt2_stoch.irp.f @@ -0,0 +1,46 @@ +program pt2_stoch + implicit none + initialize_pt2_E0_denominator = .False. + read_wf = .True. + SOFT_TOUCH initialize_pt2_E0_denominator read_wf + PROVIDE mo_bielec_integrals_in_map + call run +end + +subroutine run + implicit none + integer :: i,j,k + logical, external :: detEq + + double precision, allocatable :: pt2(:) + integer :: degree + integer :: n_det_before, to_select + double precision :: threshold_davidson_in + + double precision :: E_CI_before(N_states), relative_error + + if (.true.) then + call ezfio_get_full_ci_zmq_energy(E_CI_before(1)) + pt2_e0_denominator(:) = E_CI_before(1) - nuclear_repulsion + SOFT_TOUCH pt2_e0_denominator read_wf + endif + allocate (pt2(N_states)) + + threshold_selectors = 1.d0 + threshold_generators = 1d0 + relative_error = 1.d-3 + call ZMQ_pt2(pt2, relative_error) + print *, 'Final step' + print *, 'N_det = ', N_det + print *, 'N_states = ', N_states + do k=1,N_states + print *, 'State', k + print *, 'PT2 = ', pt2 + print *, 'E = ', E_CI_before + print *, 'E+PT2 = ', E_CI_before+pt2 + print *, '-----' + enddo + call ezfio_set_full_ci_zmq_energy_pt2(E_CI_before(1)+pt2(1)) +end + +