sc::HSOSSCF(3)
π sc::HSOSSCF β MPQC manual page, bestie edition π¦
okay so this is sc::HSOSSCF(3) from the MPQC manual, and it's literally the blueprint class for high-spin open-shell self-consistent field stuff. buckle up, we're going in π
β¨ NAME β¨
sc::HSOSSCF β the base class for classes that implement a self-consistent procedure for high-spin open-shell molecules. it's giving founder energy, it's giving "my children are sc::HSOSHF and sc::HSOSKS" π
πΈ SYNOPSIS πΈ
#include <hsosscf.h>
Inherits sc::SCF.
Inherited by sc::HSOSHF, and sc::HSOSKS.
π«Ά Public Member Functions
HSOSSCF (StateIn &)β the state-restoring constructor, no notes attached.HSOSSCF (const Ref< KeyVal > &)β the KeyVal constructor. all the juicy keyword deets live down in the constructor section πvoid save_data_state (StateOut &)β saves the base classes (withsave_data_state) and the members, in the exact same order that the StateIn CTOR initializes them.void print (std::ostream &o=ExEnv::out0()) constβ prints info about the object, and defaults toExEnv::out0()if you don't hand it a stream.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β how many Fock matrices we're working with, bestie.RefSymmSCMatrix fock (int i)β returns the closed-shell (i==0) or open-shell (i==1) Fock matrix in AO basis (excluding the XC contribution in KS DFT).RefSymmSCMatrix effective_fock ()β returns the effective Fock matrix in MO basis (including the XC contribution for KS DFT).void symmetry_changed ()β call this if you changed the molecular symmetry of the molecule contained by thisMolecularEnergy. respectfully, only call it when you mean it πint spin_polarized ()β returns1if the alpha density isn't equal to the beta density.RefSymmSCMatrix density ()β returns the SO density.RefSymmSCMatrix alpha_density ()β returns the alpha electron densities in the SO basis.RefSymmSCMatrix beta_density ()β returns the beta electron densities in the SO basis.
π§ Protected Member Functions
these are the backstage crew, no cap:
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
the whole squad of member variables, exactly as listed:
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_
π Additional Inherited Members
yep, there's more where that came from β inherited members live up in the parent classes.
π₯ Detailed Description π₯
The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. that's the whole vibe. it's the parent, the others are the nepo babies π
π Constructor & Destructor Documentation π
sc::HSOSSCF::HSOSSCF (const Ref< KeyVal > &)
The KeyVal constructor. here's every keyword it'll read, and honestly, read them carefully, bestie:
total_chargeβ this floating point number gives the total charge, $c$, of the molecule. the default is0.nsoccβ this integer gives the total number of singly occupied orbitals, $n_thrm{socc}$. if this isn't given, thenmultiplicitywill be read instead.multiplicityβ this integer gives the multiplicity, $m$, of the molecule. the number of singly occupied orbitals is then $n_thrm{socc} = m - 1$. if neithernsoccnormultiplicityis given, then β after takingtotal_chargeinto consideration β if the number of electrons is even, the default $n_thrm{socc}$ is2. otherwise, it's1.ndoccβ this integer gives the total number of doubly occupied orbitals, $n_thrm{docc}$. the default is $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 get distributed according to orbital eigenvalues. ifsoccis given, thendoccmust be given, and together they overridensocc,multiplicity,ndocc, andtotal_charge. yes, they really do steamroll all four of them π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 get distributed according to orbital eigenvalues. ifdoccis given, thensoccmust be given, and they overridensocc,multiplicity,ndocc, andtotal_charge. same deal, they're a package, you cannot split them π«Άmaxiterβ same meaning as in the parent class,SCF; however, the default value is100.level_shiftβ same meaning as in the parent class,SCF; however, the default value is1.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 β do not come for this one expecting the whole package π
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 β non-negotiable, the derived class has to do its part β¨
Reimplemented from sc::MolecularEnergy.
π Author π
Generated automatically by Doxygen for MPQC from the source code. not a human, not a vibe, just Doxygen doing its thing π
and that's the page!! π this was brought to you by MPQC Version 2.3.1, dated Sun Oct 4 2020 β go forth and be self-consistent, bestie, periodt πΈπ¦
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms