sc::wavefunction(3)
NAME
sc::Wavefunction - A Wavefunction is a MolecularEnergy that utilizies a
GaussianBasisSet.
SYNOPSIS
#include <wfn.h> Inherits sc::MolecularEnergy. Inherited by sc::MBPT2, sc::OneBodyWavefunction, and sc::PsiWavefunction. Public Member Functions Wavefunction (StateIn &) Wavefunction (const Ref< KeyVal > &) The KeyVal constructor. void save_data_state (StateOut &) Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. double density (const SCVector3 &) double density_gradient (const SCVector3 &, double *) double natural_orbital (const SCVector3 &r, int iorb) double natural_orbital_density (const SCVector3 &r, int orb, double *orbval=0) double orbital (const SCVector3 &r, int iorb, const RefSCMatrix &orbs) double orbital_density (const SCVector3 &r, int iorb, const RefSCMatrix &orbs, double *orbval=0) double charge () Returns the charge. virtual int nelectron ()=0 Returns the number of electrons. virtual RefSymmSCMatrix density ()=0 Returns the SO density. virtual RefSymmSCMatrix ao_density () Returns the AO density. virtual RefSCMatrix natural_orbitals () Returns the natural orbitals. virtual RefDiagSCMatrix natural_density () Returns the natural density (a diagonal matrix). virtual int spin_polarized ()=0 Return 1 if the alpha density is not equal to the beta density. virtual RefSymmSCMatrix alpha_density () Return alpha electron densities in the SO basis. virtual RefSymmSCMatrix beta_density () Return beta electron densities in the SO basis. virtual RefSymmSCMatrix alpha_ao_density () Return alpha electron densities in the AO basis. virtual RefSymmSCMatrix beta_ao_density () Return beta electron densities in the AO basis. virtual RefSCMatrix nao (double *atom_charges=0) returns the ao to nao transformation matrix virtual RefSymmSCMatrix overlap () Returns the SO overlap matrix. virtual RefSymmSCMatrix core_hamiltonian () Returns the SO core Hamiltonian. virtual double nuclear_repulsion_energy () Returns the nuclear repulsion energy. void nuclear_repulsion_energy_gradient (double *g) Computes the nuclear repulsion gradient. virtual void nuclear_repulsion_energy_gradient (double **g) Computes the nuclear repulsion gradient. RefSCDimension ao_dimension () Atomic orbital dimension. RefSCDimension so_dimension () Symmetry adapted orbital dimension. RefSCDimension oso_dimension () Orthogonalized symmetry adapted orbital dimension. Ref< SCMatrixKit > basis_matrixkit () Matrix kit for AO, SO, orthogonalized SO, and MO dimensioned matrices. Ref< Molecule > molecule () const Returns the Molecule. Ref< GaussianBasisSet > basis () const Returns the basis set. Ref< GaussianBasisSet > atom_basis () const Returns the basis set describing the nuclear charge distributions. const double * atom_basis_coef () const Returns the coefficients of the nuclear charge distribution basis functions. Ref< Integral > integral () Returns the integral evaluator. void symmetry_changed () Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. RefSCMatrix so_to_orthog_so () Returns a matrix which does the default transform from SO's to orthogonal SO's. RefSCMatrix so_to_orthog_so_inverse () Returns the inverse of the transformation returned by so_to_orthog_so. OverlapOrthog::OrthogMethod orthog_method () const Returns the orthogonalization method. void set_orthog_method (const OverlapOrthog::OrthogMethod &) (Re)Sets the orthogonalization method and makes this obsolete double lindep_tol () const Returns the tolerance for linear dependencies. void set_lindep_tol (double) Re(Sets) the tolerance for linear dependencies. void obsolete () Marks all results as being out of date. void print (std::ostream &=ExEnv::out0()) const Print information about the object. Protected Member Functions double min_orthog_res () double max_orthog_res () void copy_orthog_info (const Ref< Wavefunction > &) Protected Attributes int debug_
Detailed Description
A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet.
Constructor & Destructor Documentation
- sc::Wavefunction::Wavefunction (const Ref< KeyVal > &)
- The KeyVal constructor.
- basis
Specifies a GaussianBasisSet object. There is no default.
- integral
Specifies an Integral object that computes the two electron integrals. The default is a IntegralV3 object.
- orthog_method
This is a string that specifies the orthogonalization method to be used. It can be one one canonical, gramschmidt, or symmetric. The
default is symmetric. - lindep_tol
The tolerance used to detect linearly dependent basis functions.
The precise meaning depends on the orthogonalization method. The
default value is 1e-8. - print_nao
This specifies a boolean value. If true the natural atomic orbitals will be printed. Not all wavefunction will be able to do this. The default is false.
- print_npa
This specifies a boolean value. If true the natural population
analysis will be printed. Not all wavefunction will be able to do
this. The default is true if print_nao is true, otherwise it is
false. - debug
This integer can be used to produce output for debugging. The
default is 0.
Member Function Documentation
- void sc::Wavefunction::save_data_state (StateOut &) [virtual]
- Save the base classes (with save_data_state) and the members in the
same order that the StateIn CTOR initializes them. - This must be implemented by the derived class if the class has data.
- Reimplemented from sc::MolecularEnergy.
- Reimplemented in sc::CLKS, sc::HSOSKS, sc::UKS, sc::MBPT2, sc::MBPT2_R12, sc::PsiWavefunction, sc::PsiSCF, sc::PsiCCSD, sc::PsiCCSD_T, sc::CLHF, sc::CLSCF, sc::HSOSHF, sc::HSOSSCF, sc::SCF, sc::UHF, sc::UnrestrictedSCF, and sc::OneBodyWavefunction.
- virtual double sc::Wavefunction::nuclear_repulsion_energy () [virtual]
- Returns the nuclear repulsion energy.
- This must be used instead of Molecule::nuclear_repulsion_energy() since there may be diffuse atomic charges.
- void sc::Wavefunction::nuclear_repulsion_energy_gradient (double * g)
- Computes the nuclear repulsion gradient.
- This must be used instead of Molecule::nuclear_repulsion_1der() since there may be diffuse atomic charges. The gradient, g, is zeroed and set to x_0, y_0, z_0, x_1, ... .
- virtual void sc::Wavefunction::nuclear_repulsion_energy_gradient (double **
- g) [virtual]
Computes the nuclear repulsion gradient. - This must be used instead of Molecule::nuclear_repulsion_1der() since there may be diffuse atomic charges. The gradient, g, is first zeroed. Its dimensions are g[natom][3].
- const double* sc::Wavefunction::atom_basis_coef () const
- Returns the coefficients of the nuclear charge distribution basis
functions. - void sc::Wavefunction::symmetry_changed () [virtual]
- Call this if you have changed the molecular symmetry of the molecule
contained by this MolecularEnergy. - Reimplemented from sc::MolecularEnergy.
- Reimplemented in sc::MBPT2, sc::CLSCF, sc::HSOSSCF, sc::SCF, sc::UnrestrictedSCF, and sc::OneBodyWavefunction.
- RefSCMatrix sc::Wavefunction::so_to_orthog_so ()
- Returns a matrix which does the default transform from SO's to
orthogonal SO's. - This could be either the symmetric or canonical orthogonalization
matrix. The row dimension is SO and the column dimension is ortho SO.
An operator $O$ in the ortho SO basis is given by $X O X^T$ where $X$
is the return value of this function. - void sc::Wavefunction::obsolete () [virtual]
- Marks all results as being out of date.
- Any subsequent access to results will cause Compute::compute() to be called.
- Reimplemented from sc::Compute.
- Reimplemented in sc::MBPT2, sc::MBPT2_R12, and sc::SCF.
Author
- Generated automatically by Doxygen for MPQC from the source code.