#include <obwfn.h>
Inheritance diagram for sc::OneBodyWavefunction:
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_ |
The KeyVal constructor.
eigenvector_accuracy
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::mo_to_orthog_so | ( | ) |
Returns the MO to orthogonal-SO transformation matrix.
This returns the same matrix as oso_eigenvectors().
RefSCMatrix sc::OneBodyWavefunction::eigenvectors | ( | ) |
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] |
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.