Psi4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::ccenergy::CCEnergyWavefunction Class Reference

#include <ccwave.h>

Inheritance diagram for psi::ccenergy::CCEnergyWavefunction:
psi::Wavefunction

Public Member Functions

 CCEnergyWavefunction (std::shared_ptr< Wavefunction > reference_wavefunction, Options &options)
 
virtual ~CCEnergyWavefunction ()
 
double compute_energy ()
 Compute energy. Subclasses override this function to compute its energy. More...
 
- Public Member Functions inherited from psi::Wavefunction
 Wavefunction (std::shared_ptr< Molecule > molecule, std::shared_ptr< BasisSet > basis, Options &options)
 Constructor for an entirely new wavefunction with an existing basis. More...
 
 Wavefunction (std::shared_ptr< Molecule > molecule, std::shared_ptr< BasisSet > basis, std::shared_ptr< BasisSet > ecpbasis)
 Constructor for an entirely new wavefunction with an existing basis. More...
 
 Wavefunction (std::shared_ptr< Molecule > molecule, std::shared_ptr< BasisSet > basis)
 Constructor for an entirely new wavefunction with an existing basis and global options. More...
 
 Wavefunction (Options &options)
 Blank constructor for derived classes. More...
 
void shallow_copy (SharedWavefunction other)
 
void shallow_copy (const Wavefunction *other)
 
void deep_copy (SharedWavefunction other)
 
void deep_copy (const Wavefunction *other)
 
virtual ~Wavefunction ()
 
virtual SharedMatrix compute_gradient ()
 Compute gradient. Subclasses override this function to compute the gradient. More...
 
virtual SharedMatrix compute_hessian ()
 Compute Hessian. Subclasses override this function to compute the Hessian. More...
 
bool same_a_b_orbs () const
 Is this a restricted wavefunction? More...
 
bool same_a_b_dens () const
 
Dimension map_irreps (const Dimension &dimpi)
 
std::shared_ptr< Moleculemolecule () const
 Returns the molecule object that pertains to this wavefunction. More...
 
std::shared_ptr< PSIOpsio () const
 
Optionsoptions () const
 
std::shared_ptr< IntegralFactoryintegral () const
 An integral factory with basisset() on each center. More...
 
std::shared_ptr< BasisSetbasisset () const
 Returns the basis set object that pertains to this wavefunction. More...
 
std::shared_ptr< BasisSetecpbasisset () const
 Returns this wavefunction's ECP basisset. More...
 
std::shared_ptr< SOBasisSetsobasisset () const
 Returns the SO basis set object that pertains to this wavefunction. More...
 
std::shared_ptr< BasisSetget_basisset (std::string label)
 Getters and setters for other basis sets. More...
 
void set_basisset (std::string label, std::shared_ptr< BasisSet > basis)
 
bool basisset_exists (std::string label)
 
std::shared_ptr< MatrixFactorymatrix_factory () const
 Returns the MatrixFactory object that pertains to this wavefunction. More...
 
std::shared_ptr< Wavefunctionreference_wavefunction () const
 Returns the reference wavefunction. More...
 
void set_reference_wavefunction (const std::shared_ptr< Wavefunction > wfn)
 Sets the reference wavefunction. More...
 
bool density_fitted () const
 Returns whether this wavefunction was obtained using density fitting or not. More...
 
int get_print () const
 Returns the print level. More...
 
const Dimensiondoccpi () const
 Returns the DOCC per irrep array. More...
 
const Dimensionsoccpi () const
 Returns the SOCC per irrep array. More...
 
const Dimensionnsopi () const
 Returns the number of SOs per irrep array. More...
 
const Dimensionnmopi () const
 Returns the number of MOs per irrep array. More...
 
const Dimensionnalphapi () const
 Returns the number of alpha electrons per irrep array. More...
 
const Dimensionnbetapi () const
 Returns the number of beta electrons per irrep array. More...
 
const Dimensionfrzcpi () const
 Returns the frozen core orbitals per irrep array. More...
 
const Dimensionfrzvpi () const
 Returns the frozen virtual orbitals per irrep array. More...
 
void set_doccpi (const Dimension &doccpi)
 
void set_soccpi (const Dimension &soccpi)
 
void set_frzvpi (const Dimension &frzvpi)
 Sets the frozen virtual orbitals per irrep array. More...
 
int nfrzc () const
 Return the number of frozen core orbitals. More...
 
int nalpha () const
 Return the number of alpha electrons. More...
 
int nbeta () const
 Return the number of beta electrons. More...
 
int nso () const
 Returns the number of SOs. More...
 
int nmo () const
 Returns the number of MOs. More...
 
int nirrep () const
 Returns the number of irreps. More...
 
double reference_energy () const
 Returns the reference energy. More...
 
double efzc () const
 Returns the frozen-core energy. More...
 
void set_efzc (double efzc)
 Sets the frozen-core energy. More...
 
SharedMatrix S () const
 Returns the overlap matrix. More...
 
SharedMatrix H () const
 Returns the core Hamiltonian matrix. More...
 
SharedMatrix Ca () const
 Returns the alpha electrons MO coefficients. More...
 
SharedMatrix Cb () const
 Returns the beta electrons MO coefficients. More...
 
SharedMatrix Fa () const
 Returns the (SO basis) alpha Fock matrix. More...
 
SharedMatrix Fb () const
 Returns the (SO basis) beta Fock matrix. More...
 
std::shared_ptr< Vectorepsilon_a () const
 Returns the alpha orbital energies. More...
 
std::shared_ptr< Vectorepsilon_b () const
 Returns the beta orbital energies. More...
 
std::shared_ptr< MatrixLagrangian () const
 Returns the SO basis Lagrangian. More...
 
virtual std::shared_ptr< Matrixtpdm_gradient_contribution () const
 The two particle density matrix contribution to the gradient. More...
 
SharedMatrix aotoso () const
 
const SharedMatrix Da () const
 Returns the alpha OPDM for the wavefunction. More...
 
SharedMatrix Db () const
 Returns the beta OPDM for the wavefunction. More...
 
SharedMatrix Ca_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedMatrix Cb_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
OrbitalSpace alpha_orbital_space (const std::string &id, const std::string &basis="SO", const std::string &subset="ALL")
 Creates an OrbitalSpace object containing information about the request alpha orbital space. More...
 
OrbitalSpace beta_orbital_space (const std::string &id, const std::string &basis="SO", const std::string &subset="ALL")
 Creates an OrbitalSpace object containing information about the request beta orbital space. More...
 
SharedMatrix Da_subset (const std::string &basis="SO")
 
SharedMatrix Db_subset (const std::string &basis="SO")
 
SharedMatrix D_subset_helper (SharedMatrix D, SharedMatrix C, const std::string &basis)
 
SharedVector epsilon_a_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedVector epsilon_b_subset (const std::string &basis="SO", const std::string &subset="ALL")
 
SharedMatrix basis_projection (SharedMatrix Cold, Dimension noccpi, std::shared_ptr< BasisSet > old_basis, std::shared_ptr< BasisSet > new_basis)
 
SharedMatrix X () const
 Returns the Lagrangian in SO basis for the wavefunction. More...
 
SharedMatrix gradient () const
 Returns the gradient. More...
 
void set_gradient (SharedMatrix &grad)
 Set the gradient for the wavefunction. More...
 
SharedMatrix hessian () const
 Returns the Hessian. More...
 
void set_hessian (SharedMatrix &hess)
 Set the Hessian for the wavefunction. More...
 
std::shared_ptr< std::vector
< double > > 
atomic_point_charges () const
 Returns the atomic point charges. More...
 
std::shared_ptr< Vectorget_atomic_point_charges () const
 Returns the atomic point charges in Vector form for python output. More...
 
void set_atomic_point_charges (const std::shared_ptr< std::vector< double >> &apcs)
 Sets the atomic point charges. More...
 
std::shared_ptr< Vectorfrequencies () const
 Returns the frequencies. More...
 
void set_frequencies (std::shared_ptr< Vector > &freqs)
 Set the frequencies for the wavefunction. More...
 
std::shared_ptr< Vectornormalmodes () const
 Returns the normalmodes. More...
 
void set_normalmodes (std::shared_ptr< Vector > &norms)
 Set the normalmodes for the wavefunction. More...
 
void set_name (const std::string &name)
 Set the wavefunction name (e.g. "RHF", "ROHF", "UHF", "CCEnergyWavefunction") More...
 
const std::string & name () const
 Returns the wavefunction name. More...
 
void set_print (unsigned int print)
 
void set_debug (unsigned int debug)
 
virtual void save () const
 Save the wavefunction to checkpoint. More...
 
double get_variable (const std::string key)
 Get and set variables dictionary. More...
 
void set_variable (const std::string key, double value)
 
std::map< std::string, double > variables (void)
 
SharedMatrix get_array (const std::string key)
 Get and set arrays dictionary. More...
 
void set_array (const std::string key, SharedMatrix value)
 
std::map< std::string,
SharedMatrix
arrays (void)
 

Private Member Functions

void init ()
 
void init_io ()
 
void init_ioff (void)
 
void exit_io (void)
 
void cleanup (void)
 
void status (const char *, std::string)
 
void title (void)
 
void get_moinfo (void)
 
void get_params (Options &)
 
void init_amps (void)
 
void sort_amps (void)
 
void tsave (void)
 
void ccdump (void)
 
void spinad_amps (void)
 
void amp_write (void)
 
void checkpoint (void)
 
void update (void)
 
void Fae_build (void)
 
void Fmi_build (void)
 
void Fme_build (void)
 
void Wmnij_build (void)
 
void Wmbej_build (void)
 
void purge_Wabei (void)
 
void purge_Wmnij (void)
 
void purge_Wmnie (void)
 
void purge_Wmbij (void)
 
void purge_Wamef (void)
 
void FaetT2 (void)
 
void FmitT2 (void)
 
void WmnijT2 (void)
 
void WmbejT2 (void)
 
void BT2 (void)
 
void CT2 (void)
 
void DT2 (void)
 
void ET2 (void)
 
void FT2 (void)
 
void ZT2 (void)
 
void dijabT2 (void)
 
void t1_build (void)
 
void tau_build (void)
 
void taut_build (void)
 
void Z_build (void)
 
void Y_build (void)
 
void X_build (void)
 
void t2_build (void)
 
int converged (double)
 
void init_priority_list (void)
 
int ** cacheprep_uhf (int level, int *cachefiles)
 
int ** cacheprep_rhf (int level, int *cachefiles)
 
void cachedone_rhf (int **cachelist)
 
void cachedone_uhf (int **cachelist)
 
int rotate (void)
 
double ** fock_build (double **D)
 
void cc2_fmiT2 (void)
 
void cc2_faeT2 (void)
 
void cc2_WmbijT2 (void)
 
void cc2_WabeiT2 (void)
 
void cc2_WabijT2 (void)
 
void cc2_Wmnij_build (void)
 
void cc2_Wmbij_build (void)
 
void cc2_Wabei_build (void)
 
void cc2_t2_build (void)
 
void FT2_CC2 (void)
 
void purge_cc2_Wmnij (void)
 
void purge_cc2_Wmbij (void)
 
void purge_cc2_Wabei (void)
 
void t1_ijab (void)
 
void cc3_Wmnie (void)
 
void cc3_Wamef (void)
 
void cc3_Wmnij (void)
 
void cc3_Wmbij (void)
 
void cc3_Wabei (void)
 
void cc3 (void)
 
double energy (void)
 
double mp2_energy (void)
 
double uhf_mp2_energy (void)
 
double rhf_mp2_energy (void)
 
void one_step (void)
 
void denom (void)
 
void pair_energies (double **epair_aa, double **epair_ab)
 
void print_pair_energies (double *emp2_aa, double *emp2_ab, double *ecc_aa, double *ecc_ab)
 
void form_df_ints (Options &options, int **cachelist, int *cachefiles, dpd_file4_cache_entry *priority)
 
void analyze (void)
 
double diagnostic (void)
 
double d1diag (void)
 
double new_d1diag (void)
 
double new_d1diag_t1_rohf (void)
 
double d2diag (void)
 
double d1diag_t1_rhf (void)
 
double d1diag_t1_rohf (void)
 
double d2diag_rhf (void)
 
void lmp2 (void)
 
void local_filter_T1 (dpdfile2 *T1)
 
void local_filter_T2 (dpdbuf4 *T2)
 
void local_init (void)
 
void local_done (void)
 
void BT2_AO (void)
 
void halftrans (dpdbuf4 *Buf1, int dpdnum1, dpdbuf4 *Buf2, int dpdnum2, double ***C1, double ***C2, int nirreps, int **mo_row, int **so_row, int *mospi_left, int *mospi_right, int *sospi, int type, double alpha, double beta)
 
int AO_contribute (struct iwlbuf *InBuf, dpdbuf4 *tau1_AO, dpdbuf4 *tau2_AO)
 
double rhf_energy (void)
 
double uhf_energy (void)
 
double rohf_energy (void)
 
void rhf_fock_build (double **fock, double **D)
 
void uhf_fock_build (double **fock_a, double **fock_b, double **D_a, double **D_b)
 
void diis (int iter)
 
void diis_RHF (int)
 
void diis_ROHF (int)
 
void diis_UHF (int)
 
void diis_invert_B (double **B, double *C, int dimension, double tolerance)
 

Private Attributes

int * ioff_
 
MOInfo moinfo_
 
Params params_
 
Local local_
 
dpd_file4_cache_entrycache_priority_list_
 

Additional Inherited Members

- Static Public Member Functions inherited from psi::Wavefunction
static void initialize_singletons ()
 
- Protected Member Functions inherited from psi::Wavefunction
SharedMatrix C_subset_helper (SharedMatrix C, const Dimension &noccpi, SharedVector epsilon, const std::string &basis, const std::string &subset)
 Helpers for C/D/epsilon transformers. More...
 
SharedMatrix F_subset_helper (SharedMatrix F, SharedMatrix C, const std::string &basis)
 
SharedVector epsilon_subset_helper (SharedVector epsilon, const Dimension &noccpi, const std::string &basis, const std::string &subset)
 
std::vector< std::vector< int > > subset_occupation (const Dimension &noccpi, const std::string &subset)
 
- Protected Attributes inherited from psi::Wavefunction
std::string name_
 Name of the wavefunction. More...
 
std::map< std::string,
std::shared_ptr< BasisSet > > 
basissets_
 DF/RI/F12/etc basis sets. More...
 
std::shared_ptr< BasisSetbasisset_
 The ORBITAL basis. More...
 
std::shared_ptr< BasisSetecpbasisset_
 The ECP basis set. More...
 
std::shared_ptr< SOBasisSetsobasisset_
 Primary basis set for SO integrals. More...
 
SharedMatrix AO2SO_
 AO2SO conversion matrix (AO in rows, SO in cols) More...
 
std::shared_ptr< Moleculemolecule_
 Molecule that this wavefunction is run on. More...
 
Optionsoptions_
 Options object. More...
 
std::shared_ptr< PSIOpsio_
 
std::shared_ptr< IntegralFactoryintegral_
 Integral factory. More...
 
std::shared_ptr< MatrixFactoryfactory_
 Matrix factory for creating standard sized matrices. More...
 
std::shared_ptr< Wavefunctionreference_wavefunction_
 
long int memory_
 How much memory you have access to. More...
 
unsigned int debug_
 Debug flag. More...
 
unsigned int print_
 Print flag. More...
 
int nalpha_
 Total alpha and beta electrons. More...
 
int nbeta_
 
int nfrzc_
 Total frozen core orbitals. More...
 
Dimension doccpi_
 Number of doubly occupied per irrep. More...
 
Dimension soccpi_
 Number of singly occupied per irrep. More...
 
Dimension frzcpi_
 Number of frozen core per irrep. More...
 
Dimension frzvpi_
 Number of frozen virtuals per irrep. More...
 
Dimension nalphapi_
 Number of alpha electrons per irrep. More...
 
Dimension nbetapi_
 Number of beta electrons per irrep. More...
 
Dimension nsopi_
 Number of so per irrep. More...
 
Dimension nmopi_
 Number of mo per irrep. More...
 
bool density_fitted_
 Whether this wavefunction was obtained using density fitting. More...
 
double energy_
 The energy associated with this wavefunction. More...
 
double efzc_
 Frozen-core energy associated with this wavefunction. More...
 
int nso_
 Total number of SOs. More...
 
int nmo_
 Total number of MOs. More...
 
int nirrep_
 Number of irreps. More...
 
SharedMatrix S_
 Overlap matrix. More...
 
SharedMatrix H_
 Core Hamiltonian matrix. More...
 
SharedMatrix Horig_
 
SharedMatrix Ca_
 Alpha MO coefficients. More...
 
SharedMatrix Cb_
 Beta MO coefficients. More...
 
SharedMatrix Da_
 Alpha density matrix. More...
 
SharedMatrix Db_
 Beta density matrix. More...
 
SharedMatrix Lagrangian_
 Lagrangian matrix. More...
 
SharedMatrix Fa_
 Alpha Fock matrix. More...
 
SharedMatrix Fb_
 Beta Fock matrix. More...
 
std::shared_ptr< Vectorepsilon_a_
 Alpha orbital eneriges. More...
 
std::shared_ptr< Vectorepsilon_b_
 Beta orbital energies. More...
 
std::vector< void * > precallbacks_
 
std::vector< void * > postcallbacks_
 
SharedMatrix gradient_
 If a gradient is available it will be here: More...
 
SharedMatrix hessian_
 If a Hessian is available it will be here: More...
 
std::shared_ptr< Matrixtpdm_gradient_contribution_
 The TPDM contribution to the gradient. More...
 
std::shared_ptr< std::vector
< double > > 
atomic_point_charges_
 If atomic point charges are available they will be here. More...
 
std::shared_ptr< Vectorfrequencies_
 If frequencies are available, they will be here: More...
 
std::shared_ptr< Vectornormalmodes_
 If normal modes are available, they will be here: More...
 
bool same_a_b_dens_
 Same orbs or dens. More...
 
bool same_a_b_orbs_
 
std::map< std::string, double > variables_
 
std::map< std::string,
SharedMatrix
arrays_
 

Constructor & Destructor Documentation

psi::ccenergy::CCEnergyWavefunction::CCEnergyWavefunction ( std::shared_ptr< Wavefunction reference_wavefunction,
Options options 
)
psi::ccenergy::CCEnergyWavefunction::~CCEnergyWavefunction ( )
virtual

Member Function Documentation

void psi::ccenergy::CCEnergyWavefunction::amp_write ( void  )
private

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::analyze ( void  )
private
int psi::ccenergy::CCEnergyWavefunction::AO_contribute ( struct iwlbuf InBuf,
dpdbuf4 tau1_AO,
dpdbuf4 tau2_AO 
)
private
void psi::ccenergy::CCEnergyWavefunction::BT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::BT2_AO ( void  )
private

RHF or ROHF

UHF

RHF

ROHF

ROHF

UHF

UHF

void psi::ccenergy::CCEnergyWavefunction::cachedone_rhf ( int **  cachelist)
private
void psi::ccenergy::CCEnergyWavefunction::cachedone_uhf ( int **  cachelist)
private
int ** psi::ccenergy::CCEnergyWavefunction::cacheprep_rhf ( int  level,
int *  cachefiles 
)
private
int ** psi::ccenergy::CCEnergyWavefunction::cacheprep_uhf ( int  level,
int *  cachefiles 
)
private
void psi::ccenergy::CCEnergyWavefunction::cc2_faeT2 ( void  )
private

RHF

ROHF

F -> tijab

UHF

F -> tijab

void psi::ccenergy::CCEnergyWavefunction::cc2_fmiT2 ( void  )
private

RHF

ROHF

F -> tijab

UHF

tijab <- Fmi

void psi::ccenergy::CCEnergyWavefunction::cc2_t2_build ( void  )
private

RHF or ROHF with coupled T2's

void psi::ccenergy::CCEnergyWavefunction::cc2_Wabei_build ( void  )
private

RHF

RHF

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

void psi::ccenergy::CCEnergyWavefunction::cc2_WabeiT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::cc2_WabijT2 ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::cc2_Wmbij_build ( void  )
private

RHF

ROHF

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

RHF

ROHF

RHF

ROHF

RHF

ROHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::cc2_WmbijT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::cc2_Wmnij_build ( void  )
private

RHF

ROHF

W(M>N,I>J) <— <MN||IJ>

W(m>n,i>j) <— <mn||ij>

W(Mn,Ij) <— <Mn|Ij>

UHF

W(M>N,I>J) <— <MN||IJ>

W(m>n,i>j) <— <mn||ij>

W(Mn,Ij) <— <Mn|Ij>

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::cc3 ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::cc3_Wabei ( void  )
private

RHF

term 1

term 2

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

term 3

W(A>B,EI) <— P(A/B)( -<BM||IE> * t1[M][A] )

W(a>b,ei) <— P(a/b)( -<bm||ie> * t1[m][a] )

W(Ab,Ei) <— -t1[M][A] * <Mb|Ei> - <mA|iE> * t1[m][b]

W(aB,eI) <— - t1[m][a] * <mB|eI> - <aM|eI> * t1[M][B]

term 4

W(A>B,EI) <— -P(A/B)( <BM||FE>*t1[I][F]*t1[M][A] )

W(a>b,ei) <— -P(a/b)( <bm||fe>*t1[i][f]*t1[m][a] )

W(Ab,Ei) <— -<bM|fE>*t1[i][f]*t1[M][A]

W(Ab,Ei) <— -<Am|Ef>*t1[i][f]*t1[m][b]

W(aB,eI) <— -<Bm|Fe>*t1[I][F]*t1[m][a]

W(aB,eI) <— -<aM|eF>*t1[I][F]*t1[M][B]

term 5

W(A>B,EI) <— 0.5 * P(A/B)( <NM||EI>*t1[M][B]*t1[N][A] )

W(a>b,ei) <— 0.5 * P(a/b)( <nm||ei>*t1[m][b]*t1[n][a] )

W(Ab,Ei) <— 0.5 * ( <Nm|Ei>*t1[m][b]*t1[N][A] )

W(Ab,Ei) <— 0.5 * ( <Mn|Ei>*t1[M][A]*t1[n][b] )

W(aB,eI) <— 0.5 * ( <nM|eI>*t1[M][B]*t1[n][a] )

W(aB,eI) <— 0.5 * ( <mN|eI>*t1[m][a]*t1[N][B] )

term 6

W(A>B,EI) <— 0.5 * P(A/B) <NM||EF> * t1[M][B]*t1[I][F]*t1[N][A]

W(a>b,ei) <— 0.5 * P(a/b) <nm||ef> * t1[m][b]*t1[i][f]*t1[n][a]

W(Ab,Ei) <— <Nm|Ef> * t1[m][b]*t1[i][f]*t1[N][A]

W(aB,eI) <— <nM|eF> * t1[M][B]*t1[I][F]*t1[n][a]

term 1

term 2

W(A>B,EI) <— <AB||EF> * t1[I][F]

W(a>b,ei) <— <ab||ef> * t1[i][f]

W(Ab,Ei) <— <Ab|Ef> * t1[i][f]

W(aB,eI) <— t1[I][F] * <aB|eF>

term 3

W(A>B,EI) <— P(A/B)( -<BM||IE> * t1[M][A] )

W(a>b,ei) <— P(a/b)( -<bm||ie> * t1[m][a] )

W(Ab,Ei) <— -t1[M][A] * <Mb|Ei> - <mA|iE> * t1[m][b]

W(aB,eI) <— - t1[m][a] * <mB|eI> - <aM|eI> * t1[M][B]

term 4

W(A>B,EI) <— -P(A/B)( <BM||FE>*t1[I][F]*t1[M][A] )

W(a>b,ei) <— -P(a/b)( <bm||fe>*t1[i][f]*t1[m][a] )

W(Ab,Ei) <— -<bM|fE>*t1[i][f]*t1[M][A]

W(Ab,Ei) <— -<Am|Ef>*t1[i][f]*t1[m][b]

W(aB,eI) <— -<Bm|Fe>*t1[I][F]*t1[m][a]

W(aB,eI) <— -<aM|eF>*t1[I][F]*t1[M][B]

term 5

W(A>B,EI) <— 0.5 * P(A/B)( <NM||EI>*t1[M][B]*t1[N][A] )

W(a>b,ei) <— 0.5 * P(a/b)( <nm||ei>*t1[m][b]*t1[n][a] )

W(Ab,Ei) <— 0.5 * ( <Nm|Ei>*t1[m][b]*t1[N][A] )

W(Ab,Ei) <— 0.5 * ( <Mn|Ei>*t1[M][A]*t1[n][b] )

W(aB,eI) <— 0.5 * ( <nM|eI>*t1[M][B]*t1[n][a] )

W(aB,eI) <— 0.5 * ( <mN|eI>*t1[m][a]*t1[N][B] )

term 6

W(A>B,EI) <— 0.5 * P(A/B) <NM||EF> * t1[M][B]*t1[I][F]*t1[N][A]

W(a>b,ei) <— 0.5 * P(a/b) <nm||ef> * t1[m][b]*t1[i][f]*t1[n][a]

W(Ab,Ei) <— <Nm|Ef> * t1[m][b]*t1[i][f]*t1[N][A]

W(aB,eI) <— <nM|eF> * t1[M][B]*t1[I][F]*t1[n][a]

void psi::ccenergy::CCEnergyWavefunction::cc3_Wamef ( void  )
private

RHF

ROHF

W(AM,E>F) <— <AM||EF>

W(am,e>f) <— <am||ef>

W(Am,Ef) <— <Am|Ef>

W(aM,eF) <— <aM|eF>

W(AM,E>F) <— <AM||EF>

W(am,e>f) <— <am||ef>

W(Am,Ef) <— <Am|Ef>

W(aM,eF) <— <aM|eF>

W(AM,E>F) <— tNA * <NM||EF>

W(am,e>f) <— tna * <nm||ef>

W(Am,Ef) <— tNA * <Nm|Ef>

W(aM,eF) <— tna * <nM|eF>

void psi::ccenergy::CCEnergyWavefunction::cc3_Wmbij ( void  )
private

RHF

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

W(MB,I>J) <— <MB||IJ>

W(mb,i>j) <— <mb||ij>

W(Mb,Ij) <— <Mb|Ij>

W(mB,iJ) <— <mB|iJ>

void psi::ccenergy::CCEnergyWavefunction::cc3_Wmnie ( void  )
private

RHF

W(M>N,IE) <— <MN||IE>

W(m>n,ie) <— <mn||ie>

W(Mn,Ie) <— <Mn|Ie>

W(mN,iE) <— <mN|iE>

W(M>N,IE) <— <MN||IE>

W(m>n,ie) <— <mn||ie>

W(Mn,Ie) <— <Mn|Ie>

W(mN,iE) <— <mN|iE>

void psi::ccenergy::CCEnergyWavefunction::cc3_Wmnij ( void  )
private

RHF

W(M>N,I>J) <— <MN||IJ>

W(m>n,i>j) <— <mn||ij>

W(Mn,Ij) <— <Mn|Ij>

term 2

term 3

W(M>N,I>J) <— <MN||IJ>

W(m>n,i>j) <— <mn||ij>

W(Mn,Ij) <— <Mn|Ij>

term 2

term 3

void psi::ccenergy::CCEnergyWavefunction::ccdump ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::checkpoint ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::cleanup ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::compute_energy ( )
virtual

Compute energy. Subclasses override this function to compute its energy.

UHF

RHF or ROHF

Reimplemented from psi::Wavefunction.

int psi::ccenergy::CCEnergyWavefunction::converged ( double  ediff)
private

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::CT2 ( void  )
private

RHF

ROHF

UHF

double psi::ccenergy::CCEnergyWavefunction::d1diag ( void  )
private

RHF

ROHF

double psi::ccenergy::CCEnergyWavefunction::d1diag_t1_rhf ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::d1diag_t1_rohf ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::d2diag ( void  )
private

RHF

double psi::ccenergy::CCEnergyWavefunction::d2diag_rhf ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::denom ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::diagnostic ( void  )
private

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::diis ( int  iter)
private
void psi::ccenergy::CCEnergyWavefunction::diis_invert_B ( double **  B,
double *  C,
int  dimension,
double  tolerance 
)
private
void psi::ccenergy::CCEnergyWavefunction::diis_RHF ( int  iter)
private
void psi::ccenergy::CCEnergyWavefunction::diis_ROHF ( int  iter)
private
void psi::ccenergy::CCEnergyWavefunction::diis_UHF ( int  iter)
private
void psi::ccenergy::CCEnergyWavefunction::dijabT2 ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::DT2 ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::energy ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::ET2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::exit_io ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::Fae_build ( void  )
private

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::FaetT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::Fme_build ( void  )
private

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::Fmi_build ( void  )
private

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::FmitT2 ( void  )
private

RHF

ROHF

double** psi::ccenergy::CCEnergyWavefunction::fock_build ( double **  D)
private
void psi::ccenergy::CCEnergyWavefunction::form_df_ints ( Options options,
int **  cachelist,
int *  cachefiles,
dpd_file4_cache_entry priority 
)
private
void psi::ccenergy::CCEnergyWavefunction::FT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::FT2_CC2 ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::get_moinfo ( void  )
private

UHF

RHF or ROHF

RHF/ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::get_params ( Options options)
private
void psi::ccenergy::CCEnergyWavefunction::halftrans ( dpdbuf4 Buf1,
int  dpdnum1,
dpdbuf4 Buf2,
int  dpdnum2,
double ***  C1,
double ***  C2,
int  nirreps,
int **  mo_row,
int **  so_row,
int *  mospi_left,
int *  mospi_right,
int *  sospi,
int  type,
double  alpha,
double  beta 
)
private
void psi::ccenergy::CCEnergyWavefunction::init ( )
private
void psi::ccenergy::CCEnergyWavefunction::init_amps ( void  )
private

RHF

void psi::ccenergy::CCEnergyWavefunction::init_io ( )
private
void psi::ccenergy::CCEnergyWavefunction::init_ioff ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::init_priority_list ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::lmp2 ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::local_done ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::local_filter_T1 ( dpdfile2 T1)
private
void psi::ccenergy::CCEnergyWavefunction::local_filter_T2 ( dpdbuf4 T2)
private
void psi::ccenergy::CCEnergyWavefunction::local_init ( void  )
private

local_init(): Set up parameters of local excitation domains.

The orbital domains constructed here are based on those described in Broughton and Pulay, J. Comp. Chem. 14, 736-740 (1993). The localization of the occupied orbitals is done elsewhere (see the program "local"). Pair domains are defined as the union of pairs of single occupied orbital domains. "Weak pairs", which are defined as pair domains whose individual occupied orbital domains have no atoms in common, are identified (cf. int *weak_pairs).

TDC, Jan-June 2002

double psi::ccenergy::CCEnergyWavefunction::mp2_energy ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::new_d1diag ( void  )
private

RHF

ROHF

double psi::ccenergy::CCEnergyWavefunction::new_d1diag_t1_rohf ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::one_step ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::pair_energies ( double **  epair_aa,
double **  epair_ab 
)
private

RHF

void psi::ccenergy::CCEnergyWavefunction::print_pair_energies ( double *  emp2_aa,
double *  emp2_ab,
double *  ecc_aa,
double *  ecc_ab 
)
private

RHF

void psi::ccenergy::CCEnergyWavefunction::purge_cc2_Wabei ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_cc2_Wmbij ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_cc2_Wmnij ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_Wabei ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_Wamef ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_Wmbij ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_Wmnie ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::purge_Wmnij ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::rhf_energy ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::rhf_fock_build ( double **  fock,
double **  D 
)
private
double psi::ccenergy::CCEnergyWavefunction::rhf_mp2_energy ( void  )
private
double psi::ccenergy::CCEnergyWavefunction::rohf_energy ( void  )
private
int psi::ccenergy::CCEnergyWavefunction::rotate ( void  )
private

RHF

UHF

alpha Fock semicanonicalization

beta Fock semicanonicalization

void psi::ccenergy::CCEnergyWavefunction::sort_amps ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::spinad_amps ( void  )
private

RHF

void psi::ccenergy::CCEnergyWavefunction::status ( const char *  s,
std::string  out 
)
private
void psi::ccenergy::CCEnergyWavefunction::t1_build ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::t1_ijab ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::t2_build ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::tau_build ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::taut_build ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::title ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::tsave ( void  )
private

RHF

ROHF

UHF

double psi::ccenergy::CCEnergyWavefunction::uhf_energy ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::uhf_fock_build ( double **  fock_a,
double **  fock_b,
double **  D_a,
double **  D_b 
)
private
double psi::ccenergy::CCEnergyWavefunction::uhf_mp2_energy ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::update ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::Wmbej_build ( void  )
private

RHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

RHF

ROHF

UHF

void psi::ccenergy::CCEnergyWavefunction::WmbejT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::Wmnij_build ( void  )
private

RHF

ROHF

RHF

ROHF

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::WmnijT2 ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::X_build ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::Y_build ( void  )
private
void psi::ccenergy::CCEnergyWavefunction::Z_build ( void  )
private

RHF

ROHF

void psi::ccenergy::CCEnergyWavefunction::ZT2 ( void  )
private

RHF

ROHF

Member Data Documentation

dpd_file4_cache_entry* psi::ccenergy::CCEnergyWavefunction::cache_priority_list_
private
int* psi::ccenergy::CCEnergyWavefunction::ioff_
private
Local psi::ccenergy::CCEnergyWavefunction::local_
private
MOInfo psi::ccenergy::CCEnergyWavefunction::moinfo_
private
Params psi::ccenergy::CCEnergyWavefunction::params_
private

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