Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
psi::Wavefunction Class Reference

Simple wavefunction base class. More...

#include <wavefunction.h>

Inheritance diagram for psi::Wavefunction:
psi::adc::ADCWfn psi::ccenergy::CCEnergyWavefunction psi::cclambda::CCLambdaWavefunction psi::dcft::DCFTSolver psi::detci::CIWavefunction psi::dfep2::DFEP2Wavefunction psi::dfmp2::DFMP2 psi::dfoccwave::DFOCC psi::fnocc::CoupledCluster psi::fnocc::FrozenNO psi::mcscf::SCF psi::occwave::OCCWave psi::RBase psi::sapt::SAPT psi::scf::HF psi::scfgrad::SCFGrad

Public Member Functions

 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 double compute_energy ()
 Compute energy. Subclasses override this function to compute its energy. More...
 
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,
SharedMatrix
arrays (void)
 

Static Public Member Functions

static void initialize_singletons ()
 

Protected Member Functions

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

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< 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...
 
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 > > 
atomic_point_charges_
 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_
 
std::shared_ptr
< ExternalPotential
external_pot_
 
std::map< std::string, double > variables_
 
std::map< std::string,
SharedMatrix
arrays_
 

Private Member Functions

void common_init ()
 

Detailed Description

Simple wavefunction base class.

Constructor & Destructor Documentation

Wavefunction::Wavefunction ( std::shared_ptr< Molecule molecule,
std::shared_ptr< BasisSet basis,
Options options 
)

Constructor for an entirely new wavefunction with an existing basis.

Wavefunction::Wavefunction ( std::shared_ptr< Molecule molecule,
std::shared_ptr< BasisSet basis 
)

Constructor for an entirely new wavefunction with an existing basis and global options.

Wavefunction::Wavefunction ( Options options)

Blank constructor for derived classes.

Wavefunction::~Wavefunction ( )
virtual

Member Function Documentation

OrbitalSpace Wavefunction::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.

Parameters
idunique name for the orbital space
basisthe symmetry basis to use AO, SO
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
Returns
OrbitalSpace object containing data for the requested space.
SharedMatrix psi::Wavefunction::aotoso ( ) const
inline
std::map<std::string, SharedMatrix> psi::Wavefunction::arrays ( void  )
inline
std::shared_ptr<std::vector<double> > psi::Wavefunction::atomic_point_charges ( ) const
inline

Returns the atomic point charges.

SharedMatrix Wavefunction::basis_projection ( SharedMatrix  Cold,
Dimension  noccpi,
std::shared_ptr< BasisSet old_basis,
std::shared_ptr< BasisSet new_basis 
)

Projects the given orbitals from the old to the new basis

Parameters
ColdOrbitals to project
noccpiNumber of eigenvectors of importance
old_basisThe old basis set
new_basisThe new basis set
Returns
The projected basis (nso x noccpi)
std::shared_ptr< BasisSet > Wavefunction::basisset ( ) const

Returns the basis set object that pertains to this wavefunction.

bool Wavefunction::basisset_exists ( std::string  label)
OrbitalSpace Wavefunction::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.

Parameters
idunique name for the orbital space
basisthe symmetry basis to use AO, SO
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
Returns
OrbitalSpace object containing data for the requested space.
SharedMatrix Wavefunction::C_subset_helper ( SharedMatrix  C,
const Dimension noccpi,
SharedVector  epsilon,
const std::string &  basis,
const std::string &  subset 
)
protected

Helpers for C/D/epsilon transformers.

SharedMatrix Wavefunction::Ca ( ) const

Returns the alpha electrons MO coefficients.

SharedMatrix Wavefunction::Ca_subset ( const std::string &  basis = "SO",
const std::string &  subset = "ALL" 
)

Return a subset of the Ca matrix in a desired basis

Parameters
basisthe symmetry basis to use AO, SO
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
Returns
the matrix in Pitzer order in the desired basis
SharedMatrix Wavefunction::Cb ( ) const

Returns the beta electrons MO coefficients.

SharedMatrix Wavefunction::Cb_subset ( const std::string &  basis = "SO",
const std::string &  subset = "ALL" 
)

Return a subset of the Cb matrix in a desired basis

Parameters
basisthe symmetry basis to use AO, SO
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
Returns
the matrix in Pitzer order in the desired basis
void Wavefunction::common_init ( void  )
private
virtual double psi::Wavefunction::compute_energy ( )
inlinevirtual
virtual SharedMatrix psi::Wavefunction::compute_gradient ( )
inlinevirtual

Compute gradient. Subclasses override this function to compute the gradient.

Reimplemented in psi::dfmp2::DFMP2, psi::dcft::DCFTSolver, and psi::scfgrad::SCFGrad.

virtual SharedMatrix psi::Wavefunction::compute_hessian ( )
inlinevirtual

Compute Hessian. Subclasses override this function to compute the Hessian.

Reimplemented in psi::scfgrad::SCFGrad.

SharedMatrix Wavefunction::D_subset_helper ( SharedMatrix  D,
SharedMatrix  C,
const std::string &  basis 
)

Return the D matrix in the desired basis

Parameters
Dmatrix in the SO basis to transform
Cmatrix in the SO basis to use as a transformer
basisthe symmetry basis to use AO, SO, MO, CartAO
Returns
the D matrix in the desired basis
const SharedMatrix Wavefunction::Da ( ) const

Returns the alpha OPDM for the wavefunction.

SharedMatrix Wavefunction::Da_subset ( const std::string &  basis = "SO")

Return the Da matrix in the desired basis

Parameters
basisthe symmetry basis to use AO, SO, MO
Returns
the matrix in the desired basis
SharedMatrix Wavefunction::Db ( ) const

Returns the beta OPDM for the wavefunction.

SharedMatrix Wavefunction::Db_subset ( const std::string &  basis = "SO")

Return the Db matrix in the desired basis

Parameters
basisthe symmetry basis to use AO, SO, MO
Returns
the matrix in the desired basis
void Wavefunction::deep_copy ( SharedWavefunction  other)

Copy the contents of another Wavefunction into this one. Useful at the beginning of correlated wavefunction computations. -Does not set options or callbacks -reference_wavefunction_ is set to other -Matrices and Vectors (Ca,Da,Fa,epsilon_a, etc) are deep copied.

void Wavefunction::deep_copy ( const Wavefunction other)

From typical constructor Some member data is not clone-able so we will copy

Below is not set in the typical constructor

bool psi::Wavefunction::density_fitted ( ) const
inline

Returns whether this wavefunction was obtained using density fitting or not.

const Dimension& psi::Wavefunction::doccpi ( ) const
inline

Returns the DOCC per irrep array.

double psi::Wavefunction::efzc ( ) const
inline

Returns the frozen-core energy.

SharedVector Wavefunction::epsilon_a ( ) const

Returns the alpha orbital energies.

SharedVector Wavefunction::epsilon_a_subset ( const std::string &  basis = "SO",
const std::string &  subset = "ALL" 
)

Return the alpha orbital eigenvalues in the desired basis

Parameters
basisthe symmetry basis to use AO, SO, MO (SO and MO return the same thing)
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
SharedVector Wavefunction::epsilon_b ( ) const

Returns the beta orbital energies.

SharedVector Wavefunction::epsilon_b_subset ( const std::string &  basis = "SO",
const std::string &  subset = "ALL" 
)

Return the beta orbital eigenvalues in the desired basis

Parameters
basisthe symmetry basis to use AO, SO, MO (SO and MO return the same thing)
subsetthe subset of orbitals to return ALL, ACTIVE, FROZEN, OCC, VIR, FROZEN_OCC, ACTIVE_OCC, ACTIVE_VIR, FROZEN_VIR
SharedVector Wavefunction::epsilon_subset_helper ( SharedVector  epsilon,
const Dimension noccpi,
const std::string &  basis,
const std::string &  subset 
)
protected
SharedMatrix Wavefunction::F_subset_helper ( SharedMatrix  F,
SharedMatrix  C,
const std::string &  basis 
)
protected
SharedMatrix Wavefunction::Fa ( ) const

Returns the (SO basis) alpha Fock matrix.

SharedMatrix Wavefunction::Fb ( ) const

Returns the (SO basis) beta Fock matrix.

SharedVector Wavefunction::frequencies ( ) const

Returns the frequencies.

const Dimension& psi::Wavefunction::frzcpi ( ) const
inline

Returns the frozen core orbitals per irrep array.

const Dimension& psi::Wavefunction::frzvpi ( ) const
inline

Returns the frozen virtual orbitals per irrep array.

SharedMatrix Wavefunction::get_array ( const std::string  key)

Get and set arrays dictionary.

SharedVector Wavefunction::get_atomic_point_charges ( ) const

Returns the atomic point charges in Vector form for python output.

std::shared_ptr< BasisSet > Wavefunction::get_basisset ( std::string  label)

Getters and setters for other basis sets.

int psi::Wavefunction::get_print ( ) const
inline

Returns the print level.

double Wavefunction::get_variable ( const std::string  key)

Get and set variables dictionary.

SharedMatrix Wavefunction::gradient ( ) const

Returns the gradient.

SharedMatrix psi::Wavefunction::H ( ) const
inline

Returns the core Hamiltonian matrix.

SharedMatrix Wavefunction::hessian ( ) const

Returns the Hessian.

void Wavefunction::initialize_singletons ( )
static
std::shared_ptr< IntegralFactory > Wavefunction::integral ( ) const

An integral factory with basisset() on each center.

SharedMatrix Wavefunction::Lagrangian ( ) const

Returns the SO basis Lagrangian.

Dimension Wavefunction::map_irreps ( const Dimension dimpi)

Takes a Dimension object (e.g. DOCC) and returns a new Dimension object with occupations mapped to the current point group

std::shared_ptr< MatrixFactory > Wavefunction::matrix_factory ( ) const

Returns the MatrixFactory object that pertains to this wavefunction.

std::shared_ptr< Molecule > Wavefunction::molecule ( ) const

Returns the molecule object that pertains to this wavefunction.

int psi::Wavefunction::nalpha ( ) const
inline

Return the number of alpha electrons.

const Dimension& psi::Wavefunction::nalphapi ( ) const
inline

Returns the number of alpha electrons per irrep array.

const std::string& psi::Wavefunction::name ( ) const
inline

Returns the wavefunction name.

int psi::Wavefunction::nbeta ( ) const
inline

Return the number of beta electrons.

const Dimension& psi::Wavefunction::nbetapi ( ) const
inline

Returns the number of beta electrons per irrep array.

int psi::Wavefunction::nfrzc ( ) const
inline

Return the number of frozen core orbitals.

int psi::Wavefunction::nirrep ( void  ) const
inline

Returns the number of irreps.

int psi::Wavefunction::nmo ( ) const
inline

Returns the number of MOs.

const Dimension& psi::Wavefunction::nmopi ( ) const
inline

Returns the number of MOs per irrep array.

SharedVector Wavefunction::normalmodes ( ) const

Returns the normalmodes.

int psi::Wavefunction::nso ( ) const
inline

Returns the number of SOs.

const Dimension& psi::Wavefunction::nsopi ( ) const
inline

Returns the number of SOs per irrep array.

Options & Wavefunction::options ( ) const
std::shared_ptr< PSIO > Wavefunction::psio ( ) const
double psi::Wavefunction::reference_energy ( ) const
inline

Returns the reference energy.

std::shared_ptr< Wavefunction > Wavefunction::reference_wavefunction ( ) const

Returns the reference wavefunction.

SharedMatrix psi::Wavefunction::S ( ) const
inline

Returns the overlap matrix.

bool psi::Wavefunction::same_a_b_dens ( ) const
inline
bool psi::Wavefunction::same_a_b_orbs ( ) const
inline

Is this a restricted wavefunction?

void Wavefunction::save ( ) const
virtual

Save the wavefunction to checkpoint.

void psi::Wavefunction::set_array ( const std::string  key,
SharedMatrix  value 
)
inline
void psi::Wavefunction::set_atomic_point_charges ( const std::shared_ptr< std::vector< double >> &  apcs)
inline

Sets the atomic point charges.

void Wavefunction::set_basisset ( std::string  label,
std::shared_ptr< BasisSet basis 
)
void psi::Wavefunction::set_debug ( size_t  debug)
inline
void psi::Wavefunction::set_doccpi ( const Dimension doccpi)
void psi::Wavefunction::set_efzc ( double  efzc)
inline

Sets the frozen-core energy.

void psi::Wavefunction::set_external_potential ( std::shared_ptr< ExternalPotential external)
inline
void Wavefunction::set_frequencies ( SharedVector freqs)

Set the frequencies for the wavefunction.

void Wavefunction::set_frzvpi ( const Dimension frzvpi)

Sets the frozen virtual orbitals per irrep array.

void Wavefunction::set_gradient ( SharedMatrix grad)

Set the gradient for the wavefunction.

void Wavefunction::set_hessian ( SharedMatrix hess)

Set the Hessian for the wavefunction.

void psi::Wavefunction::set_name ( const std::string &  name)
inline

Set the wavefunction name (e.g. "RHF", "ROHF", "UHF", "CCEnergyWavefunction")

void Wavefunction::set_normalmodes ( SharedVector norms)

Set the normalmodes for the wavefunction.

void psi::Wavefunction::set_print ( size_t  print)
inline
void Wavefunction::set_reference_wavefunction ( const std::shared_ptr< Wavefunction wfn)

Sets the reference wavefunction.

void psi::Wavefunction::set_soccpi ( const Dimension soccpi)
void psi::Wavefunction::set_variable ( const std::string  key,
double  value 
)
inline
void Wavefunction::shallow_copy ( SharedWavefunction  other)

Copy the contents of another Wavefunction into this one. Useful at the beginning of correlated wavefunction computations. -Does not set options, callbacks, or reference_wavefunction_ -Matrices and Vectors (Ca,Da,Fa,epsilon_a, etc) are copied by reference, so if you change these, you must reallocate to avoid compromising the reference wavefunction's data.

void Wavefunction::shallow_copy ( const Wavefunction other)
std::shared_ptr< SOBasisSet > Wavefunction::sobasisset ( ) const

Returns the SO basis set object that pertains to this wavefunction.

const Dimension& psi::Wavefunction::soccpi ( ) const
inline

Returns the SOCC per irrep array.

std::vector< std::vector< int > > Wavefunction::subset_occupation ( const Dimension noccpi,
const std::string &  subset 
)
protected
std::map<std::string, double> psi::Wavefunction::variables ( void  )
inline
SharedMatrix Wavefunction::X ( ) const

Returns the Lagrangian in SO basis for the wavefunction.

Member Data Documentation

SharedMatrix psi::Wavefunction::AO2SO_
protected

AO2SO conversion matrix (AO in rows, SO in cols)

std::map<std::string, SharedMatrix> psi::Wavefunction::arrays_
protected
std::shared_ptr<std::vector<double> > psi::Wavefunction::atomic_point_charges_
protected

If atomic point charges are available they will be here.

std::shared_ptr<BasisSet> psi::Wavefunction::basisset_
protected

The ORBITAL basis.

std::map<std::string, std::shared_ptr<BasisSet> > psi::Wavefunction::basissets_
protected

DF/RI/F12/etc basis sets.

SharedMatrix psi::Wavefunction::Ca_
protected

Alpha MO coefficients.

SharedMatrix psi::Wavefunction::Cb_
protected

Beta MO coefficients.

SharedMatrix psi::Wavefunction::Da_
protected

Alpha density matrix.

SharedMatrix psi::Wavefunction::Db_
protected

Beta density matrix.

size_t psi::Wavefunction::debug_
protected

Debug flag.

bool psi::Wavefunction::density_fitted_
protected

Whether this wavefunction was obtained using density fitting.

Dimension psi::Wavefunction::doccpi_
protected

Number of doubly occupied per irrep.

double psi::Wavefunction::efzc_
protected

Frozen-core energy associated with this wavefunction.

double psi::Wavefunction::energy_
protected

The energy associated with this wavefunction.

SharedVector psi::Wavefunction::epsilon_a_
protected

Alpha orbital eneriges.

SharedVector psi::Wavefunction::epsilon_b_
protected

Beta orbital energies.

std::shared_ptr<ExternalPotential> psi::Wavefunction::external_pot_
protected
SharedMatrix psi::Wavefunction::Fa_
protected

Alpha Fock matrix.

std::shared_ptr<MatrixFactory> psi::Wavefunction::factory_
protected

Matrix factory for creating standard sized matrices.

SharedMatrix psi::Wavefunction::Fb_
protected

Beta Fock matrix.

SharedVector psi::Wavefunction::frequencies_
protected

If frequencies are available, they will be here:

Dimension psi::Wavefunction::frzcpi_
protected

Number of frozen core per irrep.

Dimension psi::Wavefunction::frzvpi_
protected

Number of frozen virtuals per irrep.

SharedMatrix psi::Wavefunction::gradient_
protected

If a gradient is available it will be here:

SharedMatrix psi::Wavefunction::H_
protected

Core Hamiltonian matrix.

SharedMatrix psi::Wavefunction::hessian_
protected

If a Hessian is available it will be here:

std::shared_ptr<IntegralFactory> psi::Wavefunction::integral_
protected

Integral factory.

SharedMatrix psi::Wavefunction::Lagrangian_
protected

Lagrangian matrix.

long int psi::Wavefunction::memory_
protected

How much memory you have access to.

std::shared_ptr<Molecule> psi::Wavefunction::molecule_
protected

Molecule that this wavefunction is run on.

int psi::Wavefunction::nalpha_
protected

Total alpha and beta electrons.

Dimension psi::Wavefunction::nalphapi_
protected

Number of alpha electrons per irrep.

std::string psi::Wavefunction::name_
protected

Name of the wavefunction.

int psi::Wavefunction::nbeta_
protected
Dimension psi::Wavefunction::nbetapi_
protected

Number of beta electrons per irrep.

int psi::Wavefunction::nfrzc_
protected

Total frozen core orbitals.

int psi::Wavefunction::nirrep_
protected

Number of irreps.

int psi::Wavefunction::nmo_
protected

Total number of MOs.

Dimension psi::Wavefunction::nmopi_
protected

Number of mo per irrep.

SharedVector psi::Wavefunction::normalmodes_
protected

If normal modes are available, they will be here:

int psi::Wavefunction::nso_
protected

Total number of SOs.

Dimension psi::Wavefunction::nsopi_
protected

Number of so per irrep.

Options& psi::Wavefunction::options_
protected

Options object.

size_t psi::Wavefunction::print_
protected

Print flag.

std::shared_ptr<PSIO> psi::Wavefunction::psio_
protected
std::shared_ptr<Wavefunction> psi::Wavefunction::reference_wavefunction_
protected
SharedMatrix psi::Wavefunction::S_
protected

Overlap matrix.

bool psi::Wavefunction::same_a_b_dens_
protected

Same orbs or dens.

bool psi::Wavefunction::same_a_b_orbs_
protected
std::shared_ptr<SOBasisSet> psi::Wavefunction::sobasisset_
protected

Primary basis set for SO integrals.

Dimension psi::Wavefunction::soccpi_
protected

Number of singly occupied per irrep.

std::map<std::string, double> psi::Wavefunction::variables_
protected

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