.TH "sc::Wavefunction" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::Wavefunction \- A \fBWavefunction\fP is a \fBMolecularEnergy\fP that utilizies a \fBGaussianBasisSet\fP\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::MolecularEnergy\fP\&. .PP Inherited by \fBsc::MBPT2\fP, \fBsc::OneBodyWavefunction\fP, and \fBsc::PsiWavefunction\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBWavefunction\fP (\fBStateIn\fP &)" .br .ti -1c .RI "\fBWavefunction\fP (const \fBRef\fP< \fBKeyVal\fP > &)" .br .RI "The \fBKeyVal\fP constructor\&. " .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "double \fBdensity\fP (const \fBSCVector3\fP &)" .br .ti -1c .RI "double \fBdensity_gradient\fP (const \fBSCVector3\fP &, double *)" .br .ti -1c .RI "double \fBnatural_orbital\fP (const \fBSCVector3\fP &r, int iorb)" .br .ti -1c .RI "double \fBnatural_orbital_density\fP (const \fBSCVector3\fP &r, int orb, double *orbval=0)" .br .ti -1c .RI "double \fBorbital\fP (const \fBSCVector3\fP &r, int iorb, const \fBRefSCMatrix\fP &orbs)" .br .ti -1c .RI "double \fBorbital_density\fP (const \fBSCVector3\fP &r, int iorb, const \fBRefSCMatrix\fP &orbs, double *orbval=0)" .br .ti -1c .RI "double \fBcharge\fP ()" .br .RI "Returns the charge\&. " .ti -1c .RI "virtual int \fBnelectron\fP ()=0" .br .RI "Returns the number of electrons\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBdensity\fP ()=0" .br .RI "Returns the \fBSO\fP density\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBao_density\fP ()" .br .RI "Returns the AO density\&. " .ti -1c .RI "virtual \fBRefSCMatrix\fP \fBnatural_orbitals\fP ()" .br .RI "Returns the natural orbitals\&. " .ti -1c .RI "virtual \fBRefDiagSCMatrix\fP \fBnatural_density\fP ()" .br .RI "Returns the natural density (a diagonal matrix)\&. " .ti -1c .RI "virtual int \fBspin_polarized\fP ()=0" .br .RI "Return 1 if the alpha density is not equal to the beta density\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBalpha_density\fP ()" .br .RI "Return alpha electron densities in the \fBSO\fP basis\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBbeta_density\fP ()" .br .RI "Return beta electron densities in the \fBSO\fP basis\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBalpha_ao_density\fP ()" .br .RI "Return alpha electron densities in the AO basis\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBbeta_ao_density\fP ()" .br .RI "Return beta electron densities in the AO basis\&. " .ti -1c .RI "virtual \fBRefSCMatrix\fP \fBnao\fP (double *atom_charges=0)" .br .RI "returns the ao to nao transformation matrix " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBoverlap\fP ()" .br .RI "Returns the \fBSO\fP overlap matrix\&. " .ti -1c .RI "virtual \fBRefSymmSCMatrix\fP \fBcore_hamiltonian\fP ()" .br .RI "Returns the \fBSO\fP core Hamiltonian\&. " .ti -1c .RI "virtual double \fBnuclear_repulsion_energy\fP ()" .br .RI "Returns the nuclear repulsion energy\&. " .ti -1c .RI "void \fBnuclear_repulsion_energy_gradient\fP (double *g)" .br .RI "Computes the nuclear repulsion gradient\&. " .ti -1c .RI "virtual void \fBnuclear_repulsion_energy_gradient\fP (double **g)" .br .RI "Computes the nuclear repulsion gradient\&. " .ti -1c .RI "\fBRefSCDimension\fP \fBao_dimension\fP ()" .br .RI "Atomic orbital dimension\&. " .ti -1c .RI "\fBRefSCDimension\fP \fBso_dimension\fP ()" .br .RI "Symmetry adapted orbital dimension\&. " .ti -1c .RI "\fBRefSCDimension\fP \fBoso_dimension\fP ()" .br .RI "Orthogonalized symmetry adapted orbital dimension\&. " .ti -1c .RI "\fBRef\fP< \fBSCMatrixKit\fP > \fBbasis_matrixkit\fP ()" .br .RI "Matrix kit for AO, \fBSO\fP, orthogonalized \fBSO\fP, and MO dimensioned matrices\&. " .ti -1c .RI "\fBRef\fP< \fBMolecule\fP > \fBmolecule\fP () const" .br .RI "Returns the \fBMolecule\fP\&. " .ti -1c .RI "\fBRef\fP< \fBGaussianBasisSet\fP > \fBbasis\fP () const" .br .RI "Returns the basis set\&. " .ti -1c .RI "\fBRef\fP< \fBGaussianBasisSet\fP > \fBatom_basis\fP () const" .br .RI "Returns the basis set describing the nuclear charge distributions\&. " .ti -1c .RI "const double * \fBatom_basis_coef\fP () const" .br .RI "Returns the coefficients of the nuclear charge distribution basis functions\&. " .ti -1c .RI "\fBRef\fP< \fBIntegral\fP > \fBintegral\fP ()" .br .RI "Returns the integral evaluator\&. " .ti -1c .RI "void \fBsymmetry_changed\fP ()" .br .RI "Call this if you have changed the molecular symmetry of the molecule contained by this \fBMolecularEnergy\fP\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBso_to_orthog_so\fP ()" .br .RI "Returns a matrix which does the default transform from \fBSO\fP's to orthogonal \fBSO\fP's\&. " .ti -1c .RI "\fBRefSCMatrix\fP \fBso_to_orthog_so_inverse\fP ()" .br .RI "Returns the inverse of the transformation returned by so_to_orthog_so\&. " .ti -1c .RI "\fBOverlapOrthog::OrthogMethod\fP \fBorthog_method\fP () const" .br .RI "Returns the orthogonalization method\&. " .ti -1c .RI "void \fBset_orthog_method\fP (const \fBOverlapOrthog::OrthogMethod\fP &)" .br .RI "(Re)Sets the orthogonalization method and makes this obsolete " .ti -1c .RI "double \fBlindep_tol\fP () const" .br .RI "Returns the tolerance for linear dependencies\&. " .ti -1c .RI "void \fBset_lindep_tol\fP (double)" .br .RI "Re(Sets) the tolerance for linear dependencies\&. " .ti -1c .RI "void \fBobsolete\fP ()" .br .RI "Marks all results as being out of date\&. " .ti -1c .RI "void \fBprint\fP (std::ostream &=\fBExEnv::out0\fP()) const" .br .RI "Print information about the object\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "double \fBmin_orthog_res\fP ()" .br .ti -1c .RI "double \fBmax_orthog_res\fP ()" .br .ti -1c .RI "void \fBcopy_orthog_info\fP (const \fBRef\fP< \fBWavefunction\fP > &)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "int \fBdebug_\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP A \fBWavefunction\fP is a \fBMolecularEnergy\fP that utilizies a \fBGaussianBasisSet\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "sc::Wavefunction::Wavefunction (const \fBRef\fP< \fBKeyVal\fP > &)" .PP The \fBKeyVal\fP constructor\&. .IP "\fB\fCbasis\fP\fP" 1c Specifies a \fBGaussianBasisSet\fP object\&. There is no default\&. .PP .IP "\fB\fCintegral\fP\fP" 1c Specifies an \fBIntegral\fP object that computes the two electron integrals\&. The default is a \fBIntegralV3\fP object\&. .PP .IP "\fB\fCorthog_method\fP\fP" 1c 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\&. .PP .IP "\fB\fClindep_tol\fP\fP" 1c The tolerance used to detect linearly dependent basis functions\&. The precise meaning depends on the orthogonalization method\&. The default value is 1e-8\&. .PP .IP "\fB\fCprint_nao\fP\fP" 1c 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\&. .PP .IP "\fB\fCprint_npa\fP\fP" 1c 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\&. .PP .IP "\fB\fCdebug\fP\fP" 1c This integer can be used to produce output for debugging\&. The default is 0\&. .PP .PP .SH "Member Function Documentation" .PP .SS "virtual double sc::Wavefunction::nuclear_repulsion_energy ()\fC [virtual]\fP" .PP Returns the nuclear repulsion energy\&. This must be used instead of \fBMolecule::nuclear_repulsion_energy()\fP since there may be diffuse atomic charges\&. .SS "virtual void sc::Wavefunction::nuclear_repulsion_energy_gradient (double ** g)\fC [virtual]\fP" .PP Computes the nuclear repulsion gradient\&. This must be used instead of \fBMolecule::nuclear_repulsion_1der()\fP since there may be diffuse atomic charges\&. The gradient, g, is first zeroed\&. Its dimensions are g[natom][3]\&. .SS "void sc::Wavefunction::nuclear_repulsion_energy_gradient (double * g)" .PP Computes the nuclear repulsion gradient\&. This must be used instead of \fBMolecule::nuclear_repulsion_1der()\fP since there may be diffuse atomic charges\&. The gradient, g, is zeroed and set to x_0, y_0, z_0, x_1, \&.\&.\&. \&. .SS "void sc::Wavefunction::obsolete ()\fC [virtual]\fP" .PP Marks all results as being out of date\&. Any subsequent access to results will cause \fBCompute::compute()\fP to be called\&. .PP Reimplemented from \fBsc::Compute\fP\&. .SS "void sc::Wavefunction::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::MolecularEnergy\fP\&. .SS "\fBRefSCMatrix\fP sc::Wavefunction::so_to_orthog_so ()" .PP Returns a matrix which does the default transform from \fBSO\fP's to orthogonal \fBSO\fP's\&. This could be either the symmetric or canonical orthogonalization matrix\&. The row dimension is \fBSO\fP and the column dimension is ortho \fBSO\fP\&. An operator $O$ in the ortho \fBSO\fP basis is given by $X O X^T$ where $X$ is the return value of this function\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.