mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-10 21:18:29 +01:00
Forgot file
This commit is contained in:
parent
82772b96c7
commit
bbe9024304
41
src/Davidson/find_reference.irp.f
Normal file
41
src/Davidson/find_reference.irp.f
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
subroutine find_reference(thresh,n_ref,result)
|
||||||
|
implicit none
|
||||||
|
double precision, intent(in) :: thresh
|
||||||
|
integer, intent(out) :: result(N_det),n_ref
|
||||||
|
integer :: i,j,istate
|
||||||
|
double precision :: i_H_psi_array(1), E0, hii, norm
|
||||||
|
double precision :: de
|
||||||
|
integer(bit_kind), allocatable :: psi_ref_(:,:,:)
|
||||||
|
double precision, allocatable :: psi_ref_coef_(:,:)
|
||||||
|
|
||||||
|
allocate(psi_ref_coef_(N_det,1), psi_ref_(N_int,2,N_det))
|
||||||
|
n_ref = 1
|
||||||
|
result(1) = 1
|
||||||
|
istate = 1
|
||||||
|
psi_ref_coef_(1,1) = psi_coef(1,istate)
|
||||||
|
psi_ref_(:,:,1) = psi_det(:,:,1)
|
||||||
|
norm = psi_ref_coef_(1,1) * psi_ref_coef_(1,1)
|
||||||
|
call u_0_H_u_0(E0,psi_ref_coef_,n_ref,psi_ref_,N_int,1,size(psi_ref_coef_,1))
|
||||||
|
print *, ''
|
||||||
|
print *, 'Reference determinants'
|
||||||
|
print *, '======================'
|
||||||
|
print *, ''
|
||||||
|
print *, n_ref, ': E0 = ', E0 + nuclear_repulsion
|
||||||
|
call debug_det(psi_ref_(1,1,n_ref),N_int)
|
||||||
|
do i=2,N_det
|
||||||
|
call i_h_psi(psi_det(1,1,i),psi_ref_(1,1,1),psi_ref_coef_(1,istate),N_int, &
|
||||||
|
n_ref,size(psi_ref_coef_,1),1,i_H_psi_array)
|
||||||
|
call i_H_j(psi_det(1,1,i),psi_det(1,1,i),N_int,hii)
|
||||||
|
de = i_H_psi_array(istate)**2 / (E0 - hii)
|
||||||
|
if (dabs(de) > thresh) then
|
||||||
|
n_ref += 1
|
||||||
|
result(n_ref) = i
|
||||||
|
psi_ref_(:,:,n_ref) = psi_det(:,:,i)
|
||||||
|
psi_ref_coef_(n_ref,1) = psi_coef(i,istate)
|
||||||
|
call u_0_H_u_0(E0,psi_ref_coef_,n_ref,psi_ref_,N_int,1,size(psi_ref_coef_,1))
|
||||||
|
print *, n_ref, ': E0 = ', E0 + nuclear_repulsion
|
||||||
|
call debug_det(psi_ref_(1,1,n_ref),N_int)
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user