mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 20:34:58 +01:00
Merge branch 'master' into dev-stable
This commit is contained in:
commit
5e26befc1e
@ -128,7 +128,13 @@ subroutine run_cipsi
|
|||||||
if (qp_stop()) exit
|
if (qp_stop()) exit
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
if ((.not.qp_stop()).and.(N_det > N_det_max)) then
|
! If stopped because N_det > N_det_max, do an extra iteration to compute the PT2
|
||||||
|
if ((.not.qp_stop()).and. &
|
||||||
|
(N_det > N_det_max) .and. &
|
||||||
|
(maxval(abs(pt2_data % pt2(1:N_states))) > pt2_max) .and. &
|
||||||
|
(maxval(abs(pt2_data % variance(1:N_states))) > variance_max) .and.&
|
||||||
|
(correlation_energy_ratio <= correlation_energy_ratio_max) &
|
||||||
|
) then
|
||||||
if (do_pt2) then
|
if (do_pt2) then
|
||||||
call pt2_dealloc(pt2_data)
|
call pt2_dealloc(pt2_data)
|
||||||
call pt2_dealloc(pt2_data_err)
|
call pt2_dealloc(pt2_data_err)
|
||||||
|
@ -118,7 +118,13 @@ subroutine run_stochastic_cipsi
|
|||||||
if (qp_stop()) exit
|
if (qp_stop()) exit
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
if ((.not.qp_stop()).and.(N_det > N_det_max)) then
|
! If stopped because N_det > N_det_max, do an extra iteration to compute the PT2
|
||||||
|
if ((.not.qp_stop()).and. &
|
||||||
|
(N_det > N_det_max) .and. &
|
||||||
|
(maxval(abs(pt2_data % pt2(1:N_states))) > pt2_max) .and. &
|
||||||
|
(maxval(abs(pt2_data % variance(1:N_states))) > variance_max) .and.&
|
||||||
|
(correlation_energy_ratio <= correlation_energy_ratio_max) &
|
||||||
|
) then
|
||||||
call pt2_dealloc(pt2_data)
|
call pt2_dealloc(pt2_data)
|
||||||
call pt2_dealloc(pt2_data_err)
|
call pt2_dealloc(pt2_data_err)
|
||||||
call pt2_alloc(pt2_data, N_states)
|
call pt2_alloc(pt2_data, N_states)
|
||||||
|
@ -465,9 +465,8 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_
|
|||||||
integer :: lwork, info
|
integer :: lwork, info
|
||||||
double precision, allocatable :: work(:)
|
double precision, allocatable :: work(:)
|
||||||
|
|
||||||
|
|
||||||
y = h
|
y = h
|
||||||
! y = h_p
|
! y = h_p ! Doesn't work for non-singlets
|
||||||
lwork = -1
|
lwork = -1
|
||||||
allocate(work(1))
|
allocate(work(1))
|
||||||
call dsygv(1,'V','U',shift2,y,size(y,1), &
|
call dsygv(1,'V','U',shift2,y,size(y,1), &
|
||||||
|
Loading…
Reference in New Issue
Block a user