MPQC  3.0.0-alpha
sc::OneBodyDerivInt Class Referenceabstract

OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals. More...

#include <chemistry/qc/basis/obint.h>

Inheritance diagram for sc::OneBodyDerivInt:
sc::RefCount sc::OneBodyDerivIntV3

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< GaussianBasisSetbasis () const
 Return the basis set on center one.
 
Ref< GaussianBasisSetbasis1 () const
 Return the basis set on center one.
 
Ref< GaussianBasisSetbasis2 () 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.
 
Integralintegral () 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

Integralintegral_
 
Ref< GaussianBasisSetbs1
 
Ref< GaussianBasisSetbs2
 
double * buffer_
 

Additional Inherited Members

- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Detailed Description

OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals.

Member Function Documentation

◆ buffer()

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.


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

Generated at Sun Jan 26 2020 23:24:08 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.