Sets up and solves the recurrence relations for R used in the Coulomb integrals.
More...
#include <hermiteintegral.h>
Sets up and solves the recurrence relations for R used in the Coulomb integrals.
Definition at line 12 of file hermiteintegral.h.
HermiteIntegral::HermiteIntegral |
( |
int |
dimensionMax) | |
|
const cube & HermiteIntegral::operator() |
( |
const uword |
row) | |
const |
|
inline |
cube & HermiteIntegral::operator() |
( |
const uword |
row) | |
|
|
inline |
double HermiteIntegral::operator() |
( |
const uword |
n, |
|
|
const uword |
t, |
|
|
const uword |
u, |
|
|
const uword |
v |
|
) |
| const |
|
inline |
const cube & HermiteIntegral::operator[] |
( |
const uword |
row) | |
const |
|
inline |
cube & HermiteIntegral::operator[] |
( |
const uword |
row) | |
|
|
inline |
void HermiteIntegral::reset |
( |
int |
dimension) | |
|
Definition at line 19 of file hermiteintegral.cpp.
26 m_R.set_size(nMax + 1);
27 for(
int n = 0; n <= nMax; n++) {
28 m_R(n) = zeros(tMax + 1, tMax + 1, tMax + 1);
void HermiteIntegral::set |
( |
double |
alpha, |
|
|
const Vector3 & |
A, |
|
|
int |
t, |
|
|
int |
u, |
|
|
int |
v |
|
) |
| |
void HermiteIntegral::setupR |
( |
int |
t, |
|
|
int |
u, |
|
|
int |
v |
|
) |
| |
Definition at line 40 of file hermiteintegral.cpp.
44 int tuvSumMax = tin + uin + vin;
45 int nMax = tin + uin + vin;
50 for(
int n = 1; n <= nMax; n++) {
55 for(
int tuvSum = 1; tuvSum <= tuvSumMax; tuvSum++) {
56 for(
int n = 0; n <= nMax - tuvSum; n++) {
57 for(
int t = 0; t <= tin; t++) {
58 for(
int u = 0; u <= uin; u++) {
59 for(
int v = 0; v <= vin; v++) {
60 if(t + u + v != tuvSum || t + u + v == 0) {
63 int largestElement = max(t,max(u,v));
73 double factor3 = PC(0);
75 if(largestElement == t) {
80 }
else if(largestElement == u) {
91 double currentValue = 0;
92 if(t2 >= 0 && u2 >= 0 && v2 >= 0) {
93 currentValue += factor2 *
m_R(n+1)(t2, u2, v2);
95 if(t3 >= 0 && u3 >= 0 && v3 >= 0) {
96 currentValue += factor3 *
m_R(n+1)(t3, u3, v3);
98 m_R(n)(t, u, v) = currentValue;
double HermiteIntegral::m_alpha |
|
protected |
int HermiteIntegral::m_dimensionMax |
|
protected |
field<cube> HermiteIntegral::m_R |
|
protected |
The documentation for this class was generated from the following files:
- /home/svenni/Dropbox/projects/programming/hartree-fock/hartree-fock/src/hermiteintegral.h
- /home/svenni/Dropbox/projects/programming/hartree-fock/hartree-fock/src/math/hermiteintegral.cpp