10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-26 15:12:19 +02:00

Fixed broken filter_integrals in h_apply

This commit is contained in:
Anthony Scemama 2020-03-06 15:47:33 +01:00
parent fa258a9bf0
commit 22e54cecd1
2 changed files with 12 additions and 3 deletions

View File

@ -11,6 +11,7 @@ declarations
decls_main
deinit_thread
init_main
filter_integrals
filter2p
filter2h2p_double
filter2h2p_single
@ -104,6 +105,11 @@ class H_apply(object):
s["do_mono_excitations"] = d[do_mono_exc]
s["do_double_excitations"] = d[do_double_exc]
s["keys_work"] += "call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc)"
s["filter_integrals"] = "array_pairs = .True."
if SingleRef:
s["filter_integrals"] = """
call get_mo_bielec_integrals_existing_ik(i_a,j_a,mo_num,array_pairs,mo_integrals_map)
"""
s["generate_psi_guess"] = """
! Sort H_jj to find the N_states lowest states

View File

@ -240,7 +240,10 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl
! hole = a^(+)_j_a(ispin) a_i_a(ispin)|key_in> : single exc :: orb(i_a,ispin) --> orb(j_a,ispin)
hole_save = hole
if (ispin == 1) then
! Build array of the non-zero integrals of second excitation
$filter_integrals
if (ispin == 1) then
integer :: jjj
i=0
@ -282,7 +285,7 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl
$only_1h_double
$only_1p_double
$only_2h1p_double
$filter_only_connected_to_hf_double
$filter_only_connected_to_hf_double
key_idx += 1
do k=1,N_int
keys_out(k,1,key_idx) = key(k,1)
@ -494,7 +497,7 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato
$filter_only_1h1p_single
$filter_only_1h2p_single
$filter_only_2h2p_single
$filter_only_connected_to_hf_single
$filter_only_connected_to_hf_single
key_idx += 1
do k=1,N_int
keys_out(k,1,key_idx) = hole(k,1)