man sc_OneBodyWavefunction (Fonctions bibliothèques) - A OneBodyWavefunction is a MolecularEnergy that solves an effective one-body problem.

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_

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

Author

Generated automatically by Doxygen for MPQC from the source code.