sc::onebodywavefunction(3)
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.
- eigenvector_accuracy
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
- 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::SCF, sc::UHF, and sc::UnrestrictedSCF.
- 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. - RefSCMatrix sc::OneBodyWavefunction::mo_to_orthog_so ()
- Returns the MO to orthogonal-SO transformation matrix.
- This returns the same matrix as oso_eigenvectors().
- RefSCMatrix sc::OneBodyWavefunction::eigenvectors ()
- Deprecated.
- Use so_to_mo().t() instead.
- Reimplemented in sc::UnrestrictedSCF.
- virtual RefSCMatrix sc::OneBodyWavefunction::oso_eigenvectors () [pure
- virtual]
Returns the orthogonal MO (columns) to orthogonal-SO (rows)
transformation matrix. - Implemented in sc::SCF.
- virtual RefDiagSCMatrix sc::OneBodyWavefunction::eigenvalues () [pure
- virtual]
Returns the MO basis eigenvalues. - Implemented in sc::SCF, and sc::UnrestrictedSCF.
- 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, and sc::UnrestrictedSCF.
- 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::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, and sc::UnrestrictedSCF.
- 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, and sc::UnrestrictedSCF.
- double sc::OneBodyWavefunction::alpha_occupation (int vectornum)
- Returns the alpha occupation.
- The vector number in the MO basis is given as an argument.
- double sc::OneBodyWavefunction::beta_occupation (int vectornum)
- Returns the beta occupation.
- The vector number in the MO basis is given as an argument.
- 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.
- virtual RefSCMatrix sc::OneBodyWavefunction::hcore_guess () [virtual]
- Return a guess vector.
- The guess transforms the orthogonal SO basis to the MO basis.
- 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. - 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::SCF, and sc::UnrestrictedSCF.
Author
- Generated automatically by Doxygen for MPQC from the source code.