mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-07 05:53:37 +01:00
found a bug in left-right coefficients in perturbation
This commit is contained in:
parent
b3b080929b
commit
c6b50d5f50
@ -893,20 +893,45 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
alpha_h_psi += alpha_h_i * psi_selectors_coef_tc(iii,1,1) ! right function
|
alpha_h_psi += alpha_h_i * psi_selectors_coef_tc(iii,1,1) ! right function
|
||||||
enddo
|
enddo
|
||||||
else if(debug_tc_pt2 == 2)then !! debugging the new version
|
else if(debug_tc_pt2 == 2)then !! debugging the new version
|
||||||
|
! psi_h_alpha_tmp = 0.d0
|
||||||
|
! alpha_h_psi_tmp = 0.d0
|
||||||
|
! do iii = 1, N_det_selectors ! old version
|
||||||
|
! call htilde_mu_mat_opt_bi_ortho_no_3e(psi_selectors(1,1,iii), det, N_int, i_h_alpha)
|
||||||
|
! call htilde_mu_mat_opt_bi_ortho_no_3e(det, psi_selectors(1,1,iii), N_int, alpha_h_i)
|
||||||
|
! psi_h_alpha_tmp += i_h_alpha * psi_selectors_coef_tc(iii,1,1) ! left function
|
||||||
|
! alpha_h_psi_tmp += alpha_h_i * psi_selectors_coef_tc(iii,2,1) ! right function
|
||||||
|
! enddo
|
||||||
psi_h_alpha_tmp = mat_l(istate, p1, p2) ! new version
|
psi_h_alpha_tmp = mat_l(istate, p1, p2) ! new version
|
||||||
alpha_h_psi_tmp = mat_r(istate, p1, p2) ! new version
|
alpha_h_psi_tmp = mat_r(istate, p1, p2) ! new version
|
||||||
psi_h_alpha = 0.d0
|
psi_h_alpha = 0.d0
|
||||||
alpha_h_psi = 0.d0
|
alpha_h_psi = 0.d0
|
||||||
do iii = 1, N_det_selectors ! old version
|
do iii = 1, N_det ! old version
|
||||||
call htilde_mu_mat_opt_bi_ortho_no_3e(psi_selectors(1,1,iii), det, N_int, i_h_alpha)
|
call htilde_mu_mat_opt_bi_ortho_no_3e(psi_det(1,1,iii), det, N_int, i_h_alpha)
|
||||||
call htilde_mu_mat_opt_bi_ortho_no_3e(det, psi_selectors(1,1,iii), N_int, alpha_h_i)
|
call htilde_mu_mat_opt_bi_ortho_no_3e(det, psi_det(1,1,iii), N_int, alpha_h_i)
|
||||||
psi_h_alpha += i_h_alpha * psi_selectors_coef_tc(iii,2,1) ! left function
|
psi_h_alpha += i_h_alpha * psi_l_coef_bi_ortho(iii,1) ! left function
|
||||||
alpha_h_psi += alpha_h_i * psi_selectors_coef_tc(iii,1,1) ! right function
|
alpha_h_psi += alpha_h_i * psi_r_coef_bi_ortho(iii,1) ! right function
|
||||||
enddo
|
enddo
|
||||||
if(dabs(psi_h_alpha*alpha_h_psi/delta_E).gt.1.d-10)then
|
if(dabs(psi_h_alpha*alpha_h_psi/delta_E).gt.1.d-10)then
|
||||||
error = dabs(psi_h_alpha * alpha_h_psi - psi_h_alpha_tmp * alpha_h_psi_tmp)/dabs(psi_h_alpha * alpha_h_psi)
|
error = dabs(psi_h_alpha * alpha_h_psi - psi_h_alpha_tmp * alpha_h_psi_tmp)/dabs(psi_h_alpha * alpha_h_psi)
|
||||||
if(error.gt.1.d-2)then
|
if(error.gt.1.d-2)then
|
||||||
|
call debug_det(det, N_int)
|
||||||
print*,'error =',error,psi_h_alpha * alpha_h_psi/delta_E,psi_h_alpha_tmp * alpha_h_psi_tmp/delta_E
|
print*,'error =',error,psi_h_alpha * alpha_h_psi/delta_E,psi_h_alpha_tmp * alpha_h_psi_tmp/delta_E
|
||||||
|
print*,psi_h_alpha , alpha_h_psi
|
||||||
|
print*,psi_h_alpha_tmp , alpha_h_psi_tmp
|
||||||
|
print*,'selectors '
|
||||||
|
do iii = 1, N_det_selectors ! old version
|
||||||
|
print*,'iii',iii,psi_selectors_coef_tc(iii,1,1),psi_selectors_coef_tc(iii,2,1)
|
||||||
|
call htilde_mu_mat_opt_bi_ortho_no_3e(psi_selectors(1,1,iii), det, N_int, i_h_alpha)
|
||||||
|
call htilde_mu_mat_opt_bi_ortho_no_3e(det, psi_selectors(1,1,iii), N_int, alpha_h_i)
|
||||||
|
print*,i_h_alpha,alpha_h_i
|
||||||
|
call debug_det(psi_selectors(1,1,iii),N_int)
|
||||||
|
enddo
|
||||||
|
! print*,'psi_det '
|
||||||
|
! do iii = 1, N_det! old version
|
||||||
|
! print*,'iii',iii,psi_l_coef_bi_ortho(iii,1),psi_r_coef_bi_ortho(iii,1)
|
||||||
|
! call debug_det(psi_det(1,1,iii),N_int)
|
||||||
|
! enddo
|
||||||
|
stop
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
@ -27,6 +27,8 @@ END_PROVIDER
|
|||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Determinants on which we apply <i|H|psi> for perturbation.
|
! Determinants on which we apply <i|H|psi> for perturbation.
|
||||||
|
! psi_selectors_coef_tc(iii,1,istate) = left coefficient of the iii determinant
|
||||||
|
! psi_selectors_coef_tc(iii,2,istate) = right coefficient of the iii determinant
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i,k
|
integer :: i,k
|
||||||
|
|
||||||
|
@ -328,6 +328,11 @@ end
|
|||||||
TOUCH psi_r_coef_bi_ortho
|
TOUCH psi_r_coef_bi_ortho
|
||||||
call ezfio_set_tc_bi_ortho_psi_r_coef_bi_ortho(buffer)
|
call ezfio_set_tc_bi_ortho_psi_r_coef_bi_ortho(buffer)
|
||||||
deallocate(buffer)
|
deallocate(buffer)
|
||||||
|
! print*,'After diag'
|
||||||
|
! do i = 1, N_det! old version
|
||||||
|
! print*,'i',i,psi_l_coef_bi_ortho(i,1),psi_r_coef_bi_ortho(i,1)
|
||||||
|
! call debug_det(psi_det(1,1,i),N_int)
|
||||||
|
! enddo
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user