# sc_CLSCF man page

sc::CLSCF — The **CLSCF** class is a base for classes implementing a self-consistent procedure for closed-shell molecules.

## Synopsis

`#include <clscf.h>`

Inherits **sc::SCF**.

Inherited by **sc::CLHF**, and **sc::CLKS**.

### Public Member Functions

**CLSCF** (**StateIn** &)**CLSCF** (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.

int **n_fock_matrices** () const**RefSymmSCMatrix fock** (int i)

Returns closed-shell Fock matrix in AO basis (excluding XC contribution in KS DFT). **RefSymmSCMatrix effective_fock** ()

Returns closed-shell Fock matrix in MO basis (including XC contribution for KS DFT). **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**.

int **spin_polarized** ()

Return 1 if the alpha density is not equal to the beta density.

### 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 **nirrep_**

int * **initial_ndocc_**

int * **ndocc_****ResultRefSymmSCMatrix cl_fock_****RefSymmSCMatrix cl_dens_****RefSymmSCMatrix cl_dens_diff_****RefSymmSCMatrix cl_gmat_**

### Additional Inherited Members

## Detailed Description

The **CLSCF** class is a base for classes implementing a self-consistent procedure for closed-shell molecules.

## Constructor & Destructor Documentation

### sc::CLSCF::CLSCF (const Ref< KeyVal > &)

The **KeyVal** constructor:

`total_charge`

This floating point number gives the total charge of the molecule. The default is 0.

`docc`

This vector of integers gives the total number of doubly occupied orbitals of each irreducible representation. By default, this will be chosen to make the molecule uncharged and the electrons will be distributed among the irreducible representations according to the orbital energies.

## Member Function Documentation

### RefSymmSCMatrix sc::CLSCF::effective_fock () [virtual]

Returns closed-shell Fock matrix in MO basis (including XC contribution for KS DFT).

Implements **sc::SCF**.

### RefSymmSCMatrix sc::CLSCF::fock (int i) [virtual]

Returns closed-shell Fock matrix in AO basis (excluding XC contribution in KS DFT). Use **effective_fock()** if you want the full KS Fock matrix. Argument i must be 0.

Implements **sc::SCF**.

### double sc::CLSCF::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::CLSCF::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::MolecularEnergy**.

### void sc::CLSCF::symmetry_changed () [virtual]

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

Reimplemented from **sc::MolecularEnergy**.

## Author

Generated automatically by Doxygen for MPQC from the source code.