sc_HSOSSCF3
The hsosscf class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules.
Usage
Inherits sc::SCF.
Inherited by
sc::HSOSHF,
and
sc::HSOSKS.
Public Member Functions
HSOSSCF (StateIn
&)
HSOSSCF (const
Ref<
KeyVal
>
&)
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
()
Protected Member Functions
void set_occupations
(const
RefDiagSCMatrix
&evals)
void init_vector
()
void done_vector
()
void reset_density
()
double new_density
()
double scf_energy
()
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
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.
total_charge-
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
RefSymmSCMatrix sc::HSOSSCF::alpha_density () [virtual]
Return alpha electron densities in the SO basis.
Reimplemented from sc::Wavefunction.
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.
RefSymmSCMatrix sc::HSOSSCF::beta_density () [virtual]
Return beta electron densities in the SO basis.
Reimplemented from sc::Wavefunction.
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::density () [virtual]
Returns the SO density.
Implements sc::Wavefunction.
void sc::HSOSSCF::done_gradient () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::done_hessian () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::done_vector () [protected], [virtual]
Implements sc::SCF.
RefSymmSCMatrix sc::HSOSSCF::effective_fock () [virtual]
Returns effective Fock matrix in MO basis (including XC contribution for KS DFT).
Implements sc::SCF.
Ref< SCExtrapData > sc::HSOSSCF::extrap_data () [protected], [virtual]
Implements sc::SCF.
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.
RefSymmSCMatrix sc::HSOSSCF::gradient_density () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::init_gradient () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::init_hessian () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::init_vector () [protected], [virtual]
Implements sc::SCF.
RefSymmSCMatrix sc::HSOSSCF::lagrangian () [protected], [virtual]
Implements sc::SCF.
int sc::HSOSSCF::n_fock_matrices () const [virtual]
Implements sc::SCF.
double sc::HSOSSCF::new_density () [protected], [virtual]
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::print (std::ostream & = ExEnv::out0()) const [virtual]
Print information about the object.
Reimplemented from sc::MolecularEnergy.
void sc::HSOSSCF::reset_density () [protected], [virtual]
Implements sc::SCF.
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::MolecularEnergy.
double sc::HSOSSCF::scf_energy () [protected], [virtual]
Implements sc::SCF.
void sc::HSOSSCF::set_occupations (const RefDiagSCMatrix & evals) [protected], [virtual]
Implements sc::SCF.
int sc::HSOSSCF::spin_polarized () [virtual]
Return 1 if the alpha density is not equal to the beta density.
Implements sc::Wavefunction.
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::MolecularEnergy.
History
- Debian 12 (Bookworm): the text shown here
- Debian 11 (Bullseye)
- Debian 6.0 (Squeeze)
- Debian 5.0 (Lenny)
- Debian 4.0 (Etch)
- Debian 3.1 (Sarge)