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

sc::HSOSSCF Class Reference

The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. More...

#include <hsosscf.h>

Inheritance diagram for sc::HSOSSCF:

Inheritance graph
[legend]
Collaboration diagram for sc::HSOSSCF:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 HSOSSCF (StateIn &)
 HSOSSCF (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.
void print (std::ostream &o=ExEnv::out0()) const
 Print information about the object.
double occupation (int irrep, int vectornum)
 Returns the occupation.
double alpha_occupation (int irrep, int vectornum)
 Returns the alpha occupation.
double beta_occupation (int irrep, int vectornum)
 Returns the beta occupation.
int n_fock_matrices () const
RefSymmSCMatrix fock (int)
RefSymmSCMatrix effective_fock ()
void symmetry_changed ()
 Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy.
int spin_polarized ()
 Return 1 if the alpha density is not equal to the beta density.
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.

Protected Member Functions

void set_occupations (const RefDiagSCMatrix &evals)
void init_vector ()
void done_vector ()
void reset_density ()
double new_density ()
double scf_energy ()
Ref< SCExtrapDataextrap_data ()
void init_gradient ()
void done_gradient ()
RefSymmSCMatrix lagrangian ()
RefSymmSCMatrix gradient_density ()
void init_hessian ()
void done_hessian ()
void two_body_deriv_hf (double *grad, double exchange_fraction)

Protected Attributes

Ref< PointGroupmost_recent_pg_
int user_occupations_
int tndocc_
int tnsocc_
int nirrep_
int * initial_ndocc_
int * initial_nsocc_
int * ndocc_
int * nsocc_
ResultRefSymmSCMatrix cl_fock_
ResultRefSymmSCMatrix op_fock_
RefSymmSCMatrix cl_dens_
RefSymmSCMatrix cl_dens_diff_
RefSymmSCMatrix cl_gmat_
RefSymmSCMatrix op_dens_
RefSymmSCMatrix op_dens_diff_
RefSymmSCMatrix op_gmat_
RefSymmSCMatrix cl_hcore_

Detailed Description

The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules.


Constructor & Destructor Documentation

sc::HSOSSCF::HSOSSCF const Ref< KeyVal > &   ) 
 

The KeyVal constructor.

total_charge
This integer gives the total charge, $c$, of the molecule. The default is 0.

nsocc
This integer gives the total number of singly occupied orbitals, $n_\mathrm{socc}$. If this is not given, then multiplicity will be read.

multiplicity
This integer gives the multiplicity, $m$, of the molecule. The number of singly occupied orbitals is then $n_\mathrm{socc} = m - 1$. If neither nsocc nor multiplicity is given, then if, in consideration of total_charge, the number of electrons is even, the default $n_\mathrm{socc}$ is 2. Otherwise, it is 1.

ndocc
This integer gives the total number of doubly occupied orbitals $n_\mathrm{docc}$. The default $n_\mathrm{docc} = (c - n_\mathrm{socc})/2$.

socc
This vector of integers gives the total number of singly occupied orbitals of each irreducible representation. By default, the $n_\mathrm{socc}$ singly occupied orbitals will be distributed according to orbital eigenvalues. If socc is given, then docc must be given and they override nsocc, multiplicity, ndocc, and total_charge.

docc
This vector of integers gives the total number of doubly occupied orbitals of each irreducible representation. By default, the $n_\mathrm{docc}$ singly occupied orbitals will be distributed according to orbital eigenvalues. If docc is given, then socc must be given and they override nsocc, multiplicity, ndocc, and total_charge.

maxiter
This has the same meaning as in the parent class, SCF; however, the default value is 100.

level_shift
This has the same meaning as in the parent class, SCF; however, the default value is 1.0.


Member Function Documentation

double sc::HSOSSCF::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 from sc::OneBodyWavefunction.

double sc::HSOSSCF::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 from sc::OneBodyWavefunction.

double sc::HSOSSCF::occupation int  irrep,
int  vectornum
[virtual]
 

Returns the occupation.

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

Implements sc::OneBodyWavefunction.

void sc::HSOSSCF::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::SCF.

Reimplemented in sc::HSOSKS, and sc::HSOSHF.


The documentation for this class was generated from the following file:
Generated at Sat Dec 18 15:15:05 2004 for MPQC 2.2.3 using the documentation package Doxygen 1.3.7-20040617.