Kindfield
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Properties
Friends
Pages
src
electronsystems
helium
heliumhartree.cpp
Go to the documentation of this file.
1
#include "
heliumhartree.h
"
2
10
Helium::Helium
()
11
{
12
alpha
= zeros(4);
13
alpha
(0) = 0.298073;
14
alpha
(1) = 1.242567;
15
alpha
(2) = 5.782948;
16
alpha
(3) = 38.474970;
17
}
18
19
double
Helium::coupledIntegral
(
int
p,
int
r,
int
q,
int
s) {
20
double
denominator = (
alpha
(p) +
alpha
(q))*(
alpha
(r) +
alpha
(s))*sqrt(
alpha
(p) +
alpha
(q) +
alpha
(r) +
alpha
(s));
21
return
2 *
powPi5over2
/ denominator;
22
}
23
31
double
Helium::kineticIntegral
(
int
p,
int
q) {
32
double
alpha_p =
alpha
(p);
33
double
alpha_q =
alpha
(q);
34
return
3*pow(M_PI, 3.0/2.0)*alpha_q/(pow(alpha_p, 3.0/2.0)*pow(1 + alpha_q/alpha_p, 5.0/2.0));
35
}
36
44
double
Helium::nuclearAttractionIntegral
(
int
p,
int
q) {
45
double
alpha_p =
alpha
(p);
46
double
alpha_q =
alpha
(q);
47
return
-4*M_PI/(alpha_p*(1 + alpha_q/alpha_p));
48
}
49
50
double
Helium::overlapIntegral
(
int
p,
int
q) {
51
double
alpha_p =
alpha
(p);
52
double
alpha_q =
alpha
(q);
53
return
pow(M_PI, 3.0/2.0)/(pow(alpha_p, 3.0/2.0)*pow(1 + alpha_q/alpha_p, 3.0/2.0));
54
}
55
56
double
Helium::additionalEnergyTerms
()
57
{
58
return
0;
59
}
60
61
uint
Helium::nBasisFunctions
()
62
{
63
return
4;
64
}
65
66
67
double
Helium::uncoupledIntegral
(
int
p,
int
q)
68
{
69
return
kineticIntegral
(p,q) +
nuclearAttractionIntegral
(p,q);
70
}
Generated on Sun Jun 22 2014 14:02:46 for Kindfield by
1.8.4