Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
Public Member Functions | Protected Attributes | List of all members
GaussianOverlapIntegral Class Reference

#include <gaussianoverlapintegral.h>

Collaboration diagram for GaussianOverlapIntegral:
Collaboration graph
[legend]

Public Member Functions

 GaussianOverlapIntegral (int angularMomentumMax)
 
double overlapIntegral (int iA, int jA, int kA, int iB, int jB, int kB)
 
double overlapIntegral (int dim, int i, int j)
 
double overlapIntegral (const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB)
 
void set (Vector3 corePositionA, Vector3 corePositionB, const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB, bool expandForKinetic=false)
 

Protected Attributes

double m_exponentSum
 
HermiteExpansionCoefficient m_hermiteExpansionCoefficients
 

Detailed Description

Definition at line 12 of file gaussianoverlapintegral.h.

Constructor & Destructor Documentation

GaussianOverlapIntegral::GaussianOverlapIntegral ( int  angularMomentumMax)
explicit

Definition at line 7 of file gaussianoverlapintegral.cpp.

7  :
8  m_hermiteExpansionCoefficients(angularMomentumMax + 1)
9 {
10 }

Member Function Documentation

double GaussianOverlapIntegral::overlapIntegral ( int  iA,
int  jA,
int  kA,
int  iB,
int  jB,
int  kB 
)

Definition at line 44 of file gaussianoverlapintegral.cpp.

45 {
46  return overlapIntegral(0, iA, iB) * overlapIntegral(1, jA, jB) * overlapIntegral(2, kA, kB);
47 }
double GaussianOverlapIntegral::overlapIntegral ( int  dim,
int  i,
int  j 
)

Definition at line 37 of file gaussianoverlapintegral.cpp.

38 {
39  double p = m_exponentSum;
40  const cube &E_dim = m_hermiteExpansionCoefficients[dim];
41  return E_dim(iA,iB,0) * sqrt(M_PI / p);
42 }
double GaussianOverlapIntegral::overlapIntegral ( const GaussianPrimitiveOrbital primitiveA,
const GaussianPrimitiveOrbital primitiveB 
)

Definition at line 30 of file gaussianoverlapintegral.cpp.

32 {
33  return overlapIntegral(primitiveA.xExponent(), primitiveA.yExponent(), primitiveA.zExponent(),
34  primitiveB.xExponent(), primitiveB.yExponent(), primitiveB.zExponent());
35 }
void GaussianOverlapIntegral::set ( Vector3  corePositionA,
Vector3  corePositionB,
const GaussianPrimitiveOrbital primitiveA,
const GaussianPrimitiveOrbital primitiveB,
bool  expandForKinetic = false 
)

Definition at line 12 of file gaussianoverlapintegral.cpp.

16 {
17  int expansion = 0;
18  if(expandForKinetic) {
19  expansion = 2;
20  }
21  m_exponentSum = primitiveA.exponent() + primitiveB.exponent();
22  m_hermiteExpansionCoefficients.set(primitiveA.exponent(), primitiveB.exponent(),
23  corePositionA, corePositionB,
24  primitiveA.xExponent(), primitiveB.xExponent() + expansion,
25  primitiveA.yExponent(), primitiveB.yExponent() + expansion,
26  primitiveA.zExponent(), primitiveB.zExponent() + expansion);
27  m_exponentSum = primitiveA.exponent() + primitiveB.exponent();
28 }

Member Data Documentation

double GaussianOverlapIntegral::m_exponentSum
protected

Definition at line 23 of file gaussianoverlapintegral.h.

HermiteExpansionCoefficient GaussianOverlapIntegral::m_hermiteExpansionCoefficients
protected

Definition at line 25 of file gaussianoverlapintegral.h.


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