|
MPQC
3.0.0-alpha
|
A base class for unrestricted self-consistent-field methods. More...
#include <chemistry/qc/scf/uscf.h>

Public Member Functions | |
| UnrestrictedSCF (StateIn &) | |
| The KeyVal constructor. | |
| UnrestrictedSCF (const Ref< KeyVal > &) | |
| 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. | |
| RefSCMatrix | eigenvectors () |
| Deprecated. | |
| RefDiagSCMatrix | eigenvalues () |
| Returns the MO basis eigenvalues. | |
| RefSCMatrix | oso_alpha_eigenvectors () |
| RefSCMatrix | alpha_eigenvectors () |
| RefDiagSCMatrix | alpha_eigenvalues () |
| RefSCMatrix | oso_beta_eigenvectors () |
| RefSCMatrix | beta_eigenvectors () |
| RefDiagSCMatrix | beta_eigenvalues () |
| RefSymmSCMatrix | alpha_density () |
| Return alpha electron densities in the SO basis. | |
| RefSymmSCMatrix | beta_density () |
| Return beta electron densities in the SO basis. | |
| RefSymmSCMatrix | density () |
| Returns the SO density. | |
| void | symmetry_changed () |
| Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. | |
| double | occupation (int, int) |
| Returns the occupation. | |
| double | alpha_occupation (int, int) |
| Returns the alpha occupation. | |
| double | beta_occupation (int, int) |
| Returns the beta occupation. | |
| int | spin_polarized () |
| Return 1 if the alpha density is not equal to the beta density. | |
| int | spin_unrestricted () |
| Return 1 if the alpha orbitals are not equal to the beta orbitals. | |
| void | print (std::ostream &o=ExEnv::out0()) const |
| Print information about the object. | |
| int | n_fock_matrices () const |
| RefSymmSCMatrix | fock (int i) |
| Returns alpha (i==0) or beta (i==1) Fock matrix in AO basis (including XC contribution in KS DFT -- compare this to CLSCF and HSOSSCF!). | |
| RefSymmSCMatrix | effective_fock () |
| Spin-unrestricted SCF methods do not define effective Fock matrix, thus this function should never be called. | |
| void | set_desired_value_accuracy (double eps) |
| Overload of Function::set_desired_value_accuracy(). | |
Protected Member Functions | |
| Ref< SCExtrapError > | extrap_error () |
| double | compute_vector (double &, double enuclear) |
| void | initial_vector () |
| void | set_occupations (const RefDiagSCMatrix &) |
| void | set_occupations (const RefDiagSCMatrix &, const RefDiagSCMatrix &, bool can_change_multiplicity) |
| void | init_vector () |
| void | done_vector () |
| double | new_density () |
| void | reset_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 | tnalpha_ |
| int | tnbeta_ |
| int | nirrep_ |
| int * | nalpha_ |
| int * | nbeta_ |
| int * | initial_nalpha_ |
| int * | initial_nbeta_ |
| AccResultRefSCMatrix | oso_eigenvectors_beta_ |
| AccResultRefDiagSCMatrix | eigenvalues_beta_ |
| ResultRefSymmSCMatrix | focka_ |
| ResultRefSymmSCMatrix | fockb_ |
| Ref< TwoBodyInt > | tbi_ |
| RefSymmSCMatrix | densa_ |
| RefSymmSCMatrix | densb_ |
| RefSymmSCMatrix | gmata_ |
| RefSymmSCMatrix | gmatb_ |
| RefSymmSCMatrix | diff_densa_ |
| RefSymmSCMatrix | diff_densb_ |
A base class for unrestricted self-consistent-field methods.
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>multiplicity</tt><dd> This integer gives the multiplicity,
, of the molecule. The number of alpha-spin orbitals minus the number of beta-spin orbitals is then
. If multiplicity is not specified, then the maximum value of multiplicity will be sought that minimizes the total sum of orbital energies from guess_wavefunction (multiplicity = 1 will be considered in the search).
alpha This vector of integers gives the total number of occupied alpha spinorbitals of each irreducible representation. By default, the orbital occupations will be guessed from orbital eigenvalues. If alpha is given, then beta must be given and they override multiplicity and total_charge.
beta This vector of integers gives the total number of occupied beta spinorbitals of each irreducible representation. By default, the orbital occupations will be guessed from orbital eigenvalues. If beta is given, then alpha must be given and they override multiplicity 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 0.25.
| double sc::UnrestrictedSCF::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::UnrestrictedSCF::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::UnrestrictedSCF::effective_fock | ( | ) | [virtual] |
| RefDiagSCMatrix sc::UnrestrictedSCF::eigenvalues | ( | ) | [virtual] |
Returns the MO basis eigenvalues.
Reimplemented from sc::SCF.
| RefSymmSCMatrix sc::UnrestrictedSCF::fock | ( | int | i | ) | [virtual] |
| double sc::UnrestrictedSCF::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::UnrestrictedSCF::save_data_state | ( | StateOut & | ) | [virtual] |
| void sc::UnrestrictedSCF::set_desired_value_accuracy | ( | double | eps | ) | [virtual] |
Overload of Function::set_desired_value_accuracy().
Must update accuracy of the eigenvalues and eigenvectors.
Reimplemented from sc::OneBodyWavefunction.
| void sc::UnrestrictedSCF::symmetry_changed | ( | ) | [virtual] |
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy.
Reimplemented from sc::SCF.