MPQC 2.3.1

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes
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:

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 i)
| Returns closed-shell (i==0) or open-shell (i==1) Fock matrix in AO basis (excluding XC contribution in KS DFT).
RefSymmSCMatrix | effective_fock ()
| Returns effective Fock matrix in MO basis (including XC contribution for KS DFT).
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< SCExtrapData > | extrap_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< PointGroup > | most_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.

       <dl>

       <dt><tt>total_charge</tt><dd> This floating point number
       gives the total charge,

, of the molecule. The default is 0.

       <dt><tt>nsocc</tt><dd> This integer gives the total number of
       singly occupied orbitals, \form#54.  If this is not
       given, then multiplicity will be read.

       <dt><tt>multiplicity</tt><dd> This integer gives the multiplicity,

, of the molecule. The number of singly occupied orbitals is then . If neither nsocc nor multiplicity is given, then if, in consideration of total_charge, the number of electrons is even, the default is 2. Otherwise, it is 1.

`ndocc` This integer gives the total number of doubly occupied orbitals . The default .

       <dt><tt>socc</tt><dd> This vector of integers gives the total
       number of singly occupied orbitals of each irreducible
       representation.  By default, the \form#54 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.

       <dt><tt>docc</tt><dd> This vector of integers gives the total
       number of doubly occupied orbitals of each irreducible
       representation.  By default, the \form#57 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.

       <dt><tt>maxiter</tt><dd> This has the same meaning as in the parent
       class, SCF; however, the default value is 100.

       <dt><tt>level_shift</tt><dd> This has the same meaning as in the
       parent class, SCF; however, the default value is 1.0.

       </dl>

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

RefSymmSCMatrix sc::HSOSSCF::effective_fock | ( |  | ) | `[virtual]`

Returns effective Fock matrix in MO basis (including XC contribution for KS DFT).

Implements sc::SCF.

Reimplemented in sc::HSOSKS.

RefSymmSCMatrix sc::HSOSSCF::fock | ( | int | i | ) | `[virtual]`

Returns closed-shell (i==0) or open-shell (i==1) Fock matrix in AO basis (excluding XC contribution in KS DFT).

Use effective_fock() if you want the full KS Fock matrix.

Implements sc::SCF.

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.

void sc::HSOSSCF::symmetry_changed | ( |  | ) | `[virtual]`

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

Reimplemented from sc::SCF.

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

- hsosscf.h