NAME
sc::OneBodyWavefunction -
A OneBodyWavefunction is a MolecularEnergy that solves an effective
one-body problem.
SYNOPSIS
#include <obwfn.h>
Inherits sc::Wavefunction.
Inherited by sc::ExtendedHuckelWfn, sc::HCoreWfn, and sc::SCF.
Public Member Functions
OneBodyWavefunction (StateIn &)
OneBodyWavefunction (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.
int nelectron ()
Returns the number of electrons.
void set_desired_value_accuracy (double eps)
Overload of Function::set_desired_value_accuracy().
RefSCMatrix so_to_mo ()
These members give metrics and basis transformations using the
covariant/contravariant tensor notation.
RefSCMatrix orthog_so_to_mo ()
Returns the orthogonal-SO to MO transformation matrix.
RefSCMatrix mo_to_so ()
Returns the MO to SO transformation matrix.
RefSCMatrix mo_to_orthog_so ()
Returns the MO to orthogonal-SO transformation matrix.
RefSCMatrix eigenvectors ()
Deprecated.
virtual RefSCMatrix oso_eigenvectors ()=0
Returns the orthogonal MO (columns) to orthogonal-SO (rows)
transformation matrix.
virtual RefDiagSCMatrix eigenvalues ()=0
Returns the MO basis eigenvalues.
virtual double occupation (int irrep, int vectornum)=0
Returns the occupation.
double occupation (int vectornum)
Returns the occupation.
virtual int spin_unrestricted ()=0
Return 1 if the alpha orbitals are not equal to the beta orbitals.
virtual double alpha_occupation (int irrep, int vectornum)
Returns the alpha occupation.
virtual double beta_occupation (int irrep, int vectornum)
Returns the beta occupation.
double alpha_occupation (int vectornum)
Returns the alpha occupation.
double beta_occupation (int vectornum)
Returns the beta occupation.
virtual RefSCMatrix oso_alpha_eigenvectors ()
virtual RefSCMatrix oso_beta_eigenvectors ()
virtual RefSCMatrix alpha_eigenvectors ()
virtual RefSCMatrix beta_eigenvectors ()
virtual RefDiagSCMatrix alpha_eigenvalues ()
virtual RefDiagSCMatrix beta_eigenvalues ()
virtual RefDiagSCMatrix projected_eigenvalues (const Ref<
OneBodyWavefunction > &, int alp=1)
virtual RefSCMatrix projected_eigenvectors (const Ref<
OneBodyWavefunction > &, int alp=1)
Projects the density into the current basis set.
virtual RefSCMatrix hcore_guess ()
Return a guess vector.
virtual RefSCMatrix hcore_guess (RefDiagSCMatrix &val)
Return a guess vector and the eigenvalues.
void symmetry_changed ()
Call this if you have changed the molecular symmetry of the
molecule contained by this MolecularEnergy.
double orbital (const SCVector3 &r, int iorb)
double orbital_density (const SCVector3 &r, int iorb, double *orbval=0)
void print (std::ostream &o=ExEnv::out0()) const
Print information about the object.
Protected Member Functions
void init_sym_info ()
int form_occupations (int *&newocc, const int *oldocc)
Protected Attributes
ResultRefSymmSCMatrix density_
AccResultRefSCMatrix oso_eigenvectors_
AccResultRefDiagSCMatrix eigenvalues_
int nirrep_
int * nvecperirrep_
double * occupations_
double * alpha_occupations_
double * beta_occupations_
Detailed Description
A OneBodyWavefunction is a MolecularEnergy that solves an effective
one-body problem.
Constructor & Destructor Documentation
sc::OneBodyWavefunction::OneBodyWavefunction (const Ref< KeyVal > &)
The KeyVal constructor. .IP "eigenvector_accuracy" 1c Gives the
accuracy to which eigenvectors are initially computed. The default
1.0e-7. Accuracies are usually adjusted as needed anyway, so it should
not be necessary to change this.
Member Function Documentation
double sc::OneBodyWavefunction::alpha_occupation (int vectornum)
Returns the alpha occupation. The vector number in the MO basis is
given as an argument.
virtual double sc::OneBodyWavefunction::alpha_occupation (int irrep, int
vectornum) [virtual]
Returns the alpha occupation. The irreducible representation and the
vector number within that representation are given as arguments.
Reimplemented in sc::HSOSSCF, sc::OSSSCF, sc::TCSCF, and
sc::UnrestrictedSCF.
double sc::OneBodyWavefunction::beta_occupation (int vectornum)
Returns the beta occupation. The vector number in the MO basis is given
as an argument.
virtual double sc::OneBodyWavefunction::beta_occupation (int irrep, int
vectornum) [virtual]
Returns the beta occupation. The irreducible representation and the
vector number within that representation are given as arguments.
Reimplemented in sc::HSOSSCF, sc::OSSSCF, sc::TCSCF, and
sc::UnrestrictedSCF.
virtual RefDiagSCMatrix sc::OneBodyWavefunction::eigenvalues () [pure
virtual]
Returns the MO basis eigenvalues.
Implemented in sc::SCF, sc::UnrestrictedSCF, sc::ExtendedHuckelWfn, and
sc::HCoreWfn.
RefSCMatrix sc::OneBodyWavefunction::eigenvectors ()
Deprecated. Use so_to_mo().t() instead.
Reimplemented in sc::UnrestrictedSCF.
virtual RefSCMatrix sc::OneBodyWavefunction::hcore_guess (RefDiagSCMatrix &
val) [virtual]
Return a guess vector and the eigenvalues. The guess ransforms the
orthogonal SO basis to the MO basis. Storage for the eigenvalues will
be allocated.
virtual RefSCMatrix sc::OneBodyWavefunction::hcore_guess () [virtual]
Return a guess vector. The guess transforms the orthogonal SO basis to
the MO basis.
RefSCMatrix sc::OneBodyWavefunction::mo_to_orthog_so ()
Returns the MO to orthogonal-SO transformation matrix. This returns the
same matrix as oso_eigenvectors().
double sc::OneBodyWavefunction::occupation (int vectornum)
Returns the occupation. The vector number in the MO basis is given as
an argument.
virtual double sc::OneBodyWavefunction::occupation (int irrep, int
vectornum) [pure virtual]
Returns the occupation. The irreducible representation and the vector
number within that representation are given as arguments.
Implemented in sc::CLSCF, sc::HSOSSCF, sc::OSSSCF, sc::TCSCF,
sc::UnrestrictedSCF, sc::ExtendedHuckelWfn, and sc::HCoreWfn.
virtual RefSCMatrix sc::OneBodyWavefunction::oso_eigenvectors () [pure
virtual]
Returns the orthogonal MO (columns) to orthogonal-SO (rows)
transformation matrix.
Implemented in sc::SCF, sc::ExtendedHuckelWfn, and sc::HCoreWfn.
virtual RefSCMatrix sc::OneBodyWavefunction::projected_eigenvectors (const
Ref< OneBodyWavefunction > &, int alp = 1) [virtual]
Projects the density into the current basis set. Returns an
orthogonalized SO to MO transformation with the orbitals.
void sc::OneBodyWavefunction::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::Wavefunction.
Reimplemented in sc::CLKS, sc::HSOSKS, sc::UKS, sc::CLHF, sc::CLSCF,
sc::HSOSHF, sc::HSOSSCF, sc::OSSHF, sc::OSSSCF, sc::SCF, sc::TCHF,
sc::TCSCF, sc::UHF, sc::UnrestrictedSCF, sc::ExtendedHuckelWfn, and
sc::HCoreWfn.
void sc::OneBodyWavefunction::set_desired_value_accuracy (double eps)
[virtual]
Overload of Function::set_desired_value_accuracy(). Must update
accuracy of the eigenvectors and the eigenvalues
Reimplemented from sc::Function.
Reimplemented in sc::UnrestrictedSCF.
RefSCMatrix sc::OneBodyWavefunction::so_to_mo ()
These members give metrics and basis transformations using the
covariant/contravariant tensor notation. Returns the transformation
matrix that converts a contravariant SO tensor index to a contravariant
MO tensor index. Returns the transformation matrix that converts a
covariant SO tensor index to a covariant MO tensor index. Returns the
transformation matrix that converts a contravariant MO tensor index to
a contravariant SO tensor index. Returns the transformation matrix that
converts a covariant MO tensor index to a covariant SO tensor index.
Returns the metric for converting a covariant SO index into a
contravariant one. Returns the metric for converting a contravariant SO
index into a covariant one. Returns the SO to MO transformation matrix.
void sc::OneBodyWavefunction::symmetry_changed () [virtual]
Call this if you have changed the molecular symmetry of the molecule
contained by this MolecularEnergy.
Reimplemented from sc::Wavefunction.
Reimplemented in sc::CLSCF, sc::HSOSSCF, sc::OSSSCF, sc::SCF,
sc::TCSCF, and sc::UnrestrictedSCF.
Author
Generated automatically by Doxygen for MPQC from the source code.