logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sc::SCF - The SCF class is the base for all classes that use a self-consistent field procedure to solve

Author

       Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1                                    Sun Oct 4 2020                                       sc::SCF(3)

Constructor & Destructor Documentation

sc::SCF::SCF(constRef<KeyVal>&)
       The KeyVal constructor.

       maxiter
           This integer specifies the maximum number of SCF iterations. The default is 40.

       density_reset_frequency
           This integer specifies how often, in term of SCF iterations, $ reset to $D$. The default is 10.

       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 is false.

       level_shift
           The default is 0.

       extrap
           This specifies an object of type SelfConsistentExtrapolation. The default is a DIIS object.

       memory
           The amount of memory that each processor may use. The default is 0 (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 is true.

       guess_wavefunction
           This  specifies  the  initial  guess  for  the  solution  to  the SCF equations. This can be either a
           OneBodyWavefunction object or the name of file that contains the saved state of a OneBodyWavefunction
           object. 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, then keep_guess_wavefunction should
           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. The default is false.

       print_occ_evals
           Takes a boolean value. If true, print the occupied eigenvalues after the SCF procedure converges. The
           default is false.

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.

Member Function Documentation

virtualvoidsc::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.

   voidsc::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.

   voidsc::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.

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.

   PublicMemberFunctionsSCF (StateIn &)
       SCF (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.
       RefSCMatrixoso_eigenvectors ()
           Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix.
       RefDiagSCMatrixeigenvalues ()
           Returns the MO basis eigenvalues.
       int spin_unrestricted ()
           Return 1 if the alpha orbitals are not equal to the beta orbitals.
       virtual int n_fock_matrices () const =0
       virtual RefSymmSCMatrixfock (int)=0
       virtual RefSymmSCMatrixeffective_fock ()=0
       virtual 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 this
           MolecularEnergy.
       void obsolete ()
           Marks all results as being out of date.
       void print (std::ostream &o=ExEnv::out0()) const
           Print information about the object.

   ProtectedTypes
       enum Access { Read, Write, Accum }

   ProtectedMemberFunctions
       virtual void init_threads ()
       virtual void done_threads ()
       virtual void compute ()
           Recompute at least the results that have compute true 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 *)
       RefSymmSCMatrixget_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 &)=0
       virtual void init_vector ()=0
       virtual void done_vector ()=0
       virtual double new_density ()=0
       virtual void reset_density ()=0
       virtual double scf_energy ()=0
       virtual Ref< SCExtrapData > extrap_data ()=0
       virtual void ao_fock (double accuracy)=0
       virtual void init_gradient ()=0
       virtual void done_gradient ()=0
       virtual RefSymmSCMatrixlagrangian ()=0
       virtual RefSymmSCMatrixgradient_density ()=0
       virtual void two_body_deriv (double *)=0
       virtual void init_hessian ()=0
       virtual void done_hessian ()=0

   ProtectedAttributes
       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_RefSCMatrixoso_scf_vector_RefSCMatrixoso_scf_vector_beta_RefSymmSCMatrixhcore_AdditionalInheritedMembers

See Also