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'. .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

  virtual double sc::OneBodyWavefunction::alpha_occupation (intirrep, intvectornum) [virtual]

Returns the alpha occupation'. The irreducible representation and the vector number within that representation are given as arguments'.

Reimplemented in sc::HSOSSCF, sc::UnrestrictedSCF, sc::TCSCF, and sc::OSSSCF'.

  double sc::OneBodyWavefunction::alpha_occupation (intvectornum)

Returns the alpha occupation'. The vector number in the MO basis is given as an argument'.

  virtual double sc::OneBodyWavefunction::beta_occupation (intirrep, intvectornum) [virtual]

Returns the beta occupation'. The irreducible representation and the vector number within that representation are given as arguments'.

Reimplemented in sc::HSOSSCF, sc::UnrestrictedSCF, sc::TCSCF, and sc::OSSSCF'.

  double sc::OneBodyWavefunction::beta_occupation (intvectornum)

Returns the beta occupation'. The vector number in the MO basis is given as an argument'.

  virtual RefDiagSCMatrix sc::OneBodyWavefunction::eigenvalues () [pure virtual]

Returns the MO basis eigenvalues'.

Implemented in sc::HCoreWfn, sc::SCF, sc::UnrestrictedSCF, and sc::ExtendedHuckelWfn'.

  RefSCMatrix sc::OneBodyWavefunction::eigenvectors ()

Deprecated'. Use so_to_mo()'.t() instead'.

Reimplemented in sc::UnrestrictedSCF'.

  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 (intirrep, intvectornum) [pure virtual]

Returns the occupation'. The irreducible representation and the vector number within that representation are given as arguments'.

Implemented in sc::HCoreWfn, sc::HSOSSCF, sc::UnrestrictedSCF, sc::CLSCF, sc::TCSCF, sc::OSSSCF, and sc::ExtendedHuckelWfn'.

  double sc::OneBodyWavefunction::occupation (intvectornum)

Returns the occupation'. The vector number in the MO basis is given as an argument'.

  virtual RefSCMatrix sc::OneBodyWavefunction::oso_eigenvectors () [pure virtual]

Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix'.

Implemented in sc::HCoreWfn, sc::SCF, and sc::ExtendedHuckelWfn'.

  virtual RefSCMatrix sc::OneBodyWavefunction::projected_eigenvectors (const Ref< OneBodyWavefunction > &, intalp = 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::HCoreWfn, sc::SCF, sc::HSOSSCF, sc::HSOSKS, sc::UKS, sc::CLSCF, sc::CLKS, sc::UnrestrictedSCF, sc::TCSCF, sc::ExtendedHuckelWfn, sc::OSSSCF, sc::UHF, sc::CLHF, sc::HSOSHF, sc::OSSHF, and sc::TCHF'.

  void sc::OneBodyWavefunction::set_desired_value_accuracy (doubleeps) [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::SCF, sc::HSOSSCF, sc::CLSCF, sc::UnrestrictedSCF, sc::TCSCF, and sc::OSSSCF'.

Author

Generated automatically by Doxygen for MPQC from the source code'.