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.
- 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_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
- 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.
- 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.
- 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.
- 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.
- 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.