MPQC  3.0.0-alpha
Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
sc::PsiSCF Class Reference

PsiSCF is an abstract base for all Psi SCF wave functions. More...

#include <chemistry/qc/psi/psiwfn.h>

Inheritance diagram for sc::PsiSCF:
Inheritance graph
[legend]

List of all members.

Public Types

enum  RefType { rhf, hsoshf, uhf }

Public Member Functions

 PsiSCF (const Ref< KeyVal > &)
 The KeyVal constructor uses all keywords of PsiWavefunction class and the following additional keywords:
 PsiSCF (StateIn &)
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.
void import_occupations (const Ref< OneBodyWavefunction > &obwfn)
 imports occupations from obwfn.
virtual PsiSCF::RefType reftype () const =0
 Returns the PsiSCF::RefType of this particular Psi SCF wave function.
virtual const RefDiagSCMatrixevals (SpinCase1 spin=AnySpinCase1)
 Returns the eigenvalues matrix.
virtual const RefSCMatrixcoefs (SpinCase1 spin=AnySpinCase1)
 Returns the coefficient matrix in AO basis.
const std::vector< unsigned int > & occpi (SpinCase1 S)
 Number of occupied orbitals of spin S per irrep.
const std::vector< unsigned int > & uoccpi (SpinCase1 S)
 Number of unoccupied orbitals of spin S per irrep.
const std::vector< unsigned int > & mopi ()
 Number of orbitals per irrep.
const Ref< OrbitalSpace > & orbs_sb (SpinCase1 spin)
 symmetry-blocked space
int nelectron ()
 Number of electrons.
double occupation (int mo)
 Returns the total occupation for orbital mo.
double alpha_occupation (int mo)
 Returns the occupation for alpha orbitals.
double beta_occupation (int mo)
 Returns the occupation for beta orbitals.
RefSymmSCMatrix ao_density (SpinCase1)
 AO-basis densities.
RefSymmSCMatrix ao_density ()
 Returns the AO density.
RefSymmSCMatrix mo_density (SpinCase1 spin=AnySpinCase1)
 MO-basis density.
unsigned int nmo ()
 number of MOs
unsigned int nocc (SpinCase1 spin)
 number of occupied MOs of spin
unsigned int multiplicity () const
 spin multiplicity
void obsolete ()
 Marks all results as being out of date.
void symmetry_changed ()
 Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy.
RefSymmSCMatrix density ()
 Returns the SO density.
RefSymmSCMatrix alpha_density ()
 Return alpha electron densities in the SO basis.
RefSymmSCMatrix beta_density ()
 Return beta electron densities in the SO basis.

Static Protected Member Functions

static double guess_acc_ratio ()
 how much lower is the desired accuracy of the guess?

Protected Attributes

std::vector< unsigned int > docc_
std::vector< unsigned int > socc_
int multp_
int charge_
int maxiter_
double diisdamp_
double levelshift_
bool diis_
Ref< OneBodyWavefunctionguess_wfn_
 guess wave function is only used to get the occupations

Static Protected Attributes

static const int default_maxiter = 200

Friends

void PsiCorrWavefunction::compute ()

Detailed Description

PsiSCF is an abstract base for all Psi SCF wave functions.


Constructor & Destructor Documentation

sc::PsiSCF::PsiSCF ( const Ref< KeyVal > &  )

The KeyVal constructor uses all keywords of PsiWavefunction class and the following additional keywords:

guess_wavefunction

This specifies the initial guess for the solution to the SCF equations. This can be either a OneBodyWavefunction object or the name of file that contains the saved state of a OneBodyWavefunction object. By default the one-electron hamiltonian will be diagonalized to obtain the initial guess.


Member Function Documentation

imports occupations from obwfn.

Will throw if docc_ and socc_ had been initialized and do not match obwfn.

void sc::PsiSCF::obsolete ( ) [virtual]

Marks all results as being out of date.

Any subsequent access to results will cause Compute::compute() to be called.

Reimplemented from sc::PsiWavefunction.

void sc::PsiSCF::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::PsiWavefunction.

void sc::PsiSCF::symmetry_changed ( ) [virtual]

Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy.

Reimplemented from sc::PsiWavefunction.


The documentation for this class was generated from the following file:

Generated at Sat Jul 7 2012 11:52:56 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.0.