# 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(constRef<KeyVal> &)TheKeyValconstructor:

voidsave_data_state(StateOut&)Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them.

voidExEnv::out0()) constPrint information about the object.

doubleoccupation(int irrep, int vectornum)Returns the occupation.

intn_fock_matrices() constRefSymmSCMatrix 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 theSOdensity.

voidsymmetry_changed()Call this if you have changed the molecular symmetry of the molecule contained by thisMolecularEnergy.

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

### Protected Member Functions

voidset_occupations(constRefDiagSCMatrix&evals)

voidinit_vector()

voiddone_vector()

voidreset_density()

doublenew_density()

doublescf_energy()Ref<SCExtrapData>extrap_data()

voidinit_gradient()

voiddone_gradient()RefSymmSCMatrix lagrangian()RefSymmSCMatrix gradient_density()

voidinit_hessian()

voiddone_hessian()

voidtwo_body_deriv_hf(double *grad, double exchange_fraction)

### Protected Attributes

Ref<PointGroup>most_recent_pg_

intuser_occupations_

inttndocc_

intnirrep_

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.