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.
total_charge
This floating point number gives the total charge, , of the molecule. The default is 0.
nsocc
This integer gives the total number of singly occupied orbitals, . If this is not given, then multiplicity will be read.
multiplicity
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
.
socc
This vector of integers gives the total number of singly occupied orbitals of each irreducible representation. By default, the 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 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.
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.