sc::HSOSSCF(3)

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'. .IP "total_charge" 1c 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_thrm{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_thrm{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_thrm{socc}$ is 2'. Otherwise, it is 1'.

ndocc
    This integer gives the total number of doubly occupied orbitals $n_thrm{docc}$'. The default $n_thrm{docc} = (c - n_thrm{socc})/2$'.

socc
    This vector of integers gives the total number of singly occupied orbitals of each irreducible representation'. By default, the $n_thrm{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_thrm{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 (intirrep, intvectornum) [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 (intirrep, intvectornum) [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 (inti) [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 (intirrep, intvectornum) [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'.

Author

Generated automatically by Doxygen for MPQC from the source code'.