# sc::UnrestrictedSCF Class Reference

A base class for unrestricted self-consistent-field methods. More...

`#include <uscf.h>`

Inheritance diagram for sc::UnrestrictedSCF:

List of all members.

## Public Member Functions

| UnrestrictedSCF (StateIn &)
| UnrestrictedSCF (const Ref< KeyVal > &)
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.
RefSCMatrix | eigenvectors ()
| Deprecated.
RefDiagSCMatrix | eigenvalues ()
| Returns the MO basis eigenvalues.
RefSCMatrix | oso_alpha_eigenvectors ()
RefSCMatrix | alpha_eigenvectors ()
RefDiagSCMatrix | alpha_eigenvalues ()
RefSCMatrix | oso_beta_eigenvectors ()
RefSCMatrix | beta_eigenvectors ()
RefDiagSCMatrix | beta_eigenvalues ()
RefSymmSCMatrix | alpha_density ()
| Return alpha electron densities in the SO basis.
RefSymmSCMatrix | beta_density ()
| Return beta electron densities in the SO basis.
RefSymmSCMatrix | density ()
| Returns the SO density.
void | symmetry_changed ()
| Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy.
double | occupation (int, int)
| Returns the occupation.
double | alpha_occupation (int, int)
| Returns the alpha occupation.
double | beta_occupation (int, int)
| Returns the beta occupation.
int | spin_polarized ()
| Return 1 if the alpha density is not equal to the beta density.
int | spin_unrestricted ()
| Return 1 if the alpha orbitals are not equal to the beta orbitals.
void | print (std::ostream &o=ExEnv::out0()) const
| Print information about the object.
int | n_fock_matrices () const
RefSymmSCMatrix | fock (int i)
| Returns alpha (i==0) or beta (i==1) Fock matrix in AO basis (including XC contribution in KS DFT -- compare this to CLSCF and HSOSSCF!).
RefSymmSCMatrix | effective_fock ()
| Spin-unrestricted SCF methods do not define effective Fock matrix, thus this function should never be called.
void | set_desired_value_accuracy (double eps)
| Overload of Function::set_desired_value_accuracy().

## Protected Member Functions

Ref< SCExtrapError > | extrap_error ()
double | compute_vector (double &, double enuclear)
void | initial_vector (int needv=1)
void | set_occupations (const RefDiagSCMatrix &)
void | set_occupations (const RefDiagSCMatrix &, const RefDiagSCMatrix &)
void | init_vector ()
void | done_vector ()
double | new_density ()
void | reset_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 | tnalpha_
int | tnbeta_
int | nirrep_
int * | nalpha_
int * | nbeta_
int * | initial_nalpha_
int * | initial_nbeta_
AccResultRefSCMatrix | oso_eigenvectors_beta_
AccResultRefDiagSCMatrix | eigenvalues_beta_
ResultRefSymmSCMatrix | focka_
ResultRefSymmSCMatrix | fockb_
Ref< TwoBodyInt > | tbi_
RefSymmSCMatrix | densa_
RefSymmSCMatrix | densb_
RefSymmSCMatrix | gmata_
RefSymmSCMatrix | gmatb_
RefSymmSCMatrix | diff_densa_
RefSymmSCMatrix | diff_densb_

## Detailed Description

A base class for unrestricted self-consistent-field methods.

## Member Function Documentation

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

RefSCMatrix sc::UnrestrictedSCF::eigenvectors | ( |  | ) |

Deprecated.

Use so_to_mo().t() instead.

Reimplemented from sc::OneBodyWavefunction.

RefDiagSCMatrix sc::UnrestrictedSCF::eigenvalues | ( |  | ) | `[virtual]`

Returns the MO basis eigenvalues.

Reimplemented from sc::SCF.

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

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

Reimplemented from sc::SCF.

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

double sc::UnrestrictedSCF::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::UnrestrictedSCF::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::UnrestrictedSCF::fock | ( | int | i | ) | `[virtual]`

Returns alpha (i==0) or beta (i==1) Fock matrix in AO basis (including XC contribution in KS DFT -- compare this to CLSCF and HSOSSCF!).

Argument i must be 0.

Implements sc::SCF.

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

Spin-unrestricted SCF methods do not define effective Fock matrix, thus this function should never be called.

Implements sc::SCF.

void sc::UnrestrictedSCF::set_desired_value_accuracy | ( | double | eps | ) | `[virtual]`

Overload of Function::set_desired_value_accuracy().

Must update accuracy of the eigenvalues and eigenvectors.

Reimplemented from sc::OneBodyWavefunction.

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

- uscf.h