Man Linux: Main Page and Category List

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. .IP "total_charge" 1c 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

   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::effective_fock () [virtual]
       Returns effective Fock matrix in MO basis (including XC contribution
       for KS DFT).

       Implements sc::SCF.

       Reimplemented in sc::HSOSKS.

   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.

   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.

       Reimplemented from sc::SCF.

       Reimplemented in sc::HSOSKS, and sc::HSOSHF.

   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.