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

#include <idmrpt2.h>

Inheritance diagram for psi::psimrcc::IDMRPT2:
psi::psimrcc::CCManyBody

Public Member Functions

 IDMRPT2 (SharedWavefunction ref_wfn, Options &options)
 
virtual ~IDMRPT2 ()
 
void compute_mrpt2_energy (Updater *updater)
 
- 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 read_mrpt2_integrals ()
 
void update_amps_mkpt2 (Updater *updater)
 
void synchronize_amps ()
 
void build_amplitudes ()
 
void build_t1_ia_amplitudes ()
 Computes the contribution

\[ \mathcal{F}_{ai}(\mu) + \sum_{e} t_i^e(\mu) \mathcal{F}_{ae}(\mu) - \sum_{m} t_m^a(\mu) \mathcal{F}_{mi}(\mu) + \sum_{uv} t_{iu}^{av}(\mu) \mathcal{F}_{uv}(\mu) + \sum_{UV} t_{iU}^{aV}(\mu) \mathcal{F}_{UV}(\mu) \]

. More...

 
void build_t1_IA_amplitudes ()
 Computes the contribution

\[ \mathcal{F}_{AI}(\mu) + \sum_{E} t_I^E(\mu) \mathcal{F}_{AE}(\mu) - \sum_{M} t_M^A(\mu) \mathcal{F}_{MI}(\mu) + \sum_{uv} t_{uI}^{vA}(\mu) \mathcal{F}_{uv}(\mu) + \sum_{UV} t_{IU}^{AV}(\mu) \mathcal{F}_{UV}(\mu) \]

. More...

 
void build_t2_ijab_amplitudes ()
 Computes the contribution

\[ <ij||ab> + P(ab) \sum_{e} t_{ij}^{ae}(\mu) \mathcal{F}_{be}(\mu) - P(ij) \sum_{m} t_{im}^{ab}(\mu) \mathcal{F}_{mj}(\mu) \]

. More...

 
void build_t2_iJaB_amplitudes ()
 Computes the contribution

\[ <iJ||aB> + P(aB) \sum_{e} t_{iJ}^{ae}(\mu) \mathcal{F}_{Be}(\mu) - P(iJ) \sum_{m} t_{im}^{aB}(\mu) \mathcal{F}_{mJ}(\mu) \]

. More...

 
void build_t2_IJAB_amplitudes ()
 Computes the contribution

\[ <IJ||AB> + P(AB) \sum_{e} t_{IJ}^{Ae}(\mu) \mathcal{F}_{Be}(\mu) - P(IJ) \sum_{m} t_{Im}^{AB}(\mu) \mathcal{F}_{mJ}(\mu) \]

. More...

 
void build_Heff_mrpt2_diagonal ()
 
void build_Heff_scs_mrpt2_diagonal ()
 
void build_Heff_mrpt2_offdiagonal ()
 
void build_Heff_uv ()
 Computes the contribution (to be spin-factored)

\[ f_{uv}(\mu) + \sum_{e} t_u^e(\mu) f_{ve}(\mu) - \sum_{m} t_m^v(\mu) f_{mu}(\mu) + \sum_{me} t_{um}^{ve}(\mu) f_{me}(\mu) - \sum_{nf} t_{n}^{f}(\mu) <nv||uf> - \frac{1}{2} \sum_{mef} t_{um}^{ef}(\mu) <mv||ef> - \frac{1}{2} \sum_{mne} t_{mn}^{ve}(\mu) <nm||eu> \]

. More...

 
void build_Heff_UV ()
 Computes the contribution (to be spin-factored)

\[ f_{UV}(\mu) + \sum_{E} t_U^E(\mu) f_{VE}(\mu) - \sum_{M} t_M^V(\mu) f_{MU}(\mu) + \sum_{me} t_{Um}^{Ve}(\mu) f_{me}(\mu) - \sum_{nf} t_{n}^{f}(\mu) <nV||Uf> - \frac{1}{2} \sum_{mef} t_{Um}^{ef}(\mu) <mV||ef> - \frac{1}{2} \sum_{mne} t_{mn}^{Ve}(\mu) <nm||eU> \]

. More...

 
void build_Heff_uVxY ()
 
void build_Heff_uvxy ()
 Computes the contribution (to be spin-factored)

\[ <uv||xy> + P(xy) \sum_{e} t_{uv}^{xe}(\mu) f_{ye}(\mu) - P(uv) \sum_{m} t_{um}^{xy}(\mu) f_{mv}(\mu) \]

\[ + \frac{1}{2} \sum_{mn} t_{mn}^{xy}(\mu) <mn||uv> + \frac{1}{2} \sum_{ef} t_{uv}^{ef}(\mu) <xy||ef> + P(uv)P(xy) \sum_{me} t_{um}^{xe}(\mu) <my||ev> \]

\[ + P(uv) \sum_{e} t_{u}^{e}(\mu) <xy||ev> - P(xy) \sum_{m} t_{m}^{x}(\mu) <my||uv> \]

. More...

 
void build_Heff_UVXY ()
 
void build_Heff_ijkabc ()
 
void build_Heff_ijKabC ()
 
void build_Heff_iJKaBC ()
 
void build_Heff_IJKABC ()
 
void build_F_intermediates ()
 
void build_F_ae_intermediates ()
 Computes the intermediate

\[ \mathcal{F}_{ae}(\mu) = (1-\delta_{ae}) < a| \hat{F}_{\mu}^{A} + \hat{F}_{\mu}^{E}|e> \]

. More...

 
void build_F_AE_intermediates ()
 Computes the intermediate

\[ \mathcal{F}_{AE}(\mu) = (1-\delta_{AE}) < A| \hat{F}_{\mu}^{A} + \hat{F}_{\mu}^{E}|E> \]

. More...

 
void build_F_mi_intermediates ()
 Computes the intermediate

\[ \mathcal{F}_{mi}(\mu) = (1-\delta_{mi}) <m| \hat{F}_{\mu}^{D} + \hat{F}_{\mu}^{A}|i> \]

. More...

 
void build_F_MI_intermediates ()
 Computes the intermediate

\[ \mathcal{F}_{MI}(\mu) = (1-\delta_{MI}) <M| \hat{F}_{\mu}^{D} + \hat{F}_{\mu}^{A}|I> \]

. More...

 

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
 

Detailed Description

Author
Francesco Evangelista frank.nosp@m.@ccc.nosp@m..uga..nosp@m.edu

Constructor & Destructor Documentation

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

Member Function Documentation

void psi::psimrcc::IDMRPT2::add_matrices ( )
private
void psi::psimrcc::IDMRPT2::build_amplitudes ( )
private
void psi::psimrcc::IDMRPT2::build_F_ae_intermediates ( )
private

Computes the intermediate

\[ \mathcal{F}_{ae}(\mu) = (1-\delta_{ae}) < a| \hat{F}_{\mu}^{A} + \hat{F}_{\mu}^{E}|e> \]

.

void psi::psimrcc::IDMRPT2::build_F_AE_intermediates ( )
private

Computes the intermediate

\[ \mathcal{F}_{AE}(\mu) = (1-\delta_{AE}) < A| \hat{F}_{\mu}^{A} + \hat{F}_{\mu}^{E}|E> \]

.

void psi::psimrcc::IDMRPT2::build_F_intermediates ( )
private
void psi::psimrcc::IDMRPT2::build_F_mi_intermediates ( )
private

Computes the intermediate

\[ \mathcal{F}_{mi}(\mu) = (1-\delta_{mi}) <m| \hat{F}_{\mu}^{D} + \hat{F}_{\mu}^{A}|i> \]

.

void psi::psimrcc::IDMRPT2::build_F_MI_intermediates ( )
private

Computes the intermediate

\[ \mathcal{F}_{MI}(\mu) = (1-\delta_{MI}) <M| \hat{F}_{\mu}^{D} + \hat{F}_{\mu}^{A}|I> \]

.

void psi::psimrcc::IDMRPT2::build_Heff_ijkabc ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_ijKabC ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_iJKaBC ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_IJKABC ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_mrpt2_diagonal ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_mrpt2_offdiagonal ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_scs_mrpt2_diagonal ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_uv ( )
private

Computes the contribution (to be spin-factored)

\[ f_{uv}(\mu) + \sum_{e} t_u^e(\mu) f_{ve}(\mu) - \sum_{m} t_m^v(\mu) f_{mu}(\mu) + \sum_{me} t_{um}^{ve}(\mu) f_{me}(\mu) - \sum_{nf} t_{n}^{f}(\mu) <nv||uf> - \frac{1}{2} \sum_{mef} t_{um}^{ef}(\mu) <mv||ef> - \frac{1}{2} \sum_{mne} t_{mn}^{ve}(\mu) <nm||eu> \]

.

void psi::psimrcc::IDMRPT2::build_Heff_UV ( )
private

Computes the contribution (to be spin-factored)

\[ f_{UV}(\mu) + \sum_{E} t_U^E(\mu) f_{VE}(\mu) - \sum_{M} t_M^V(\mu) f_{MU}(\mu) + \sum_{me} t_{Um}^{Ve}(\mu) f_{me}(\mu) - \sum_{nf} t_{n}^{f}(\mu) <nV||Uf> - \frac{1}{2} \sum_{mef} t_{Um}^{ef}(\mu) <mV||ef> - \frac{1}{2} \sum_{mne} t_{mn}^{Ve}(\mu) <nm||eU> \]

.

void psi::psimrcc::IDMRPT2::build_Heff_uVxY ( )
private
void psi::psimrcc::IDMRPT2::build_Heff_uvxy ( )
private

Computes the contribution (to be spin-factored)

\[ <uv||xy> + P(xy) \sum_{e} t_{uv}^{xe}(\mu) f_{ye}(\mu) - P(uv) \sum_{m} t_{um}^{xy}(\mu) f_{mv}(\mu) \]

\[ + \frac{1}{2} \sum_{mn} t_{mn}^{xy}(\mu) <mn||uv> + \frac{1}{2} \sum_{ef} t_{uv}^{ef}(\mu) <xy||ef> + P(uv)P(xy) \sum_{me} t_{um}^{xe}(\mu) <my||ev> \]

\[ + P(uv) \sum_{e} t_{u}^{e}(\mu) <xy||ev> - P(xy) \sum_{m} t_{m}^{x}(\mu) <my||uv> \]

.

void psi::psimrcc::IDMRPT2::build_Heff_UVXY ( )
private
void psi::psimrcc::IDMRPT2::build_t1_ia_amplitudes ( )
private

Computes the contribution

\[ \mathcal{F}_{ai}(\mu) + \sum_{e} t_i^e(\mu) \mathcal{F}_{ae}(\mu) - \sum_{m} t_m^a(\mu) \mathcal{F}_{mi}(\mu) + \sum_{uv} t_{iu}^{av}(\mu) \mathcal{F}_{uv}(\mu) + \sum_{UV} t_{iU}^{aV}(\mu) \mathcal{F}_{UV}(\mu) \]

.

void psi::psimrcc::IDMRPT2::build_t1_IA_amplitudes ( )
private

Computes the contribution

\[ \mathcal{F}_{AI}(\mu) + \sum_{E} t_I^E(\mu) \mathcal{F}_{AE}(\mu) - \sum_{M} t_M^A(\mu) \mathcal{F}_{MI}(\mu) + \sum_{uv} t_{uI}^{vA}(\mu) \mathcal{F}_{uv}(\mu) + \sum_{UV} t_{IU}^{AV}(\mu) \mathcal{F}_{UV}(\mu) \]

.

void psi::psimrcc::IDMRPT2::build_t2_ijab_amplitudes ( )
private

Computes the contribution

\[ <ij||ab> + P(ab) \sum_{e} t_{ij}^{ae}(\mu) \mathcal{F}_{be}(\mu) - P(ij) \sum_{m} t_{im}^{ab}(\mu) \mathcal{F}_{mj}(\mu) \]

.

void psi::psimrcc::IDMRPT2::build_t2_iJaB_amplitudes ( )
private

Computes the contribution

\[ <iJ||aB> + P(aB) \sum_{e} t_{iJ}^{ae}(\mu) \mathcal{F}_{Be}(\mu) - P(iJ) \sum_{m} t_{im}^{aB}(\mu) \mathcal{F}_{mJ}(\mu) \]

.

void psi::psimrcc::IDMRPT2::build_t2_IJAB_amplitudes ( )
private

Computes the contribution

\[ <IJ||AB> + P(AB) \sum_{e} t_{IJ}^{Ae}(\mu) \mathcal{F}_{Be}(\mu) - P(IJ) \sum_{m} t_{Im}^{AB}(\mu) \mathcal{F}_{mJ}(\mu) \]

.

void psi::psimrcc::IDMRPT2::compute_mrpt2_energy ( Updater updater)
void psi::psimrcc::IDMRPT2::read_mrpt2_integrals ( )
private
void psi::psimrcc::IDMRPT2::synchronize_amps ( )
private
void psi::psimrcc::IDMRPT2::update_amps_mkpt2 ( Updater updater)
private

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