MPQC
2.3.1
|
The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. More...
#include <hsosscf.h>
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_ |
The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules.
The KeyVal constructor.
<dl> <dt><tt>total_charge</tt><dd> This floating point number gives the total charge,
, of the molecule. The default is 0.
<dt><tt>nsocc</tt><dd> This integer gives the total number of singly occupied orbitals, \form#54. If this is not given, then multiplicity will be read. <dt><tt>multiplicity</tt><dd> This integer gives the multiplicity,
, of the molecule. The number of singly occupied orbitals is then
. If neither nsocc nor multiplicity is given, then if, in consideration of total_charge, the number of electrons is even, the default
is 2. Otherwise, it is 1.
ndocc
This integer gives the total number of doubly occupied orbitals . The default
.
<dt><tt>socc</tt><dd> This vector of integers gives the total number of singly occupied orbitals of each irreducible representation. By default, the \form#54 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. <dt><tt>docc</tt><dd> This vector of integers gives the total number of doubly occupied orbitals of each irreducible representation. By default, the \form#57 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. <dt><tt>maxiter</tt><dd> This has the same meaning as in the parent class, SCF; however, the default value is 100. <dt><tt>level_shift</tt><dd> This has the same meaning as in the parent class, SCF; however, the default value is 1.0. </dl>
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.