Kindfield
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Properties
Friends
Pages
src
basisfunctions
gaussian
integrals
gaussianelectroninteractionintegral.h
Go to the documentation of this file.
1
#ifndef GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H
2
#define GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H
3
4
#include <armadillo>
5
#include <
hermiteintegral.h
>
6
#include <
math/hermiteexpansioncoefficient.h
>
7
8
class
Vector3
;
9
10
using namespace
arma;
11
12
class
GaussianPrimitiveOrbital
;
13
14
class
GaussianElectronInteractionIntegral
15
{
16
public
:
17
GaussianElectronInteractionIntegral
(
int
singleAngularMomentumMax);
18
19
~
GaussianElectronInteractionIntegral
();
20
21
void
reset(
int
singleAngularMomentumMax);
22
23
void
set(
const
Vector3
&corePositionA,
const
Vector3
&corePositionB,
24
const
Vector3
&corePositionC,
const
Vector3
&corePositionD,
25
const
GaussianPrimitiveOrbital
&primitiveA,
const
GaussianPrimitiveOrbital
&primitiveB,
26
const
GaussianPrimitiveOrbital
&primitiveC,
const
GaussianPrimitiveOrbital
&primitiveD);
27
void
setAB(
const
Vector3
&corePositionA,
const
Vector3
&corePositionB,
28
const
GaussianPrimitiveOrbital
&primitiveA,
const
GaussianPrimitiveOrbital
&primitiveB);
29
void
setCD(
const
Vector3
&corePositionC,
const
Vector3
&corePositionD,
30
const
GaussianPrimitiveOrbital
&primitiveC,
const
GaussianPrimitiveOrbital
&primitiveD);
31
double
electronInteractionIntegral(
int
iA,
int
jA,
int
kA,
32
int
iB,
int
jB,
int
kB,
33
int
iC,
int
jC,
int
kC,
34
int
iD,
int
jD,
int
kD);
35
double
electronInteractionIntegral(
const
GaussianPrimitiveOrbital
&primitiveA,
const
GaussianPrimitiveOrbital
&primitiveB,
const
GaussianPrimitiveOrbital
&primitiveC,
const
GaussianPrimitiveOrbital
&primitiveD);
36
protected
:
37
HermiteIntegral
m_hermiteIntegral
;
38
HermiteExpansionCoefficient
m_hermiteExpansionCoefficientAB
;
39
HermiteExpansionCoefficient
m_hermiteExpansionCoefficientCD
;
40
int
m_angularMomentumMax
;
41
Vector3
m_centerOfMassP
;
42
Vector3
m_centerOfMassQ
;
43
double
m_exponentP
;
44
double
m_exponentQ
;
45
46
const
GaussianPrimitiveOrbital
*
m_primitiveA
;
47
const
GaussianPrimitiveOrbital
*
m_primitiveB
;
48
const
GaussianPrimitiveOrbital
*
m_primitiveC
;
49
const
GaussianPrimitiveOrbital
*
m_primitiveD
;
50
};
51
52
#endif // GAUSSIANTYPEELECTRONINTERACTIONINTEGRAL_H
Generated on Sun Jun 22 2014 14:02:46 for Kindfield by
1.8.4