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

#include <ccsd.h>

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

Public Member Functions

 DFCoupledCluster (SharedWavefunction ref_wfn, Options &options)
 ~DFCoupledCluster ()
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)
 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< 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...
SharedVector epsilon_a () const
 Returns the alpha orbital energies. More...
SharedVector epsilon_b () const
 Returns the beta orbital energies. More...
SharedMatrix Lagrangian () const
 Returns the SO basis Lagrangian. 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...
SharedVector get_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...
SharedVector frequencies () const
 Returns the frequencies. More...
void set_frequencies (SharedVector &freqs)
 Set the frequencies for the wavefunction. More...
SharedVector normalmodes () const
 Returns the normalmodes. More...
void set_normalmodes (SharedVector &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 (size_t print)
void set_debug (size_t debug)
virtual void save () const
 Save the wavefunction to checkpoint. More...
void set_external_potential (std::shared_ptr< ExternalPotential > external)
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,
arrays (void)

Protected Member Functions

void finalize ()
PsiReturnType CCSDIterations ()
 CCSD iterations. More...
void WriteBanner ()
virtual void AllocateMemory ()
 allocate memory More...
void UpdateT1 ()
 update t1 amplitudes More...
virtual void UpdateT2 ()
 update t2 amplitudes More...
virtual void Vabcd1 ()
 v^4 CC diagram More...
virtual double CheckEnergy ()
 check energy More...
void ThreeIndexIntegrals ()
virtual void T1Integrals ()
 generate t1-transformed 3-index integrals More...
virtual void T1Fock ()
 generate t1-transformed Fock matrix More...
virtual void CCResidual ()
 evaluate cc diagrams More...
virtual void SCS_MP2 ()
 SCS-MP2 function and variables. More...
virtual void SCS_CCSD ()
 SCS-CCSD function and variables. 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 ()
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 * Abij
 workspace buffers. More...
double * Sbij
bool ischolesky_
 3-index integrals for density fitting. More...
long int nQ
long int nQ_scf
double * Qov
double * Qvv
double * Qoo
double * Ca_L
 more 3-index stuff for t1-transformed integrals More...
double * Ca_R
double ** Ca
double * Fij
double * Fab
double * Fia
double * Fai
SharedMatrix H
- 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
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 > > 
 DF/RI/F12/etc basis sets. More...
std::shared_ptr< BasisSetbasisset_
 The ORBITAL basis. 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...
 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...
size_t debug_
 Debug flag. More...
size_t 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 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...
SharedVector epsilon_a_
 Alpha orbital eneriges. More...
SharedVector epsilon_b_
 Beta orbital energies. More...
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< std::vector
< double > > 
 If atomic point charges are available they will be here. More...
SharedVector frequencies_
 If frequencies are available, they will be here: More...
SharedVector normalmodes_
 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_
< ExternalPotential
std::map< std::string, double > variables_
std::map< std::string,

Additional Inherited Members

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

Constructor & Destructor Documentation

psi::fnocc::DFCoupledCluster::DFCoupledCluster ( SharedWavefunction  ref_wfn,
Options options 
psi::fnocc::DFCoupledCluster::~DFCoupledCluster ( )

Member Function Documentation

void psi::fnocc::DFCoupledCluster::AllocateMemory ( )

allocate memory

Reimplemented from psi::fnocc::CoupledCluster.

void psi::fnocc::DFCoupledCluster::CCResidual ( )

evaluate cc diagrams

PsiReturnType psi::fnocc::DFCoupledCluster::CCSDIterations ( )

CCSD iterations.

double psi::fnocc::DFCoupledCluster::CheckEnergy ( )

check energy

double psi::fnocc::DFCoupledCluster::compute_energy ( )

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

Reimplemented from psi::fnocc::CoupledCluster.

void psi::fnocc::DFCoupledCluster::finalize ( )
void psi::fnocc::DFCoupledCluster::SCS_CCSD ( )

SCS-CCSD function and variables.

void psi::fnocc::DFCoupledCluster::SCS_MP2 ( )

SCS-MP2 function and variables.

void psi::fnocc::DFCoupledCluster::T1Fock ( )

generate t1-transformed Fock matrix

void psi::fnocc::DFCoupledCluster::T1Integrals ( )

generate t1-transformed 3-index integrals

void psi::fnocc::DFCoupledCluster::ThreeIndexIntegrals ( )
void psi::fnocc::DFCoupledCluster::UpdateT1 ( )

update t1 amplitudes

void psi::fnocc::DFCoupledCluster::UpdateT2 ( )

update t2 amplitudes

void psi::fnocc::DFCoupledCluster::Vabcd1 ( )

v^4 CC diagram

Use Vabcd1

void psi::fnocc::DFCoupledCluster::WriteBanner ( )

Member Data Documentation

double* psi::fnocc::DFCoupledCluster::Abij

workspace buffers.

double ** psi::fnocc::DFCoupledCluster::Ca
double* psi::fnocc::DFCoupledCluster::Ca_L

more 3-index stuff for t1-transformed integrals

double * psi::fnocc::DFCoupledCluster::Ca_R
double * psi::fnocc::DFCoupledCluster::Fab
double * psi::fnocc::DFCoupledCluster::Fai
double * psi::fnocc::DFCoupledCluster::Fia
double* psi::fnocc::DFCoupledCluster::Fij
SharedMatrix psi::fnocc::DFCoupledCluster::H
bool psi::fnocc::DFCoupledCluster::ischolesky_

3-index integrals for density fitting.

long int psi::fnocc::DFCoupledCluster::nQ
long int psi::fnocc::DFCoupledCluster::nQ_scf
double * psi::fnocc::DFCoupledCluster::Qoo
double* psi::fnocc::DFCoupledCluster::Qov
double * psi::fnocc::DFCoupledCluster::Qvv
double * psi::fnocc::DFCoupledCluster::Sbij

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