@@ -54,9 +54,10 @@ template <size_t N>
5454asci_contrib_container<wfn_t <N>> asci_contributions_standard (
5555 ASCISettings asci_settings, wavefunction_iterator_t <N> cdets_begin,
5656 wavefunction_iterator_t <N> cdets_end, const double E_ASCI,
57- const std::vector<double >& C, size_t norb, const double * T_pq,
58- const double * G_red, const double * V_red, const double * G_pqrs,
59- const double * V_pqrs, HamiltonianGenerator<N>& ham_gen) {
57+ const std::vector<double >& C, size_t norb, const double * Tu_pq,
58+ const double * Td_pq, const double * G_red, const double * V_red,
59+ const double * G_pqrs, const double * V_pqrs,
60+ HamiltonianGenerator<N>& ham_gen) {
6061 auto logger = spdlog::get (" asci_search" );
6162
6263 const size_t ncdets = std::distance (cdets_begin, cdets_end);
@@ -77,8 +78,8 @@ asci_contrib_container<wfn_t<N>> asci_contributions_standard(
7778 bitset_to_occ_vir (norb, state_beta, occ_beta, vir_beta);
7879
7980 // Precompute orbital energies
80- auto eps_alpha = ham_gen.single_orbital_ens (norb, occ_alpha, occ_beta);
81- auto eps_beta = ham_gen.single_orbital_ens (norb, occ_beta, occ_alpha);
81+ auto eps_alpha = ham_gen.single_orbital_ens (norb, occ_alpha, occ_beta, ham_gen. Tu_pq_ );
82+ auto eps_beta = ham_gen.single_orbital_ens (norb, occ_beta, occ_alpha, ham_gen. Td_pq_ );
8283
8384 // Compute base diagonal matrix element
8485 double h_diag = ham_gen.matrix_element (state, state);
@@ -88,13 +89,13 @@ asci_contrib_container<wfn_t<N>> asci_contributions_standard(
8889 // Singles - AA
8990 append_singles_asci_contributions<(N / 2 ), 0 >(
9091 coeff, state, state_alpha, occ_alpha, vir_alpha, occ_beta,
91- eps_alpha.data (), T_pq , norb, G_red, norb, V_red, norb, h_el_tol,
92+ eps_alpha.data (), Tu_pq , norb, G_red, norb, V_red, norb, h_el_tol,
9293 h_diag, E_ASCI, ham_gen, asci_pairs);
9394
9495 // Singles - BB
9596 append_singles_asci_contributions<(N / 2 ), (N / 2 )>(
9697 coeff, state, state_beta, occ_beta, vir_beta, occ_alpha,
97- eps_beta.data (), T_pq , norb, G_red, norb, V_red, norb, h_el_tol, h_diag,
98+ eps_beta.data (), Td_pq , norb, G_red, norb, V_red, norb, h_el_tol, h_diag,
9899 E_ASCI, ham_gen, asci_pairs);
99100
100101 if (not asci_settings.just_singles ) {
@@ -145,9 +146,10 @@ template <size_t N>
145146asci_contrib_container<wfn_t <N>> asci_contributions_constraint (
146147 ASCISettings asci_settings, wavefunction_iterator_t <N> cdets_begin,
147148 wavefunction_iterator_t <N> cdets_end, const double E_ASCI,
148- const std::vector<double >& C, size_t norb, const double * T_pq,
149- const double * G_red, const double * V_red, const double * G_pqrs,
150- const double * V_pqrs, HamiltonianGenerator<N>& ham_gen, MPI_Comm comm) {
149+ const std::vector<double >& C, size_t norb, const double * Tu_pq,
150+ const double * Td_pq, const double * G_red, const double * V_red,
151+ const double * G_pqrs, const double * V_pqrs,
152+ HamiltonianGenerator<N>& ham_gen, MPI_Comm comm) {
151153 using clock_type = std::chrono::high_resolution_clock;
152154 using duration_type = std::chrono::duration<double , std::milli>;
153155
@@ -198,8 +200,8 @@ asci_contrib_container<wfn_t<N>> asci_contributions_constraint(
198200 bitset_to_occ_vir (norb, beta_shift, occ_beta, vir_beta);
199201
200202 // Precompute orbital energies
201- orb_ens_alpha = ham_gen.single_orbital_ens (norb, occ_alpha, occ_beta);
202- orb_ens_beta = ham_gen.single_orbital_ens (norb, occ_beta, occ_alpha);
203+ orb_ens_alpha = ham_gen.single_orbital_ens (norb, occ_alpha, occ_beta, ham_gen. Tu_pq_ );
204+ orb_ens_beta = ham_gen.single_orbital_ens (norb, occ_beta, occ_alpha, ham_gen. Td_pq_ );
203205 }
204206 };
205207
@@ -291,7 +293,7 @@ asci_contrib_container<wfn_t<N>> asci_contributions_constraint(
291293 const auto & orb_ens_alpha = bcd.orb_ens_alpha ;
292294 generate_constraint_singles_contributions_ss (
293295 coeff, det, C, O, B, beta, occ_alpha, occ_beta,
294- orb_ens_alpha.data (), T_pq , norb, G_red, norb, V_red, norb,
296+ orb_ens_alpha.data (), Tu_pq , norb, G_red, norb, V_red, norb,
295297 h_el_tol, h_diag, E_ASCI, ham_gen, asci_pairs);
296298 }
297299
@@ -339,7 +341,7 @@ asci_contrib_container<wfn_t<N>> asci_contributions_constraint(
339341 // BB Excitations
340342 append_singles_asci_contributions<(N / 2 ), (N / 2 )>(
341343 coeff, state, state_beta, occ_beta, vir_beta, occ_alpha,
342- eps_beta.data (), T_pq , norb, G_red, norb, V_red, norb, h_el_tol,
344+ eps_beta.data (), Td_pq , norb, G_red, norb, V_red, norb, h_el_tol,
343345 h_diag, E_ASCI, ham_gen, asci_pairs);
344346
345347 // BBBB Excitations
@@ -396,9 +398,9 @@ std::vector<wfn_t<N>> asci_search(
396398 ASCISettings asci_settings, size_t ndets_max,
397399 wavefunction_iterator_t <N> cdets_begin,
398400 wavefunction_iterator_t <N> cdets_end, const double E_ASCI,
399- const std::vector<double >& C, size_t norb, const double * T_pq ,
400- const double * G_red , const double * V_red , const double * G_pqrs,
401- const double * V_pqrs,
401+ const std::vector<double >& C, size_t norb, const double * Tu_pq ,
402+ const double * Td_pq , const double * G_red , const double * V_red,
403+ const double * G_pqrs, const double * V_pqrs,
402404 HamiltonianGenerator<N>& ham_gen MACIS_MPI_CODE (, MPI_Comm comm)) {
403405 using clock_type = std::chrono::high_resolution_clock;
404406 using duration_type = std::chrono::duration<double >;
@@ -446,13 +448,13 @@ std::vector<wfn_t<N>> asci_search(
446448 asci_contrib_container<wfn_t <N>> asci_pairs;
447449 if (world_size == 1 )
448450 asci_pairs = asci_contributions_standard (
449- asci_settings, cdets_begin, cdets_end, E_ASCI, C, norb, T_pq, G_red,
450- V_red, G_pqrs, V_pqrs, ham_gen);
451+ asci_settings, cdets_begin, cdets_end, E_ASCI, C, norb, Tu_pq, Td_pq,
452+ G_red, V_red, G_pqrs, V_pqrs, ham_gen);
451453#ifdef MACIS_ENABLE_MPI
452454 else
453455 asci_pairs = asci_contributions_constraint (
454- asci_settings, cdets_begin, cdets_end, E_ASCI, C, norb, T_pq, G_red ,
455- V_red, G_pqrs, V_pqrs, ham_gen MACIS_MPI_CODE (, comm));
456+ asci_settings, cdets_begin, cdets_end, E_ASCI, C, norb, Tu_pq, Td_pq ,
457+ G_red, V_red, G_pqrs, V_pqrs, ham_gen MACIS_MPI_CODE (, comm));
456458#endif
457459 auto pairs_en = clock_type::now ();
458460
0 commit comments