MPQC
3.0.0-alpha
|
OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals. More...
#include <chemistry/qc/basis/obint.h>
Public Member Functions | |
OneBodyDerivInt (Integral *, const Ref< GaussianBasisSet > &b) | |
OneBodyDerivInt (Integral *, const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2) | |
int | nbasis () const |
Return the number of basis functions on center one. | |
int | nbasis1 () const |
Return the number of basis functions on the center one. | |
int | nbasis2 () const |
Return the number of basis functions on the center two. | |
int | nshell () const |
Return the number of shells on center one. | |
int | nshell1 () const |
Return the number of shells on center one. | |
int | nshell2 () const |
Return the number of shells on center two. | |
Ref< GaussianBasisSet > | basis () const |
Return the basis set on center one. | |
Ref< GaussianBasisSet > | basis1 () const |
Return the basis set on center one. | |
Ref< GaussianBasisSet > | basis2 () const |
Return the basis set on center two. | |
const double * | buffer () const |
The computed shell integrals will be put in the buffer returned by this member. More... | |
virtual void | compute_shell (int ish, int jsh, int center)=0 |
Compute the derivative integrals with respect to the given center and place the result in the buffer returned by buffer(). | |
virtual void | reinitialize () |
This is called for one body integrals that take data to let them know that the data they reference has changed. | |
Integral * | integral () const |
Return the integral factory that was used to create this object. | |
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 Attributes | |
Integral * | integral_ |
Ref< GaussianBasisSet > | bs1 |
Ref< GaussianBasisSet > | bs2 |
double * | buffer_ |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals.
const double* sc::OneBodyDerivInt::buffer | ( | ) | const |
The computed shell integrals will be put in the buffer returned by this member.
The integrals are are returned as an array with derivative index as the "fast" (innermost) dimension. E.g. derivatives of a (p|p) shell would be stored like this: d (p_0|p_0) / d R_x (derivative with respect to x coordinate of atom 0; atom 0 is provided as argument to compute_shell) d (p_0|p_0) / d R_y d (p_0|p_0) / d R_z d (p_0|p_1) / d R_x ... etc.
where p_0, p_1, p_2 are the components of p shell (spherical or Cartesian).
The number of computed derivatives is 3.