MPQC
2.3.1
|
HSOSHF is a Hartree-Fock specialization of HSOSSCF. More...
#include <hsoshf.h>
Public Member Functions | |
HSOSHF (StateIn &) | |
HSOSHF (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... | |
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. | |
int | gradient_implemented () const |
Public Member Functions inherited from sc::HSOSSCF | |
HSOSSCF (StateIn &) | |
HSOSSCF (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... | |
void | print (std::ostream &o=ExEnv::out0()) const |
Print information about the object. | |
double | occupation (int irrep, int vectornum) |
Returns the occupation. More... | |
double | alpha_occupation (int irrep, int vectornum) |
Returns the alpha occupation. More... | |
double | beta_occupation (int irrep, int vectornum) |
Returns the beta occupation. More... | |
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). More... | |
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. | |
Public Member Functions inherited from sc::SCF | |
SCF (StateIn &) | |
SCF (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... | |
RefSCMatrix | oso_eigenvectors () |
Returns the orthogonal MO (columns) to orthogonal-SO (rows) transformation matrix. | |
RefDiagSCMatrix | eigenvalues () |
Returns the MO basis eigenvalues. | |
int | spin_unrestricted () |
Return 1 if the alpha orbitals are not equal to the beta orbitals. | |
virtual double | one_body_energy () |
void | symmetry_changed () |
Call this if you have changed the molecular symmetry of the molecule contained by this MolecularEnergy. | |
void | obsolete () |
Marks all results as being out of date. More... | |
void | print (std::ostream &o=ExEnv::out0()) const |
Print information about the object. | |
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 | mo_to_orthog_so () |
/ Returns the SO to MO 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 RefSCMatrix | oso_alpha_eigenvectors () |
virtual RefSCMatrix | oso_beta_eigenvectors () |
virtual RefSCMatrix | alpha_eigenvectors () |
virtual RefSCMatrix | beta_eigenvectors () |
virtual RefDiagSCMatrix | alpha_eigenvalues () |
virtual RefDiagSCMatrix | beta_eigenvalues () |
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. | |
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. | |
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. | |
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. | |
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 | |
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 () |
RefSCVector | get_x () const |
const RefSCVector & | get_x_no_copy () const |
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... | |
virtual | ~Function () |
Function & | operator= (const Function &) |
Ref< SCMatrixKit > | matrixkit () const |
Return the SCMatrixKit used to construct vectors and matrices. | |
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. | |
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) |
void | two_body_deriv (double *) |
Protected Member Functions inherited from sc::HSOSSCF | |
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 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 double | compute_vector (double &, double enuclear) |
virtual Ref< SCExtrapError > | extrap_error () |
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) |
virtual void | initial_vector (int needv=1) |
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_value (double) |
virtual void | set_matrixkit (const Ref< SCMatrixKit > &) |
Set the SCMatrixKit that should be used to construct the requisite vectors and matrices. | |
virtual void | set_dimension (const RefSCDimension &) |
virtual void | set_actual_value_accuracy (double) |
virtual void | set_actual_gradient_accuracy (double) |
virtual void | set_actual_hessian_accuracy (double) |
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. | |
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 Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
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. | |
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 } |
Protected Attributes inherited from sc::HSOSSCF | |
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_ |
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_. | |
|
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.