mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-09 06:53:38 +01:00
updated default keywords in tc_keywords and ao_twoe_e_ints
This commit is contained in:
parent
22241d5b33
commit
a38bf00975
@ -16,7 +16,7 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
logical :: ok
|
||||
|
||||
logical, allocatable :: lbanned(:,:)
|
||||
integer :: puti, putj, ma, mi, s1, s2, i, i1, i2, j
|
||||
integer :: puti, putj, ma, mi, s1, s2, i, i1, i2, j, istate
|
||||
integer :: hfix, pfix, h1, h2, p1, p2, ib, k, l, mm
|
||||
|
||||
integer, parameter :: turn2(2) = (/2,1/)
|
||||
@ -65,10 +65,12 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
hij_cache(mm,2) = mo_bi_ortho_tc_two_e(mm,hfix,p2,p1)
|
||||
hji_cache(mm,1) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p1,p2)
|
||||
hji_cache(mm,2) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p2,p1)
|
||||
do istate = 1,N_states
|
||||
tmp_rowij(istate,mm) = 0.d0
|
||||
tmp_rowji(istate,mm) = 0.d0
|
||||
enddo
|
||||
enddo
|
||||
!! <alpha|H|psi>
|
||||
tmp_rowij = 0.d0
|
||||
tmp_rowji = 0.d0
|
||||
do putj=1, hfix-1
|
||||
if(lbanned(putj, ma)) cycle
|
||||
if(banned(putj, puti,bant)) cycle
|
||||
@ -119,13 +121,15 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
|
||||
!MOVE MI
|
||||
pfix = p(1,mi)
|
||||
tmp_rowij = 0.d0
|
||||
tmp_rowij2 = 0.d0
|
||||
tmp_rowji = 0.d0
|
||||
tmp_rowji2 = 0.d0
|
||||
! call get_mo_two_e_integrals_complex(hfix,pfix,p1,mo_num,hij_cache(1,1),mo_integrals_map,mo_integrals_map_2)
|
||||
! call get_mo_two_e_integrals_complex(hfix,pfix,p2,mo_num,hij_cache(1,2),mo_integrals_map,mo_integrals_map_2)
|
||||
do mm = 1, mo_num
|
||||
do istate = 1,N_states
|
||||
tmp_rowij(istate,mm) = 0.d0
|
||||
tmp_rowij2(istate,mm) = 0.d0
|
||||
tmp_rowji(istate,mm) = 0.d0
|
||||
tmp_rowji2(istate,mm) = 0.d0
|
||||
enddo
|
||||
hij_cache(mm,1) = mo_bi_ortho_tc_two_e(mm,hfix,pfix,p1)
|
||||
hij_cache(mm,2) = mo_bi_ortho_tc_two_e(mm,hfix,pfix,p2)
|
||||
hji_cache(mm,1) = mo_bi_ortho_tc_two_e_transp(mm,hfix,pfix,p1)
|
||||
@ -200,10 +204,12 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
hij_cache(mm,2) = mo_bi_ortho_tc_two_e(mm,hfix,p2,p1)
|
||||
hji_cache(mm,1) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p1,p2)
|
||||
hji_cache(mm,2) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p2,p1)
|
||||
do istate = 1, N_states
|
||||
tmp_rowij(istate,mm) = 0.d0
|
||||
tmp_rowji(istate,mm) = 0.d0
|
||||
enddo
|
||||
enddo
|
||||
!! <alpha|H|psi>
|
||||
tmp_rowij = 0.d0
|
||||
tmp_rowji = 0.d0
|
||||
do putj=1,hfix-1
|
||||
if(banned(putj,puti,1)) cycle
|
||||
if(lbanned(putj,ma)) cycle
|
||||
@ -246,10 +252,6 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
pfix = p(1,mi)
|
||||
p1 = p(1,ma)
|
||||
p2 = p(2,ma)
|
||||
tmp_rowij = 0.d0
|
||||
tmp_rowij2 = 0.d0
|
||||
tmp_rowji = 0.d0
|
||||
tmp_rowji2 = 0.d0
|
||||
! call get_mo_two_e_integrals_complex(hfix,p1,pfix,mo_num,hij_cache(1,1),mo_integrals_map,mo_integrals_map_2)
|
||||
! call get_mo_two_e_integrals_complex(hfix,p2,pfix,mo_num,hij_cache(1,2),mo_integrals_map,mo_integrals_map_2)
|
||||
do mm = 1, mo_num
|
||||
@ -257,6 +259,12 @@ subroutine get_d1_transp(gen, phasemask, bannedOrb, banned, mat_l, mat_r, mask,
|
||||
hij_cache(mm,2) = mo_bi_ortho_tc_two_e(mm,hfix,p2,pfix)
|
||||
hji_cache(mm,1) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p1,pfix)
|
||||
hji_cache(mm,2) = mo_bi_ortho_tc_two_e_transp(mm,hfix,p2,pfix)
|
||||
do istate = 1,N_states
|
||||
tmp_rowij (istate,mm) = 0.d0
|
||||
tmp_rowij2(istate,mm) = 0.d0
|
||||
tmp_rowji (istate,mm) = 0.d0
|
||||
tmp_rowji2(istate,mm) = 0.d0
|
||||
enddo
|
||||
enddo
|
||||
putj = p2
|
||||
!! <alpha|H|psi>
|
||||
|
@ -65,6 +65,9 @@ subroutine tc_pt2
|
||||
call pt2_dealloc(pt2_data_err)
|
||||
call pt2_alloc(pt2_data, N_states)
|
||||
call pt2_alloc(pt2_data_err, N_states)
|
||||
if(transpose_two_e_int)then
|
||||
provide mo_bi_ortho_tc_two_e_transp tc_2e_3idx_coulomb_integrals_transp
|
||||
endif
|
||||
call ZMQ_pt2(E_tc, pt2_data, pt2_data_err, relative_error,0) ! Stochastic PT2 and selection
|
||||
call diagonalize_CI_tc_bi_ortho(ndet, E_tc,norm,pt2_data,print_pt2)
|
||||
call print_summary_tc(psi_energy_with_nucl_rep, pt2_data, pt2_data_err, N_det, N_configuration, N_states, psi_s2)
|
||||
|
@ -691,13 +691,13 @@ subroutine splash_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, mat, intere
|
||||
if(transpose_two_e_int)then
|
||||
call get_d2_new_transp(det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
else
|
||||
call get_d2_new(det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
call get_d2_new (det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
endif
|
||||
elseif(nt == 3) then
|
||||
if(transpose_two_e_int)then
|
||||
call get_d1_transp(det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
else
|
||||
call get_d1_new(det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
call get_d1_new (det(1,1,i), phasemask, bannedOrb, banned, mat_l, mat_r, mask, h, p, sp, psi_selectors_coef_transp_tc(1, 1, interesting(i)))
|
||||
endif
|
||||
else
|
||||
if(transpose_two_e_int)then
|
||||
|
@ -89,7 +89,7 @@ subroutine run_stochastic_cipsi
|
||||
call pt2_alloc(pt2_data, N_states)
|
||||
call pt2_alloc(pt2_data_err, N_states)
|
||||
if(transpose_two_e_int)then
|
||||
provide mo_bi_ortho_tc_two_e_transp
|
||||
provide mo_bi_ortho_tc_two_e_transp tc_2e_3idx_coulomb_integrals_transp
|
||||
endif
|
||||
call ZMQ_pt2(E_tc, pt2_data, pt2_data_err, relative_error,to_select) ! Stochastic PT2 and selection
|
||||
! stop
|
||||
|
@ -35,8 +35,8 @@ program tc_bi_ortho
|
||||
print*, ' nb of det = ', N_det
|
||||
|
||||
call routine_diag()
|
||||
call write_tc_energy()
|
||||
call save_tc_bi_ortho_wavefunction()
|
||||
! call write_tc_energy()
|
||||
! call save_tc_bi_ortho_wavefunction()
|
||||
|
||||
end
|
||||
|
||||
@ -76,28 +76,26 @@ subroutine routine_diag()
|
||||
PROVIDE noL_2e
|
||||
endif
|
||||
|
||||
PROVIDE htilde_matrix_elmt_bi_ortho
|
||||
return
|
||||
|
||||
if(N_states .eq. 1) then
|
||||
|
||||
print*,'eigval_right_tc_bi_orth = ',eigval_right_tc_bi_orth(1)
|
||||
print*,'e_tc_left_right = ',e_tc_left_right
|
||||
print*,'e_tilde_bi_orth_00 = ',e_tilde_bi_orth_00
|
||||
print*,'e_pt2_tc_bi_orth = ',e_pt2_tc_bi_orth
|
||||
print*,'e_pt2_tc_bi_orth_single = ',e_pt2_tc_bi_orth_single
|
||||
print*,'e_pt2_tc_bi_orth_double = ',e_pt2_tc_bi_orth_double
|
||||
print*,'***'
|
||||
print*,'e_corr_bi_orth = ',e_corr_bi_orth
|
||||
print*,'e_corr_bi_orth_proj = ',e_corr_bi_orth_proj
|
||||
print*,'e_corr_bi_orth_proj_abs = ',e_corr_bi_orth_proj_abs
|
||||
print*,'e_corr_single_bi_orth = ',e_corr_single_bi_orth
|
||||
print*,'e_corr_double_bi_orth = ',e_corr_double_bi_orth
|
||||
print*,'e_corr_single_bi_orth_abs = ',e_corr_single_bi_orth_abs
|
||||
print*,'e_corr_double_bi_orth_abs = ',e_corr_double_bi_orth_abs
|
||||
! print*,'e_tc_left_right = ',e_tc_left_right
|
||||
! print*,'e_tilde_bi_orth_00 = ',e_tilde_bi_orth_00
|
||||
! print*,'e_pt2_tc_bi_orth = ',e_pt2_tc_bi_orth
|
||||
! print*,'e_pt2_tc_bi_orth_single = ',e_pt2_tc_bi_orth_single
|
||||
! print*,'e_pt2_tc_bi_orth_double = ',e_pt2_tc_bi_orth_double
|
||||
! print*,'***'
|
||||
! print*,'e_corr_bi_orth = ',e_corr_bi_orth
|
||||
! print*,'e_corr_bi_orth_proj = ',e_corr_bi_orth_proj
|
||||
! print*,'e_corr_bi_orth_proj_abs = ',e_corr_bi_orth_proj_abs
|
||||
! print*,'e_corr_single_bi_orth = ',e_corr_single_bi_orth
|
||||
! print*,'e_corr_double_bi_orth = ',e_corr_double_bi_orth
|
||||
! print*,'e_corr_single_bi_orth_abs = ',e_corr_single_bi_orth_abs
|
||||
! print*,'e_corr_double_bi_orth_abs = ',e_corr_double_bi_orth_abs
|
||||
print*,'Left/right eigenvectors'
|
||||
do i = 1,N_det
|
||||
write(*,'(I5,X,(100(F12.7,X)))')i,leigvec_tc_bi_orth(i,1),reigvec_tc_bi_orth(i,1),leigvec_tc_bi_orth(i,1)*reigvec_tc_bi_orth(i,1)
|
||||
write(*,'(I6,X,(100(F12.7,X)))')i,leigvec_tc_bi_orth(i,1),reigvec_tc_bi_orth(i,1),leigvec_tc_bi_orth(i,1)*reigvec_tc_bi_orth(i,1)
|
||||
enddo
|
||||
|
||||
else
|
||||
|
@ -14,7 +14,7 @@ default: False
|
||||
type: logical
|
||||
doc: If |true|, three-body terms are included
|
||||
interface: ezfio,provider,ocaml
|
||||
default: True
|
||||
default: False
|
||||
|
||||
[three_e_3_idx_term]
|
||||
type: logical
|
||||
@ -50,7 +50,7 @@ default: False
|
||||
type: logical
|
||||
doc: If |true|, standard normal-ordering for L (to be used with three_body_h_tc |false|)
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
default: True
|
||||
|
||||
[core_tc_op]
|
||||
type: logical
|
||||
|
@ -25,16 +25,16 @@ default: 1.e-12
|
||||
|
||||
[do_direct_integrals]
|
||||
type: logical
|
||||
doc: Compute integrals on the fly (very slow, only for debugging)
|
||||
doc: Compute integrals on the fly (Useful only for Cholesky decomposition)
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
default: True
|
||||
ezfio_name: direct
|
||||
|
||||
[do_ao_cholesky]
|
||||
type: logical
|
||||
doc: Perform Cholesky decomposition of AO integrals
|
||||
interface: ezfio,provider,ocaml
|
||||
default: False
|
||||
default: True
|
||||
|
||||
[io_ao_two_e_integrals_erf]
|
||||
type: Disk_access
|
||||
|
Loading…
Reference in New Issue
Block a user