sc::SCF(3)
β¨ sc::SCF(3) β MPQC manual, but make it group chat β¨
okay bestie, welcome to the sc::SCF(3) page from the MPQC manual. This is the whole vibe: the SCF class is the base for every class that uses a self-consistent field procedure to solve an effective one body problem. no cap, it's giving foundational π
πΈ NAME πΈ
sc::SCF β The SCF class is the base for all classes that use a self-consistent field procedure to solve an effective one body problem.
π¦ SYNOPSIS π¦
#include <scf.h>
Inherits sc::OneBodyWavefunction.
Inherited by sc::CLSCF, sc::HSOSSCF, sc::OSSSCF, sc::TCSCF, and sc::UnrestrictedSCF.
π Public Member Functions π
SCF (StateIn &)SCF (const Ref< KeyVal > &)β theKeyValconstructor.void save_data_state (StateOut &)β Save the base classes (withsave_data_state) and the members in the same order that theStateInCTOR initializes them.RefSCMatrix oso_eigenvectors ()β Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix.RefDiagSCMatrix eigenvalues ()β Returns the MO basis eigenvalues.int spin_unrestricted ()β Return1if the alpha orbitals are not equal to the beta orbitals.virtual int n_fock_matrices () const =0virtual RefSymmSCMatrix fock (int)=0virtual RefSymmSCMatrix effective_fock ()=0virtual double one_body_energy ()virtual void two_body_energy (double &ec, double &ex)void symmetry_changed ()β Call this if you have changed the molecular symmetry of the molecule contained by thisMolecularEnergy.void obsolete ()β Marks all results as being out of date.void print (std::ostream &o=ExEnv::out0()) constβ Print information about the object.
π§ Protected Types π§
enum Access { Read, Write, Accum }
π«§ Protected Member Functions π«§
virtual void init_threads ()virtual void done_threads ()virtual void compute ()β Recompute at least the results that havecomputetrue and are not already computed.virtual double compute_vector (double &, double enuclear)virtual Ref< SCExtrapError > extrap_error ()virtual void compute_gradient (const RefSCVector &)virtual void compute_hessian (const RefSymmSCMatrix &)virtual void savestate_iter (int)virtual void savestate_to_file (const std::string &filename)signed char * init_pmax (double *)RefSymmSCMatrix get_local_data (const RefSymmSCMatrix &, double *&, Access)virtual void initial_vector (int needv=1)void init_mem (int)void so_density (const RefSymmSCMatrix &d, double occ, int alp=1)int * read_occ (const Ref< KeyVal > &, const char *name, int nirrep)virtual void set_occupations (const RefDiagSCMatrix &)=0virtual void init_vector ()=0virtual void done_vector ()=0virtual double new_density ()=0virtual void reset_density ()=0virtual double scf_energy ()=0virtual Ref< SCExtrapData > extrap_data ()=0virtual void ao_fock (double accuracy)=0virtual void init_gradient ()=0virtual void done_gradient ()=0virtual RefSymmSCMatrix lagrangian ()=0virtual RefSymmSCMatrix gradient_density ()=0virtual void two_body_deriv (double *)=0virtual void init_hessian ()=0virtual void done_hessian ()=0
π Protected Attributes π
int need_vec_int compute_guess_int keep_guess_wfn_Ref< OneBodyWavefunction > guess_wfn_int always_use_guess_wfn_Ref< SelfConsistentExtrapolation > extrap_Ref< AccumH > accumdih_Ref< AccumH > accumddh_int maxiter_int dens_reset_freq_int reset_occ_int local_dens_size_t storage_int print_all_evals_int print_occ_evals_double level_shift_Ref< MessageGrp > scf_grp_Ref< ThreadGrp > threadgrp_int local_Ref< TwoBodyInt > * tbis_std::string previous_savestate_file_RefSCMatrix oso_scf_vector_RefSCMatrix oso_scf_vector_beta_RefSymmSCMatrix hcore_
π«Ά Additional Inherited Members π«Ά
There are inherited members here too, bestie β they come along with the sc::OneBodyWavefunction inheritance. This section doesn't spell them all out, but they're part of the whole package π
π Detailed Description π
The SCF class is the base for all classes that use a self-consistent field procedure to solve an effective one body problem.
π Constructor & Destructor Documentation π
π sc::SCF::SCF (const Ref< KeyVal > &) π
This is the KeyVal constructor. Here's what it reads, bestie:
maxiterβ This integer specifies the maximum number of SCF iterations. The default is40.density_reset_frequencyβ This integer specifies how often, in term of SCF iterations,$reset to$D$. The default is10.reset_occuptionsβ Reassign the occupations after each iteration based on the eigenvalues. This only has an effect for molecules with higher than$C_1$symmetry. The default isfalse.level_shiftβ The default is0.extrapβ This specifies an object of typeSelfConsistentExtrapolation. The default is a DIIS object.memoryβ The amount of memory that each processor may use. The default is0(minimal memory use).local_densityβ If this is true, a local copy of the density and$G$matrix will be made on all nodes, even if a distributed matrix specialization is used. The default istrue.guess_wavefunctionβ This specifies the initial guess for the solution to the SCF equations. This can be either aOneBodyWavefunctionobject or the name of file that contains the saved state of aOneBodyWavefunctionobject. By default the one-electron hamiltonian will be diagonalized to obtain the initial guess.keep_guess_wavefunctionβ The guess wavefunction is normally discarded after it is projected. Setting this boolean variable to true will cause the guess to be kept. This is useful when doing frequencies of symmetric molecules by finite displacements, because the wavefunction is lost whenever the molecule is displaced into lower symmetry.always_use_guess_wavefunctionβ If the orbitals must be recomputed after they have already been computed once, then the old orbitals are used as the initial guess by default. However, if this option is true, then the guess wavefunction will be used, if available. If a guess wavefunction is not available, then a core Hamiltonian guess will be used. If this option is set to true, thenkeep_guess_wavefunctionshould also be set to true.print_evalsβ Takes a boolean value. If true, print all eigenvalues after the SCF procedure converges. Takes a boolean value again β that's what the page says β and the default isfalse.print_occ_evalsβ Takes a boolean value. If true, print the occupied eigenvalues after the SCF procedure converges. The default isfalse.
π₯ Member Function Documentation π₯
π
virtual void sc::SCF::compute () [protected], [virtual] π
Recompute at least the results that have compute true and are not already computed. This should only be called by Result's members.
Implements sc::Compute.
π
void sc::SCF::obsolete () [virtual] π
Marks all results as being out of date. Any subsequent access to results will cause Compute::compute() to be called.
Reimplemented from sc::Compute.
π
void sc::SCF::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.
Reimplemented in sc::UnrestrictedSCF, sc::TCSCF, sc::UHF, and sc::TCHF.
πΈ Author πΈ
Generated automatically by Doxygen for MPQC from the source code.
mwah π β this page is from MPQC version 2.3.1, dated Sun Oct 4 2020. bye bestie, go solve that effective one body problem π«Άβ¨
π¦ 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