10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-06-29 08:24:51 +02:00

Forgot pt2_stoch.irp.f

This commit is contained in:
Anthony Scemama 2017-01-16 18:51:01 +01:00
parent 9d754cdaee
commit ffe7eb1fae
3 changed files with 47 additions and 7 deletions

View File

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

View File

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

View File

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