MPQC 2.3.1

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sc::UKS Class Reference

This provides a Kohn-Sham implementation for unrestricted-orbital open-shell systems. More...

`#include <uks.h>`

Inheritance diagram for sc::UKS:
[legend]
Collaboration diagram for sc::UKS:
[legend]

## Public Member Functions
| UKS (StateIn &)
| UKS (const Ref< KeyVal > &)
| This KeyVal constructor reads the following keywords: More...
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. More...
void | print (std::ostream &o=ExEnv::out0()) const
| Print information about the object.
void | two_body_energy (double &ec, double &ex)
int | value_implemented () const
| Information about the availability of values, gradients, and hessians. More...
int | gradient_implemented () const
Public Member Functions inherited from sc::UnrestrictedSCF
| UnrestrictedSCF (StateIn &)
| 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. More...
RefSCMatrix | eigenvectors ()
RefDiagSCMatrix | eigenvalues ()
| Returns the MO basis eigenvalues. More...
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. More...
double | occupation (int, int)
| Returns the occupation. More...
double | alpha_occupation (int, int)
| Returns the alpha occupation. More...
double | beta_occupation (int, int)
| Returns the beta occupation. More...
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!). More...
RefSymmSCMatrix | effective_fock ()
| Spin-unrestricted SCF methods do not define effective Fock matrix, thus this function should never be called. More...
void | set_desired_value_accuracy (double eps)
| Overload of Function::set_desired_value_accuracy(). More...
Public Member Functions inherited from sc::SCF
| SCF (StateIn &)
| SCF (const Ref< KeyVal > &)
| The KeyVal constructor. More...
RefSCMatrix | oso_eigenvectors ()
| Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix. More...
virtual double | one_body_energy ()
void | obsolete ()
| Marks all results as being out of date. More...
Public Member Functions inherited from sc::OneBodyWavefunction
| OneBodyWavefunction (StateIn &)
| OneBodyWavefunction (const Ref< KeyVal > &)
| The KeyVal constructor. More...
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. More...
int | nelectron ()
| Returns the number of electrons.
void | set_desired_value_accuracy (double eps)
| Overload of Function::set_desired_value_accuracy(). More...
RefSCMatrix | so_to_mo ()
           These members give metrics and basis transformations
using the covariant/contravariant tensor notation. More...
RefSCMatrix | orthog_so_to_mo ()
| Returns the orthogonal-SO to MO transformation matrix.
RefSCMatrix | mo_to_so ()
| Returns the MO to SO transformation matrix.
RefSCMatrix | mo_to_orthog_so ()
| Returns the MO to orthogonal-SO transformation matrix. More...
RefSCMatrix | eigenvectors ()
| Deprecated. More...
double | occupation (int vectornum)
| Returns the occupation. More...
double | alpha_occupation (int vectornum)
| Returns the alpha occupation. More...
double | beta_occupation (int vectornum)
| Returns the beta occupation. More...
virtual RefDiagSCMatrix | projected_eigenvalues (const Ref< OneBodyWavefunction > &, int alp=1)
virtual RefSCMatrix | projected_eigenvectors (const Ref< OneBodyWavefunction > &, int alp=1)
| Projects the density into the current basis set. More...
virtual RefSCMatrix | hcore_guess ()
| Return a guess vector. More...
virtual RefSCMatrix | hcore_guess (RefDiagSCMatrix &val)
| Return a guess vector and the eigenvalues. More...
void | symmetry_changed ()
| Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. More...
double | orbital (const SCVector3 &r, int iorb)
double | orbital_density (const SCVector3 &r, int iorb, double *orbval=0)
void | print (std::ostream &o=ExEnv::out0()) const
| Print information about the object.
Public Member Functions inherited from sc::Wavefunction
| Wavefunction (StateIn &)
| Wavefunction (const Ref< KeyVal > &)
| The KeyVal constructor. More...
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. More...
double | density (const SCVector3 &)
double | density_gradient (const SCVector3 &, double *)
double | natural_orbital (const SCVector3 &r, int iorb)
double | natural_orbital_density (const SCVector3 &r, int orb, double *orbval=0)
double | orbital (const SCVector3 &r, int iorb, const RefSCMatrix &orbs)
double | orbital_density (const SCVector3 &r, int iorb, const RefSCMatrix &orbs, double *orbval=0)
double | charge ()
| Returns the charge.
virtual RefSymmSCMatrix | ao_density ()
| Returns the AO density.
virtual RefSCMatrix | natural_orbitals ()
| Returns the natural orbitals.
virtual RefDiagSCMatrix | natural_density ()
| Returns the natural density (a diagonal matrix).
virtual RefSymmSCMatrix | alpha_ao_density ()
| Return alpha electron densities in the AO basis.
virtual RefSymmSCMatrix | beta_ao_density ()
| Return beta electron densities in the AO basis.
virtual RefSCMatrix | nao (double *atom_charges=0)
| returns the ao to nao transformation matrix
virtual RefSymmSCMatrix | overlap ()
| Returns the SO overlap matrix.
virtual RefSymmSCMatrix | core_hamiltonian ()
| Returns the SO core Hamiltonian.
virtual double | nuclear_repulsion_energy ()
| Returns the nuclear repulsion energy. More...
void | nuclear_repulsion_energy_gradient (double *g)
| Computes the nuclear repulsion gradient. More...
virtual void | nuclear_repulsion_energy_gradient (double **g)
| Computes the nuclear repulsion gradient. More...
RefSCDimension | ao_dimension ()
| Atomic orbital dimension.
RefSCDimension | so_dimension ()
| Symmetry adapted orbital dimension.
RefSCDimension | oso_dimension ()
| Orthogonalized symmetry adapted orbital dimension.
Ref< SCMatrixKit > | basis_matrixkit ()
| Matrix kit for AO, SO, orthogonalized SO, and MO dimensioned matrices.
Ref< Molecule > | molecule () const
| Returns the Molecule.
Ref< GaussianBasisSet > | basis () const
| Returns the basis set.
Ref< GaussianBasisSet > | atom_basis () const
| Returns the basis set describing the nuclear charge distributions.
const double * | atom_basis_coef () const
| Returns the coefficients of the nuclear charge distribution basis functions. More...
Ref< Integral > | integral ()
| Returns the integral evaluator.
void | symmetry_changed ()
| Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. More...
RefSCMatrix | so_to_orthog_so ()
| Returns a matrix which does the default transform from SO's to orthogonal SO's. More...
RefSCMatrix | so_to_orthog_so_inverse ()
| Returns the inverse of the transformation returned by so_to_orthog_so.
OverlapOrthog::OrthogMethod | orthog_method () const
| Returns the orthogonalization method.
void | set_orthog_method (const OverlapOrthog::OrthogMethod &)
| (Re)Sets the orthogonalization method and makes this obsolete
double | lindep_tol () const
| Returns the tolerance for linear dependencies.
void | set_lindep_tol (double)
| Re(Sets) the tolerance for linear dependencies.
void | obsolete ()
| Marks all results as being out of date. More...
void | print (std::ostream &=ExEnv::out0()) const
| Print information about the object.
Public Member Functions inherited from sc::MolecularEnergy
| MolecularEnergy (const MolecularEnergy &)
| MolecularEnergy (const Ref< KeyVal > &)
| The KeyVal constructor. More...
| MolecularEnergy (StateIn &)
void | set_checkpoint ()
| Set up checkpointing.
void | set_checkpoint_file (const char *)
void | set_checkpoint_freq (int freq)
bool | if_to_checkpoint () const
| Check if need to checkpoint.
const char * | checkpoint_file () const
int | checkpoint_freq () const
MolecularEnergy & | operator= (const MolecularEnergy &)
virtual double | energy ()
| A wrapper around value();.
virtual RefSCDimension | moldim () const
void | guess_hessian (RefSymmSCMatrix &)
| Compute a quick, approximate hessian.
RefSymmSCMatrix | inverse_hessian (RefSymmSCMatrix &)
RefSymmSCMatrix | hessian ()
| If a molecule hessian object is given, it will be used to provide a hessian. More...
int | hessian_implemented () const
void | set_x (const RefSCVector &)
| Set and retrieve the coordinate values.
RefSCVector | get_cartesian_x ()
| Return the cartesian coordinates.
RefSCVector | get_cartesian_gradient ()
| Return the cartesian gradient.
RefSymmSCMatrix | get_cartesian_hessian ()
| Return the cartesian hessian.
Ref< MolecularCoor > | molecularcoor ()
Ref< NonlinearTransform > | change_coordinates ()
| An optimizer can call change coordinates periodically to give the function an opportunity to change its coordinate system. More...
void | print_natom_3 (const RefSCVector &, const char *t=0, std::ostream &o=ExEnv::out0()) const
| Nicely print n x 3 data that are stored in a vector.
void | print_natom_3 (double **, const char *t=0, std::ostream &o=ExEnv::out0()) const
void | print_natom_3 (double *, const char *t=0, std::ostream &o=ExEnv::out0()) const
Public Member Functions inherited from sc::Function
| Function (StateIn &)
| Function (const Function &)
| Function (const Ref< KeyVal > &, double funcacc=DBL_EPSILON, double gradacc=DBL_EPSILON, double hessacc=DBL_EPSILON)
| The keyval constructor reads the following keywords: More...
Function & | operator= (const Function &)
Ref< SCMatrixKit > | matrixkit () const
| Return the SCMatrixKit used to construct vectors and matrices. More...
RefSCDimension | dimension () const
| Return the SCDimension of the problem.
virtual double | value ()
| Return the value of the function.
int | value_needed () const
| Returns nonzero if the current value is not up-to-date.
int | do_value (int)
| If passed a nonzero number, compute the value the next time compute() is called. More...
AccResultdouble & | value_result ()
virtual double | actual_value_accuracy () const
| Return the accuracy with which the value has been computed.
virtual double | desired_value_accuracy () const
| Return the accuracy with which the value is to be computed.
RefSCVector | get_x () const
const RefSCVector & | get_x_no_copy () const
virtual RefSCVector | gradient ()
int | gradient_needed () const
int | do_gradient (int)
virtual void | set_desired_gradient_accuracy (double)
virtual double | actual_gradient_accuracy () const
virtual double | desired_gradient_accuracy () const
AccResultRefSCVector & | gradient_result ()
int | hessian_needed () const
int | do_hessian (int)
virtual void | set_desired_hessian_accuracy (double)
virtual double | actual_hessian_accuracy () const
virtual double | desired_hessian_accuracy () const
AccResultRefSymmSCMatrix & | hessian_result ()
Public Member Functions inherited from sc::SavableState
SavableState & | operator= (const SavableState &)
void | save_state (StateOut &)
| Save the state of the object as specified by the StateOut object. More...
void | save_object_state (StateOut &)
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More...
virtual void | save_vbase_state (StateOut &)
| Save the virtual bases for the object. More...
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Protected Member Functions
void | ao_fock (double accuracy)
double | scf_energy ()
Ref< SCExtrapData > | extrap_data ()
void | two_body_deriv (double *)
void | init_vector ()
void | done_vector ()
Protected Member Functions inherited from sc::UnrestrictedSCF
Ref< SCExtrapError > | extrap_error ()
double | compute_vector (double &, double enuclear)
void | initial_vector (int needv=1)
void | set_occupations (const RefDiagSCMatrix &)
void | set_occupations (const RefDiagSCMatrix &, const RefDiagSCMatrix &)
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 Member Functions inherited from sc::SCF
virtual void | init_threads ()
virtual void | done_threads ()
virtual void | compute ()
| Recompute at least the results that have compute true and are not already computed. More...
virtual void | compute_gradient (const RefSCVector &)
virtual void | compute_hessian (const RefSymmSCMatrix &)
virtual void | savestate_iter (int)
virtual void | savestate_to_file (const std::string &filename)
signed char * | init_pmax (double *)
RefSymmSCMatrix | get_local_data (const RefSymmSCMatrix &, double *&, Access)
void | init_mem (int)
void | so_density (const RefSymmSCMatrix &d, double occ, int alp=1)
int * | read_occ (const Ref< KeyVal > &, const char *name, int nirrep)
Protected Member Functions inherited from sc::OneBodyWavefunction
void | init_sym_info ()
int | form_occupations (int *&newocc, const int *oldocc)
Protected Member Functions inherited from sc::Wavefunction
double | min_orthog_res ()
double | max_orthog_res ()
void | copy_orthog_info (const Ref< Wavefunction > &)
Protected Member Functions inherited from sc::MolecularEnergy
void | failure (const char *)
virtual void | set_energy (double)
| This is just a wrapper around set_value().
virtual void | set_gradient (RefSCVector &)
| These are passed gradients and hessian in cartesian coordinates. More...
virtual void | set_hessian (RefSymmSCMatrix &)
void | x_to_molecule ()
void | molecule_to_x ()
Protected Member Functions inherited from sc::Function
virtual void | set_matrixkit (const Ref< SCMatrixKit > &)
| Set the SCMatrixKit that should be used to construct the requisite vectors and matrices. More...
virtual void | set_dimension (const RefSCDimension &)
RefSCVector & | get_x_reference ()
| Get read/write access to the coordinates for modification.
void | do_change_coordinates (const Ref< NonlinearTransform > &)
| Change the coordinate system and apply the given transform to intermediates matrices and vectors. More...
virtual void | set_value (double)
virtual void | set_actual_value_accuracy (double)
virtual void | set_actual_gradient_accuracy (double)
virtual void | set_actual_hessian_accuracy (double)
Protected Member Functions inherited from sc::SavableState
| SavableState (const SavableState &)
| SavableState (StateIn &)
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More...

## Protected Attributes
Ref< DenIntegrator > | integrator_
Ref< DenFunctional > | functional_
RefSymmSCMatrix | vaxc_
RefSymmSCMatrix | vbxc_
double | exc_
Protected Attributes inherited from sc::UnrestrictedSCF
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_
Protected Attributes inherited from sc::SCF
int | need_vec_
int | compute_guess_
int | keep_guess_wfn_
Ref< OneBodyWavefunction > | guess_wfn_
int | always_use_guess_wfn_
Ref< SelfConsistentExtrapolation > | extrap_
Ref< AccumH > | accumdih_
Ref< AccumH > | accumddh_
int | maxiter_
int | dens_reset_freq_
int | reset_occ_
int | local_dens_
size_t | storage_
int | print_all_evals_
int | print_occ_evals_
double | level_shift_
Ref< MessageGrp > | scf_grp_
Ref< ThreadGrp > | threadgrp_
int | local_
Ref< TwoBodyInt > * | tbis_
std::string | previous_savestate_file_
RefSCMatrix | oso_scf_vector_
RefSCMatrix | oso_scf_vector_beta_
RefSymmSCMatrix | hcore_
Protected Attributes inherited from sc::OneBodyWavefunction
ResultRefSymmSCMatrix | density_
AccResultRefSCMatrix | oso_eigenvectors_
AccResultRefDiagSCMatrix | eigenvalues_
int | nirrep_
int * | nvecperirrep_
double * | occupations_
double * | alpha_occupations_
double * | beta_occupations_
Protected Attributes inherited from sc::Wavefunction
int | debug_
Protected Attributes inherited from sc::MolecularEnergy
Ref< PointGroup > | initial_pg_
int | print_molecule_when_changed_
Protected Attributes inherited from sc::Function
Ref< SCMatrixKit > | matrixkit_
| Used to construct new matrices.
RefSCVector | x_
| The variables.
RefSCDimension | dim_
| The dimension of x_.
AccResultdouble | value_
| The value of the function at x_.
AccResultRefSCVector | gradient_
| The gradient at x_.
AccResultRefSymmSCMatrix | hessian_
| The hessian at x_.

## Additional Inherited Members
Static Public Member Functions inherited from sc::SavableState
static void | save_state (SavableState *s, StateOut &)
static SavableState * | restore_state (StateIn &si)
| Restores objects saved with save_state. More...
static SavableState * | key_restore_state (StateIn &si, const char *keyword)
| Like restore_state, but keyword is used to override values while restoring. More...
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
Protected Types inherited from sc::SCF
enum | Access { Read, Write, Accum }

## Detailed Description

This provides a Kohn-Sham implementation for unrestricted-orbital open-shell systems.

## Constructor & Destructor Documentation

sc::UKS::UKS | ( | const Ref< KeyVal > & |  | ) |

This KeyVal constructor reads the following keywords:

`integrator`

  Specifies the DenIntegrator that will be used to integrate the density functional. The default is RadialAngularIntegrator.

`functional`

  Specifies the DenFunctional that will be used to compute the exchange/correlation contribution. This is no default.

## Member Function Documentation

void sc::UKS::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.

int sc::UKS::value_implemented | ( |  | ) | const
| virtual

Information about the availability of values, gradients, and hessians.

Reimplemented from sc::Function.

The documentation for this class was generated from the following file:

- uks.h