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

#include <gaussiancoloumbattractionintegral.h>

Collaboration diagram for GaussianColoumbAttractionIntegral:
Collaboration graph
[legend]

Public Member Functions

 GaussianColoumbAttractionIntegral (int angularMomentumMax)
 
double coloumbAttractionIntegral (int iA, int jA, int kA, int iB, int jB, int kB) const
 
void set (const Vector3 &corePositionA, const Vector3 &corePositionB, const Vector3 &corePositionC, const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB)
 
double coloumbAttractionIntegral (const GaussianPrimitiveOrbital &primitiveA, const GaussianPrimitiveOrbital &primitiveB) const
 

Protected Attributes

HermiteExpansionCoefficient m_hermiteExpansionCoefficient
 
HermiteIntegral m_hermiteIntegral
 
double m_exponentSum
 

Detailed Description

Definition at line 14 of file gaussiancoloumbattractionintegral.h.

Constructor & Destructor Documentation

GaussianColoumbAttractionIntegral::GaussianColoumbAttractionIntegral ( int  angularMomentumMax)

Definition at line 8 of file gaussiancoloumbattractionintegral.cpp.

8  :
9  m_hermiteExpansionCoefficient(angularMomentumMax + 1),
10  m_hermiteIntegral(2 * angularMomentumMax + 1)
11 {
12 
13 }

Member Function Documentation

double GaussianColoumbAttractionIntegral::coloumbAttractionIntegral ( int  iA,
int  jA,
int  kA,
int  iB,
int  jB,
int  kB 
) const

Definition at line 42 of file gaussiancoloumbattractionintegral.cpp.

43 {
44  double result = 0;
45  // const cube &E_x = (*m_hermiteExpansionCoefficient)[0];
46  // const cube &E_y = (*m_hermiteExpansionCoefficient)[1];
47  // const cube &E_z = (*m_hermiteExpansionCoefficient)[2];
49  double p = m_exponentSum;
51  int tMax = iA + iB;
52  int uMax = jA + jB;
53  int vMax = kA + kB;
54  for(int t = 0; t < tMax + 1; t++) {
55  for(int u = 0; u < uMax + 1; u++) {
56  for(int v = 0; v < vMax + 1; v++) {
57  result += E(iA, jA, kA, iB, jB, kB, t, u, v) * R(0,t,u,v);
58  // result += E_x(iA, iB, t) * E_y(jA, jB, u) * E_z(kA, kB, v) * R(0,t,u,v);
59  }
60  }
61  }
62  result *= 2*M_PI / p;
63  return result;
64 }
double GaussianColoumbAttractionIntegral::coloumbAttractionIntegral ( const GaussianPrimitiveOrbital primitiveA,
const GaussianPrimitiveOrbital primitiveB 
) const

Definition at line 35 of file gaussiancoloumbattractionintegral.cpp.

37 {
38  return coloumbAttractionIntegral(primitiveA.xExponent(), primitiveA.yExponent(), primitiveA.zExponent(),
39  primitiveB.xExponent(), primitiveB.yExponent(), primitiveB.zExponent());
40 }
void GaussianColoumbAttractionIntegral::set ( const Vector3 corePositionA,
const Vector3 corePositionB,
const Vector3 corePositionC,
const GaussianPrimitiveOrbital primitiveA,
const GaussianPrimitiveOrbital primitiveB 
)

Definition at line 15 of file gaussiancoloumbattractionintegral.cpp.

18  {
19  double exponentA = primitiveA.exponent();
20  double exponentB = primitiveB.exponent();
21  double p = exponentA + exponentB;
22  Vector3 P = (exponentA * corePositionA + exponentB * corePositionB) / (exponentA + exponentB);
23  Vector3 PC = P - corePositionC;
24  m_exponentSum = exponentA + exponentB;
25  int t = primitiveA.xExponent() + primitiveB.xExponent();
26  int u = primitiveA.yExponent() + primitiveB.yExponent();
27  int v = primitiveA.zExponent() + primitiveB.zExponent();
28  m_hermiteIntegral.set(p, PC, t, u, v);
29  m_hermiteExpansionCoefficient.set(exponentA, exponentB, corePositionA, corePositionB,
30  primitiveA.xExponent(), primitiveB.xExponent(),
31  primitiveA.yExponent(), primitiveB.yExponent(),
32  primitiveA.zExponent(), primitiveB.zExponent());
33 }

Member Data Documentation

double GaussianColoumbAttractionIntegral::m_exponentSum
protected

Definition at line 26 of file gaussiancoloumbattractionintegral.h.

HermiteExpansionCoefficient GaussianColoumbAttractionIntegral::m_hermiteExpansionCoefficient
protected

Definition at line 24 of file gaussiancoloumbattractionintegral.h.

HermiteIntegral GaussianColoumbAttractionIntegral::m_hermiteIntegral
protected

Definition at line 25 of file gaussiancoloumbattractionintegral.h.


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