sc::OneBodyWavefunction(3) | MPQC | 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 ()
Returns the SO to MO transformation matrix. 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_
Additional Inherited Members¶
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¶
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::UnrestrictedSCF, sc::TCSCF, sc::OSSSCF, and sc::HSOSSCF.
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::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::UnrestrictedSCF, sc::TCSCF, sc::OSSSCF, and sc::HSOSSCF.
double sc::OneBodyWavefunction::beta_occupation (int vectornum)¶
Returns the beta occupation. The vector number in the MO basis is given as an argument.
RefSCMatrix sc::OneBodyWavefunction::eigenvectors ()¶
Deprecated. Use so_to_mo().t() instead.
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.
RefSCMatrix sc::OneBodyWavefunction::mo_to_orthog_so ()¶
Returns the MO to orthogonal-SO transformation matrix. This returns the same matrix as oso_eigenvectors().
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::UnrestrictedSCF, sc::HCoreWfn, sc::ExtendedHuckelWfn, sc::HSOSSCF, sc::CLSCF, sc::TCSCF, and sc::OSSSCF.
double sc::OneBodyWavefunction::occupation (int vectornum)¶
Returns the 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.
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::MolecularEnergy.
Reimplemented in 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.
Author¶
Generated automatically by Doxygen for MPQC from the source code.
Sun Oct 4 2020 | Version 2.3.1 |