man sc_HSOSSCF (Fonctions bibliothèques) - The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules.

NAME

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

SYNOPSIS



#include <hsosscf.h>

Inherits sc::SCF.

Inherited by sc::HSOSHF, and sc::HSOSKS.

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.

total_charge
This floating point number 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.

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.

Author

Generated automatically by Doxygen for MPQC from the source code.