MPQC
3.0.0-alpha
|
An abstract base class for integrating the electron density. More...
#include <chemistry/qc/dft/integrator.h>
Public Member Functions | |
DenIntegrator () | |
Construct a new DenIntegrator. | |
DenIntegrator (const Ref< KeyVal > &) | |
Construct a new DenIntegrator given the KeyVal input. | |
DenIntegrator (StateIn &) | |
Construct a new DenIntegrator given the StateIn data. | |
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... | |
const Ref< GaussianBasisSet > & | basis () const |
Returns the basis set used for the density. | |
const Ref< Integral > & | integral () const |
Returns the integral object that defines the basis function ordering, etc. | |
double | value () const |
Returns the result of the integration. | |
void | set_accuracy (double a) |
Sets the accuracy to use in the integration. | |
double | get_accuracy (void) |
void | set_compute_potential_integrals (int) |
Call with non zero if the potential integrals are to be computed. More... | |
const double * | alpha_vmat () const |
Returns the alpha potential integrals. More... | |
const double * | beta_vmat () const |
Returns the beta potential integrals. More... | |
virtual void | init (const Ref< Wavefunction > &) |
Calls the overloaded init routine with a GaussianBasisSet and a Integral object extracted from the given Wavefunction object. | |
virtual void | init (const Ref< GaussianBasisSet > &, const Ref< Integral > &) |
Called before integrate. More... | |
virtual void | done () |
Must be called between calls to init. | |
virtual void | integrate (const Ref< DenFunctional > &, const RefSymmSCMatrix &densa=0, const RefSymmSCMatrix &densb=0, double *nuclear_grad=0)=0 |
Performs the integration of the given functional using the given alpha and beta density matrices. More... | |
bool | spin_polarized () const |
Return true if the densities are spin polarized. | |
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... | |
Protected Member Functions | |
void | init_integration (const Ref< DenFunctional > &func, const RefSymmSCMatrix &densa, const RefSymmSCMatrix &densb, double *nuclear_gradient) |
void | done_integration () |
void | init_object () |
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 &) |
Protected Attributes | |
Ref< GaussianBasisSet > | basis_ |
Ref< Integral > | integral_ |
Ref< BatchElectronDensity > | den_ |
Ref< ThreadGrp > | threadgrp_ |
Ref< MessageGrp > | messagegrp_ |
double | value_ |
double | accuracy_ |
double * | alpha_vmat_ |
double * | beta_vmat_ |
int | spin_polarized_ |
int | need_density_ |
double | density_ |
int | nbasis_ |
int | nshell_ |
int | n_integration_center_ |
int | natom_ |
int | compute_potential_integrals_ |
int | linear_scaling_ |
int | use_dmat_bound_ |
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) |
An abstract base class for integrating the electron density.
|
inline |
Returns the alpha potential integrals.
Stored as the lower triangular, row-major format.
|
inline |
Returns the beta potential integrals.
Stored as the lower triangular, row-major format.
|
virtual |
Called before integrate.
Does not need to be called again unless the geometry changes or done is called.
|
pure virtual |
Performs the integration of the given functional using the given alpha and beta density matrices.
The nuclear derivative contribution is placed in nuclear_grad, if it is non-null.
Implemented in sc::RadialAngularIntegrator.
|
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.
Reimplemented in sc::RadialAngularIntegrator.
void sc::DenIntegrator::set_compute_potential_integrals | ( | int | ) |
Call with non zero if the potential integrals are to be computed.
They can be returned with the vmat() member.