Main Page | Class Hierarchy | Compound List | File List | Compound Members | Related Pages

sc::OneBodyWavefunction Class Reference

A OneBodyWavefunction is a MolecularEnergy that solves an effective one-body problem. More...

#include <obwfn.h>

Inheritance diagram for sc::OneBodyWavefunction:

sc::Wavefunction sc::MolecularEnergy sc::Function sc::SavableState sc::Compute sc::DescribedClass sc::RefCount sc::Identity sc::SCF sc::CLSCF sc::HSOSSCF sc::UnrestrictedSCF sc::CLHF sc::HSOSHF List of all members.

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.

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 to orthogonal-SO 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

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, 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, and sc::UnrestrictedSCF.

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, and sc::UnrestrictedSCF.

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::CLHF, sc::CLSCF, sc::HSOSHF, sc::HSOSSCF, sc::SCF, and sc::UnrestrictedSCF.


The documentation for this class was generated from the following file:
Generated at Sat Nov 1 15:17:07 2003 for MPQC 2.1.5 using the documentation package Doxygen 1.3.2.