Psi4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::psimrcc::CCMRCC Class Reference

#include <mrcc.h>

Inheritance diagram for psi::psimrcc::CCMRCC:
psi::psimrcc::CCManyBody

Public Member Functions

 CCMRCC (SharedWavefunction ref_wfn, Options &options)
 
virtual ~CCMRCC ()
 
void compute_energy (Updater *updater)
 
void compute_perturbative_triples ()
 
void compute_first_order_amps ()
 
void perturbative_cbs ()
 
- Public Member Functions inherited from psi::psimrcc::CCManyBody
 CCManyBody (SharedWavefunction ref_wfn, Options &options)
 
virtual ~CCManyBody ()
 
void generate_integrals ()
 
void generate_denominators ()
 
void compute_reference_energy ()
 
void make_fock_matrix ()
 
void make_denominators ()
 
void print_method (const char *text)
 

Private Member Functions

void add_matrices ()
 
void diis (int cycle)
 
void diis_save_t_amps ()
 
void synchronize_amps ()
 
void compute_delta_amps ()
 
void add_ccsd_matrices ()
 
void build_tau_intermediates ()
 Computes the contractions

\[ \tau_{ij}^{ab} = t_{ij}^{ab} + t_i^a t_j^b - t_i^b t_j^a \]

\[ \tilde{\tau}_{ij}^{ab} = t_{ij}^{ab} + \frac{1}{2} (t_i^a t_j^b - t_i^b t_j^a) \]

\[ \hat{\tau}_{ij}^{ab} = \frac{1}{2} t_{ij}^{ab} + t_i^a t_j^b \]

as described in J. Phys. Chem. vol. 94, pg. 4334 (1991). See J. Phys. Chem. vol. 127, 024102 (2007) supplementary material for the spin-factored equations. More...

 
void build_F_intermediates ()
 Computes the contractions

\[ F_{ae} = (1-\delta_{ae})f_{ae} - \frac{1}{2} \sum_m f_{me} t_m^a + \sum_{mf} t_m^f <ma||fe> - \frac{1}{2} \sum_{mnf} \tilde{\tau}_{in}^{af} <mn||ef> \]

\[ F_{mi} = (1-\delta_{mi})f_{mi} + \frac{1}{2} \sum_e f_{me} t_i^e + \sum_{en} t_n^e <mn||ie> + \frac{1}{2} \sum_{nef} \tilde{\tau}_{in}^{ef} <mn||ef> \]

\[ F_{me} = f_{me} + \sum_{nf} t_n^f <mn||ef> \]

\[ F'_{ae} = F_{ae} - \frac{1}{2} \sum_m t_m^a F_{me} \]

\[ F'_{mi} = F_{mi} + \frac{1}{2} \sum_e t_i^e F_{me} \]

as described in J. Phys. Chem. vol. 94, pg. 4334 (1991). See J. Phys. Chem. vol. 127, 024102 (2007) supplementary material for the spin-factored equations. More...

 
void build_F_ae_intermediates ()
 
void build_F_AE_intermediates ()
 
void build_F_mi_intermediates ()
 
void build_F_MI_intermediates ()
 
void build_F_me_intermediates ()
 
void build_F_ME_intermediates ()
 
void build_F_prime_ae_intermediates ()
 
void build_F_prime_AE_intermediates ()
 
void build_F_prime_mi_intermediates ()
 
void build_F_prime_MI_intermediates ()
 
void build_F2_me_intermediates ()
 
void build_F2_ME_intermediates ()
 
void build_W_intermediates ()
 
void build_W_mnij_intermediates ()
 
void build_W_mNiJ_intermediates ()
 
void build_W_MNIJ_intermediates ()
 
void build_W_jbme_intermediates ()
 
void build_W_JBme_intermediates ()
 
void build_W_jBmE_intermediates ()
 
void build_W_jbME_intermediates ()
 
void build_W_JbMe_intermediates ()
 
void build_W_JBME_intermediates ()
 
void build_Z_intermediates ()
 
void build_t1_amplitudes ()
 
void build_t1_ia_amplitudes ()
 
void build_t1_IA_amplitudes ()
 
void build_t1_amplitudes_triples ()
 
void build_t1_ia_amplitudes_triples ()
 Computes the contraction

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> + \sum_{mNeF} t_{imN}^{aeF} <mN|eF> + \frac{1}{4} \sum_{MNEF} t_{iMN}^{aEF} <MN||EF>\rightarrow \{ \bar{H}_{i}^{a} \} \]

. More...

 
void build_t1_IA_amplitudes_triples ()
 Computes the contraction

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{4} \sum_{mnef} t_{mnI}^{efA} <mn||ef> + \sum_{mNeF} t_{mNI}^{eFA} <mN|eF> + \frac{1}{4} \sum_{MNEF} t_{MNI}^{EFA} <MN||EF>\rightarrow \{ \bar{H}_{I}^{A} \} \]

. More...

 
void build_t2_amplitudes ()
 
void build_t2_ijab_amplitudes ()
 
void build_t2_iJaB_amplitudes ()
 
void build_t2_IJAB_amplitudes ()
 
void build_t2_amplitudes_triples ()
 
void build_t2_ijab_amplitudes_triples_diagram1 ()
 Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

. More...

 
void build_t2_iJaB_amplitudes_triples_diagram1 ()
 Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{aBe} W_{mnJe} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{Mne} t_{inM}^{aeB} W_{MnJe} \rightarrow \{ -\bar{H}_{iJ}^{aB} \} \]

\[ \sum_{mNe} t_{mNJ}^{aBE} W_{mNiE} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

\[ \frac{1}{2} \sum_{mne} t_{mnJ}^{aeB} W_{mnie} \rightarrow \{ -\bar{H}_{iJ}^{aB} \} \]

\[ \frac{1}{2} \sum_{NME} t_{iNM}^{aBE} W_{MNJE} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

. More...

 
void build_t2_IJAB_amplitudes_triples_diagram1 ()
 Computes the contraction

\[ -\frac{1}{2} P(IJ)\sum_{mne} t_{Imn}^{ABe} W_{mnJe} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{Mne} t_{nMI}^{eAB} W_{MnJe} \rightarrow \{\bar{H}_{IJ}^{AB},-\bar{H}_{JI}^{AB} \} \]

\[ \frac{1}{2}\sum_{MNE} t_{IMN}^{ABE} W_{MNJE} \rightarrow \{ -\bar{H}_{IJ}^{AB},\bar{H}_{JI}^{AB} \} \]

. More...

 
void build_t2_ijab_amplitudes_triples_diagram2 ()
 Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

. More...

 
void build_t2_iJaB_amplitudes_triples_diagram2 ()
 Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

. More...

 
void build_t2_IJAB_amplitudes_triples_diagram2 ()
 Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

. More...

 
void build_t2_ijab_amplitudes_triples_diagram3 ()
 Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{ijm}^{abe} F''_{me} + \sum_{ME} t_{ijM}^{abE} F''_{ME} \rightarrow \{ \bar{H}_{ij}^{ab} \} \]

. More...

 
void build_t2_iJaB_amplitudes_triples_diagram3 ()
 Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{imJ}^{aeB} F''_{me} + \sum_{ME} t_{iMJ}^{aEB} F''_{ME} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

. More...

 
void build_t2_IJAB_amplitudes_triples_diagram3 ()
 Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{mIJ}^{eAB} F''_{me} + \sum_{ME} t_{MIJ}^{EAB} F''_{ME} \rightarrow \{ \bar{H}_{IJ}^{AB} \} \]

. More...

 
void form_similarity_transformed_hamiltonian ()
 
bool build_diagonalize_Heff (int cycle, double time)
 
void build_Heff_diagonal ()
 
void build_Heff_offdiagonal ()
 
void update_amps ()
 
void update_t1_amps ()
 
void update_t2_amps ()
 
void update_t3_amps ()
 
void update_t3_ijkabc_amps ()
 
void update_t3_ijKabC_amps ()
 
void update_t3_iJKaBC_amps ()
 
void update_t3_IJKABC_amps ()
 
void update_amps_bwccsd ()
 
void update_t1_amps_bwccsd ()
 
void update_t2_amps_bwccsd ()
 
void update_amps_mkccsd ()
 
void update_t1_amps_mkccsd ()
 
void update_t2_amps_mkccsd ()
 
void update_t1_t2_amps_mkccsd ()
 
void update_t3_amps_mkccsd ()
 
void update_t3_ijkabc_amps_mkccsd ()
 
void update_t3_ijKabC_amps_mkccsd ()
 
void update_t3_iJKaBC_amps_mkccsd ()
 
void update_t3_IJKABC_amps_mkccsd ()
 
void update_amps_mkccsd_residual ()
 
void update_t1_amps_mkccsd_residual ()
 
void update_t2_amps_mkccsd_residual ()
 
void update_t1_t2_amps_mkccsd_residual ()
 
void print_mrccsd_energy (int cycle)
 
std::vector< double > compute_ooo_triples ()
 
std::vector< double > compute_OOO_triples ()
 
std::vector< double > compute_ooO_triples ()
 
std::vector< double > compute_oOO_triples ()
 

Private Attributes

Optionsoptions_
 
bool ap_correction
 
Hamiltonian h_eff
 

Additional Inherited Members

- Protected Member Functions inherited from psi::psimrcc::CCManyBody
void print_eigensystem (int ndets, double **Heff, double *&eigenvector)
 
double diagonalize_Heff (int root, int ndets, double **Heff, double *&right_eigenvector, double *&left_eigenvector, bool initial)
 
void sort_eigensystem (int ndets, double *&real, double *&imaginary, double **&left, double **&right)
 
double c_H_c (int ndets, double **H, double *&c)
 
void generate_triples_denominators ()
 
void generate_d3_ijk (double ***&d3, bool alpha_i, bool alpha_j, bool alpha_k)
 
void generate_d3_abc (double ***&d3, bool alpha_a, bool alpha_b, bool alpha_c)
 
void deallocate_triples_denominators ()
 
- Protected Attributes inherited from psi::psimrcc::CCManyBody
Optionsoptions_
 
SharedWavefunction ref_wfn_
 
double * zeroth_order_eigenvector
 
double * right_eigenvector
 
double * left_eigenvector
 
double ** Heff
 
double ** Heff_mrpt2
 
double current_energy
 
double delta_energy
 
double cas_energy
 
double old_energy
 
double huge
 
double total_time
 
double norm_amps
 
double delta_t1_amps
 
double delta_t2_amps
 
bool pert_cbs
 
bool pert_cbs_coupling
 
TriplesType triples_type
 
TriplesCouplingType triples_coupling_type
 
double *** d3_ooo
 
double *** d3_ooO
 
double *** d3_oOO
 
double *** d3_OOO
 
double *** d3_vvv
 
double *** d3_vvV
 
double *** d3_vVV
 
double *** d3_VVV
 

Constructor & Destructor Documentation

psi::psimrcc::CCMRCC::CCMRCC ( SharedWavefunction  ref_wfn,
Options options 
)
psi::psimrcc::CCMRCC::~CCMRCC ( )
virtual

Member Function Documentation

void psi::psimrcc::CCMRCC::add_ccsd_matrices ( )
private
void psi::psimrcc::CCMRCC::add_matrices ( )
private
bool psi::psimrcc::CCMRCC::build_diagonalize_Heff ( int  cycle,
double  time 
)
private

TODO fix this code which is temporarly not working

void psi::psimrcc::CCMRCC::build_F2_me_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F2_ME_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_ae_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_AE_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_intermediates ( )
private

Computes the contractions

\[ F_{ae} = (1-\delta_{ae})f_{ae} - \frac{1}{2} \sum_m f_{me} t_m^a + \sum_{mf} t_m^f <ma||fe> - \frac{1}{2} \sum_{mnf} \tilde{\tau}_{in}^{af} <mn||ef> \]

\[ F_{mi} = (1-\delta_{mi})f_{mi} + \frac{1}{2} \sum_e f_{me} t_i^e + \sum_{en} t_n^e <mn||ie> + \frac{1}{2} \sum_{nef} \tilde{\tau}_{in}^{ef} <mn||ef> \]

\[ F_{me} = f_{me} + \sum_{nf} t_n^f <mn||ef> \]

\[ F'_{ae} = F_{ae} - \frac{1}{2} \sum_m t_m^a F_{me} \]

\[ F'_{mi} = F_{mi} + \frac{1}{2} \sum_e t_i^e F_{me} \]

as described in J. Phys. Chem. vol. 94, pg. 4334 (1991). See J. Phys. Chem. vol. 127, 024102 (2007) supplementary material for the spin-factored equations.

void psi::psimrcc::CCMRCC::build_F_me_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_ME_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_mi_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_MI_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_prime_ae_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_prime_AE_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_prime_mi_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_F_prime_MI_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_Heff_diagonal ( )
private
void psi::psimrcc::CCMRCC::build_Heff_offdiagonal ( )
private
void psi::psimrcc::CCMRCC::build_t1_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t1_amplitudes_triples ( )
private
void psi::psimrcc::CCMRCC::build_t1_ia_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t1_IA_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t1_ia_amplitudes_triples ( )
private

Computes the contraction

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> + \sum_{mNeF} t_{imN}^{aeF} <mN|eF> + \frac{1}{4} \sum_{MNEF} t_{iMN}^{aEF} <MN||EF>\rightarrow \{ \bar{H}_{i}^{a} \} \]

.

void psi::psimrcc::CCMRCC::build_t1_IA_amplitudes_triples ( )
private

Computes the contraction

\[ \frac{1}{4} \sum_{mnef} t_{imn}^{aef} <mn||ef> \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{4} \sum_{mnef} t_{mnI}^{efA} <mn||ef> + \sum_{mNeF} t_{mNI}^{eFA} <mN|eF> + \frac{1}{4} \sum_{MNEF} t_{MNI}^{EFA} <MN||EF>\rightarrow \{ \bar{H}_{I}^{A} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t2_amplitudes_triples ( )
private
void psi::psimrcc::CCMRCC::build_t2_ijab_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t2_iJaB_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t2_IJAB_amplitudes ( )
private
void psi::psimrcc::CCMRCC::build_t2_ijab_amplitudes_triples_diagram1 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_iJaB_amplitudes_triples_diagram1 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{aBe} W_{mnJe} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{Mne} t_{inM}^{aeB} W_{MnJe} \rightarrow \{ -\bar{H}_{iJ}^{aB} \} \]

\[ \sum_{mNe} t_{mNJ}^{aBE} W_{mNiE} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

\[ \frac{1}{2} \sum_{mne} t_{mnJ}^{aeB} W_{mnie} \rightarrow \{ -\bar{H}_{iJ}^{aB} \} \]

\[ \frac{1}{2} \sum_{NME} t_{iNM}^{aBE} W_{MNJE} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_IJAB_amplitudes_triples_diagram1 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(IJ)\sum_{mne} t_{Imn}^{ABe} W_{mnJe} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{Mne} t_{nMI}^{eAB} W_{MnJe} \rightarrow \{\bar{H}_{IJ}^{AB},-\bar{H}_{JI}^{AB} \} \]

\[ \frac{1}{2}\sum_{MNE} t_{IMN}^{ABE} W_{MNJE} \rightarrow \{ -\bar{H}_{IJ}^{AB},\bar{H}_{JI}^{AB} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_ijab_amplitudes_triples_diagram2 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_iJaB_amplitudes_triples_diagram2 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_IJAB_amplitudes_triples_diagram2 ( )
private

Computes the contraction

\[ -\frac{1}{2} P(ij)\sum_{mne} t_{imn}^{abe} W_{mnje} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \frac{1}{2}\sum_{mne} t_{imn}^{abe} W_{mnje} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

\[ \sum_{mNE} t_{imN}^{abE} W_{mNjE} \rightarrow \{ -\bar{H}_{ij}^{ab},\bar{H}_{ji}^{ab} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_ijab_amplitudes_triples_diagram3 ( )
private

Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{ijm}^{abe} F''_{me} + \sum_{ME} t_{ijM}^{abE} F''_{ME} \rightarrow \{ \bar{H}_{ij}^{ab} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_iJaB_amplitudes_triples_diagram3 ( )
private

Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{imJ}^{aeB} F''_{me} + \sum_{ME} t_{iMJ}^{aEB} F''_{ME} \rightarrow \{ \bar{H}_{iJ}^{aB} \} \]

.

void psi::psimrcc::CCMRCC::build_t2_IJAB_amplitudes_triples_diagram3 ( )
private

Computes the contraction

\[ \sum_{me} t_{ijm}^{abe} F''_{me} \]

as described in Fig. 1 of Phys. Chem. Chem. Phys. vol. 2, pg. 2047 (2000). This algorithm hence performs

\[ \sum_{me} t_{mIJ}^{eAB} F''_{me} + \sum_{ME} t_{MIJ}^{EAB} F''_{ME} \rightarrow \{ \bar{H}_{IJ}^{AB} \} \]

.

void psi::psimrcc::CCMRCC::build_tau_intermediates ( )
private

Computes the contractions

\[ \tau_{ij}^{ab} = t_{ij}^{ab} + t_i^a t_j^b - t_i^b t_j^a \]

\[ \tilde{\tau}_{ij}^{ab} = t_{ij}^{ab} + \frac{1}{2} (t_i^a t_j^b - t_i^b t_j^a) \]

\[ \hat{\tau}_{ij}^{ab} = \frac{1}{2} t_{ij}^{ab} + t_i^a t_j^b \]

as described in J. Phys. Chem. vol. 94, pg. 4334 (1991). See J. Phys. Chem. vol. 127, 024102 (2007) supplementary material for the spin-factored equations.

void psi::psimrcc::CCMRCC::build_W_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_jbme_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_JBme_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_jBmE_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_jbME_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_JbMe_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_JBME_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_mnij_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_mNiJ_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_W_MNIJ_intermediates ( )
private
void psi::psimrcc::CCMRCC::build_Z_intermediates ( )
private
void psi::psimrcc::CCMRCC::compute_delta_amps ( )
private
void psi::psimrcc::CCMRCC::compute_energy ( Updater updater)

This is a generic coupled cluster cycle. By specifying the updater object you can get all the flavors of CC, single-reference, Mukherjee MRCC,...

Parameters
updaterthe pointer to a Updater object
void psi::psimrcc::CCMRCC::compute_first_order_amps ( )
std::vector<double> psi::psimrcc::CCMRCC::compute_ooo_triples ( )
private
std::vector<double> psi::psimrcc::CCMRCC::compute_OOO_triples ( )
private
std::vector<double> psi::psimrcc::CCMRCC::compute_ooO_triples ( )
private
std::vector<double> psi::psimrcc::CCMRCC::compute_oOO_triples ( )
private
void psi::psimrcc::CCMRCC::compute_perturbative_triples ( )
void psi::psimrcc::CCMRCC::diis ( int  cycle)
private
void psi::psimrcc::CCMRCC::diis_save_t_amps ( )
private
void psi::psimrcc::CCMRCC::form_similarity_transformed_hamiltonian ( )
private
void psi::psimrcc::CCMRCC::perturbative_cbs ( )
void psi::psimrcc::CCMRCC::print_mrccsd_energy ( int  cycle)
private
void psi::psimrcc::CCMRCC::synchronize_amps ( )
private
void psi::psimrcc::CCMRCC::update_amps ( )
private
void psi::psimrcc::CCMRCC::update_amps_bwccsd ( )
private
void psi::psimrcc::CCMRCC::update_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_amps_mkccsd_residual ( )
private
void psi::psimrcc::CCMRCC::update_t1_amps ( )
private
void psi::psimrcc::CCMRCC::update_t1_amps_bwccsd ( )
private
void psi::psimrcc::CCMRCC::update_t1_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t1_amps_mkccsd_residual ( )
private
void psi::psimrcc::CCMRCC::update_t1_t2_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t1_t2_amps_mkccsd_residual ( )
private
void psi::psimrcc::CCMRCC::update_t2_amps ( )
private
void psi::psimrcc::CCMRCC::update_t2_amps_bwccsd ( )
private
void psi::psimrcc::CCMRCC::update_t2_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t2_amps_mkccsd_residual ( )
private
void psi::psimrcc::CCMRCC::update_t3_amps ( )
private
void psi::psimrcc::CCMRCC::update_t3_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t3_ijkabc_amps ( )
private
void psi::psimrcc::CCMRCC::update_t3_ijKabC_amps ( )
private
void psi::psimrcc::CCMRCC::update_t3_iJKaBC_amps ( )
private
void psi::psimrcc::CCMRCC::update_t3_IJKABC_amps ( )
private
void psi::psimrcc::CCMRCC::update_t3_ijkabc_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t3_ijKabC_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t3_iJKaBC_amps_mkccsd ( )
private
void psi::psimrcc::CCMRCC::update_t3_IJKABC_amps_mkccsd ( )
private

Member Data Documentation

bool psi::psimrcc::CCMRCC::ap_correction
private
Hamiltonian psi::psimrcc::CCMRCC::h_eff
private
Options& psi::psimrcc::CCMRCC::options_
private

The documentation for this class was generated from the following files: