MPQC
3.0.0-alpha
|
Build Fock matrices using some combination of FockBuilder objects. More...
#include <chemistry/qc/lcao/fockbuild_runtime.h>
Public Types | |
typedef RefSCMatrix | ResultType |
typedef Registry< std::string, RefSCMatrix, detail::NonsingletonCreationPolicy > | FockMatrixRegistry |
typedef Registry< RefSymmSCMatrix, Ref< OrbitalSpace >, detail::NonsingletonCreationPolicy, RefSymmSCMatrixEqual, RefObjectEqual< OrbitalSpace > > | PSqrtRegistry |
the way I compute exchange matrices is by computing square root of the density (P) this Registry keeps track of P->sqrt(P) mapping | |
Public Member Functions | |
FockBuildRuntime (const Ref< OrbitalSpaceRegistry > &oreg, const Ref< AOSpaceRegistry > &aoreg, const Ref< GaussianBasisSet > &refbasis, const RefSymmSCMatrix &aodensity_alpha, const RefSymmSCMatrix &aodensity_beta, const Ref< Integral > &integral, const RefSCVector &electric_field, Ref< MessageGrp > msg=MessageGrp::get_default_messagegrp(), Ref< ThreadGrp > thr=ThreadGrp::get_default_threadgrp()) | |
FockBuildRuntime (StateIn &si) | |
void | save_data_state (StateOut &so) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
void | obsolete () |
obsoletes this object | |
bool | exists (const std::string &key) const |
Returns true if the given matrix is available. | |
ResultType | get (const std::string &key) |
Returns the matrix corresponding to key. More... | |
const Ref< Integral > & | integral () const |
const Ref< MessageGrp > & | msg () const |
const Ref< ThreadGrp > & | thr () const |
const Ref< GaussianBasisSet > & | basis () const |
const Ref< DensityFittingInfo > & | dfinfo () const |
void | dfinfo (const Ref< DensityFittingInfo > &d) |
const Ref< OrbitalSpaceRegistry > & | orbital_registry () const |
const Ref< FockMatrixRegistry > & | fock_registry () const |
const Ref< AOSpaceRegistry > & | ao_registry () const |
double | log2_precision () const |
void | set_densities (const RefSymmSCMatrix &aodensity_alpha, const RefSymmSCMatrix &aodensity_beta) |
sets AO densities. Unless these are identical to the current densities, density-dependent contents will be cleared. | |
RefSymmSCMatrix | P () const |
return total density in AO basis | |
RefSymmSCMatrix | Po () const |
return open-shell density in AO basis | |
const RefSCVector & | electric_field () const |
returns the uniform electric field (may be a null reference) | |
void | set_electric_field (const RefSCVector &efield) |
sets uniform electric field. More... | |
void | set_log2_precision (double prec) |
Specifies the precision of the computed operator matrices. More... | |
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 MPQC__NOEXCEPT |
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. | |
virtual void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
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... | |
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 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 &) |
Build Fock matrices using some combination of FockBuilder objects.
ResultType sc::FockBuildRuntime::get | ( | const std::string & | key | ) |
Returns the matrix corresponding to key.
key must be in format recognized by ParsedOneBodyIntKey. If this key is not known, the matrix will be computed by an appropriate FockMatrixBuild object.
|
inline |
|
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::SavableState.
void sc::FockBuildRuntime::set_electric_field | ( | const RefSCVector & | efield | ) |
sets uniform electric field.
In presence of electric field the core and total Fock matrices will not be cached (i.e. only field-free Fock matrices and their components are cached; assembly of in-field Fock matrices is done each time)
void sc::FockBuildRuntime::set_log2_precision | ( | double | prec | ) |
Specifies the precision of the computed operator matrices.
The default precision assumed by a newly constructed FockBuildRuntime is -50 ( ). Using this function to increase the precision may cause some matrices of lower precision to be purged from cache.
prec | , where is the absolute numerical precision of the integrals requested from the produced Fock matrices. |