sc::HSOSSCF - The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-
Contents
Constructor & Destructor Documentation
sc::HSOSSCF::HSOSSCF(constRef<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.
Detailed Description
The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell
molecules.
Member Function Documentation
doublesc::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.
doublesc::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.
RefSymmSCMatrixsc::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.
doublesc::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.
voidsc::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::MolecularEnergy.
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.
PublicMemberFunctionsHSOSSCF (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
RefSymmSCMatrixfock (int i)
Returns closed-shell (i==0) or open-shell (i==1) Fock matrix in AO basis (excluding XC contribution
in KS DFT).
RefSymmSCMatrixeffective_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.
RefSymmSCMatrixdensity ()
Returns the SO density.
RefSymmSCMatrixalpha_density ()
Return alpha electron densities in the SO basis.
RefSymmSCMatrixbeta_density ()
Return beta electron densities in the SO basis.
ProtectedMemberFunctions
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 ()
RefSymmSCMatrixlagrangian ()
RefSymmSCMatrixgradient_density ()
void init_hessian ()
void done_hessian ()
void two_body_deriv_hf (double *grad, double exchange_fraction)
ProtectedAttributesRef< PointGroup > most_recent_pg_
int user_occupations_
int tndocc_
int tnsocc_
int nirrep_
int * initial_ndocc_
int * initial_nsocc_
int * ndocc_
int * nsocc_ResultRefSymmSCMatrixcl_fock_ResultRefSymmSCMatrixop_fock_RefSymmSCMatrixcl_dens_RefSymmSCMatrixcl_dens_diff_RefSymmSCMatrixcl_gmat_RefSymmSCMatrixop_dens_RefSymmSCMatrixop_dens_diff_RefSymmSCMatrixop_gmat_RefSymmSCMatrixcl_hcore_AdditionalInheritedMembers