Psi4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::fnocc::CoupledPair Class Reference

#include <ccsd.h>

Inheritance diagram for psi::fnocc::CoupledPair:
psi::fnocc::CoupledCluster psi::Wavefunction

Public Member Functions

 CoupledPair (std::shared_ptr< psi::Wavefunction >wfn, Options &options)
 
 ~CoupledPair ()
 
double compute_energy ()
 Compute energy. Subclasses override this function to compute its energy. More...
 
- Public Member Functions inherited from psi::fnocc::CoupledCluster
 CoupledCluster (std::shared_ptr< Wavefunction > reference_wavefunction, Options &options)
 
 ~CoupledCluster ()
 
- 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)
 

Protected Member Functions

PsiReturnType CEPAIterations ()
 coupled pair iterations More...
 
void finalize ()
 free memory More...
 
void PairEnergy ()
 pair energies More...
 
double CheckEnergy ()
 check energy More...
 
double VariationalEnergy ()
 check energy for coupled pair methods that have an energy functional More...
 
void UpdateT1 ()
 update t1 amplitudes More...
 
void UpdateT2 ()
 update t2 amplitudes More...
 
void SCS_CEPA ()
 scs functions More...
 
void OPDM ()
 compute opdm - only valid for cisd, acpf, aqcc, and cepa(0) More...
 
void WriteBanner ()
 banner More...
 
- Protected Member Functions inherited from psi::fnocc::CoupledCluster
void common_init ()
 
void finalize ()
 
void DefineTasks ()
 define qci/cc/mp tasks More...
 
void DefineLinearTasks ()
 
void DefineQuadraticTasks ()
 
PsiReturnType CCSDIterations ()
 solve qcisd/ccsd equations More...
 
void SCS_MP2 ()
 SCS-MP2 function and variables. More...
 
void SCS_CCSD ()
 SCS-CCSD function and variables. More...
 
PsiReturnType triples ()
 cc or qci (t) More...
 
PsiReturnType lowmemory_triples ()
 
void mp4_triples ()
 mp4 triples More...
 
void WriteBanner ()
 
void WriteOptions ()
 
virtual void AllocateMemory ()
 allocate memory More...
 
void CPU_t1_vmeai (CCTaskParams params)
 some cc/qci diagrams More...
 
void CPU_t1_vmeni (CCTaskParams params)
 
void CPU_t1_vmaef (CCTaskParams params)
 
void CPU_I1ab (CCTaskParams params)
 
void CPU_I1pij_I1ia_lessmem (CCTaskParams params)
 
void CPU_I2p_abci_refactored_term2 (CCTaskParams params)
 
void I2iabj_linear (CCTaskParams params)
 linear diagrams for mp4 More...
 
void I2iajb_linear (CCTaskParams params)
 
void I2ijkl_linear (CCTaskParams params)
 
void I2piajk_linear (CCTaskParams params)
 
void CPU_t1_vmeni_linear (CCTaskParams params)
 
void CPU_t1_vmaef_linear (CCTaskParams params)
 
void CPU_I2p_abci_refactored_term1_linear (CCTaskParams params)
 
void CPU_t1_vmeai_linear (CCTaskParams params)
 
void Vabcd1_linear (CCTaskParams params)
 
void Vabcd2_linear (CCTaskParams params)
 
void I2iabj_quadratic (CCTaskParams params)
 linear diagrams for mp4 More...
 
void I2ijkl_quadratic (CCTaskParams params)
 
void I2iajb_quadratic (CCTaskParams params)
 
void CPU_I1ab_quadratic (CCTaskParams params)
 
void CPU_I1pij_I1ia_lessmem_quadratic (CCTaskParams params)
 
void MP2 ()
 mp2 More...
 
void MP4_SDQ ()
 mp4(sdq) More...
 
void UpdateT1 (long int iter)
 Update t1. More...
 
void UpdateT1_mp4 (long int iter)
 
void UpdateT2 (long int iter)
 Update t2. More...
 
void UpdateT2_mp4 (long int iter)
 
double CheckEnergy ()
 evaluate energy More...
 
void I2ijkl (CCTaskParams params)
 the n^6 cc/qci diagrams More...
 
void I2piajk (CCTaskParams params)
 
void Vabcd1 (CCTaskParams params)
 
void Vabcd2 (CCTaskParams params)
 
void Vabcd (CCTaskParams params)
 
void K (CCTaskParams params)
 
void TwoJminusK (CCTaskParams params)
 
void DIIS (double *c, long int nvec, long int n, int replace_diis_iter)
 DIIS functions. More...
 
void DIISOldVector (long int iter, int diis_iter, int replace_diis_iter)
 
double DIISErrorVector (int diis_iter, int replace_diis_iter, int iter)
 
void DIISNewAmplitudes (int diis_iter, int &replace_diis_iter)
 
void DefineTilingCPU ()
 define tiling More...
 
- 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

double * pair_energy
 
char * cepa_type
 what kind of coupled pair method? More...
 
int cepa_level
 
double evar
 
- Protected Attributes inherited from psi::fnocc::CoupledCluster
int iter
 
int brueckner_iter
 
bool t2_on_disk
 is t2 on disk or held in main memory? More...
 
bool mp2_only
 which cc method? More...
 
bool mp3_only
 
bool mp4_only
 
bool isccsd
 
int ccmethod
 
bool isLowMemory
 flag for low-memory triples algorithm More...
 
long int ncctasks
 
long int nqtasks
 
long int nltasks
 
CCTaskParamsCCParams
 
CCTaskParamsCCSubParams1
 
CCTaskParamsCCSubParams2
 
CCTaskParamsQParams
 
CCTaskParamsLParams
 
CCTaskCCTasklist
 
CCTaskCCSubTasklist1
 
CCTaskCCSubTasklist2
 
CCTaskLTasklist
 
CCTaskQTasklist
 
double emp2
 
double emp2_os
 
double emp2_ss
 
double emp2_os_fac
 
double emp2_ss_fac
 
double eccsd
 
double eccsd_os
 
double eccsd_ss
 
double eccsd_os_fac
 
double eccsd_ss_fac
 
double et
 
double emp4_t
 
double emp3_os
 components of mp3 and mp4 energies More...
 
double emp3_ss
 
double emp3
 
double emp4_sd_os
 
double emp4_sd_ss
 
double emp4_sd
 
double emp4_q_os
 
double emp4_q_ss
 
double emp4_q
 
long int maxdiis
 
double * diisvec
 
long int ndoccact
 basic parameters More...
 
long int ndocc
 
long int nvirt
 
long int nso
 
long int nmotemp
 
long int nmo
 
long int nfzc
 
long int nfzv
 
long int nvirt_no
 
long int memory
 available memory More...
 
long int maxiter
 maximum number of iterations More...
 
double e_conv
 energy convergence More...
 
double r_conv
 amplitude convergence More...
 
double * eps
 orbital energies More...
 
double escf
 reference energy More...
 
double * integrals
 workspace buffers. More...
 
double * tempt
 
double * tempv
 
double * tb
 t1 and t2 buffers More...
 
double * t1
 
double * w1
 buffers for singles residual and a couple of tiny intermediates More...
 
double * I1
 
double * I1p
 
long int ovtilesize
 
long int lastovtile
 
long int lastov2tile
 
long int ov2tilesize
 
long int tilesize
 
long int lasttile
 
long int maxelem
 
long int ntiles
 
long int novtiles
 
long int nov2tiles
 
- 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_
 

Additional Inherited Members

- Static Public Member Functions inherited from psi::Wavefunction
static void initialize_singletons ()
 

Constructor & Destructor Documentation

psi::fnocc::CoupledPair::CoupledPair ( std::shared_ptr< psi::Wavefunction wfn,
Options options 
)
psi::fnocc::CoupledPair::~CoupledPair ( )

Member Function Documentation

PsiReturnType psi::fnocc::CoupledPair::CEPAIterations ( )
protected

coupled pair iterations

double psi::fnocc::CoupledPair::CheckEnergy ( )
protected

check energy

double psi::fnocc::CoupledPair::compute_energy ( )
virtual

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

Reimplemented from psi::fnocc::CoupledCluster.

void psi::fnocc::CoupledPair::finalize ( )
protected

free memory

void psi::fnocc::CoupledPair::OPDM ( )
protected

compute opdm - only valid for cisd, acpf, aqcc, and cepa(0)

void psi::fnocc::CoupledPair::PairEnergy ( )
protected

pair energies

void psi::fnocc::CoupledPair::SCS_CEPA ( )
protected

scs functions

void psi::fnocc::CoupledPair::UpdateT1 ( )
protected

update t1 amplitudes

void psi::fnocc::CoupledPair::UpdateT2 ( )
protected

update t2 amplitudes

double psi::fnocc::CoupledPair::VariationalEnergy ( )
protected

check energy for coupled pair methods that have an energy functional

void psi::fnocc::CoupledPair::WriteBanner ( )
protected

banner

Member Data Documentation

int psi::fnocc::CoupledPair::cepa_level
protected
char* psi::fnocc::CoupledPair::cepa_type
protected

what kind of coupled pair method?

double psi::fnocc::CoupledPair::evar
protected
double* psi::fnocc::CoupledPair::pair_energy
protected

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