Deprecated test class for Hydrogen molecule system.
More...
#include <hydrogenmolecule.h>
Deprecated test class for Hydrogen molecule system.
- Deprecated:
Definition at line 11 of file hydrogenmolecule.h.
HydrogenMolecule::HydrogenMolecule |
( |
double |
distance = 1.4 ) | |
|
HydrogenMolecule::~HydrogenMolecule |
( |
) | |
|
|
virtual |
double HydrogenMolecule::additionalEnergyTerms |
( |
) | |
|
|
virtual |
double HydrogenMolecule::boysFunction |
( |
double |
arg) | |
|
double HydrogenMolecule::coupledIntegral |
( |
int |
p, |
|
|
int |
q, |
|
|
int |
r, |
|
|
int |
s |
|
) |
| |
|
virtual |
Implements ElectronSystem.
Definition at line 29 of file hydrogenmolecule.cpp.
30 int pIndex = p % nOrbitalsPerNuclei;
31 int qIndex = q % nOrbitalsPerNuclei;
32 int rIndex = r % nOrbitalsPerNuclei;
33 int sIndex = s % nOrbitalsPerNuclei;
35 int Rp = p / nOrbitalsPerNuclei;
36 int Rq = q / nOrbitalsPerNuclei;
37 int Rr = r / nOrbitalsPerNuclei;
38 int Rs = s / nOrbitalsPerNuclei;
41 double B = alpha[rIndex] + alpha[sIndex];
43 rowvec Ra = (alpha[pIndex]*
R.row(Rp) + alpha[qIndex]*
R.row(Rq))/A;
44 rowvec Rb = (alpha[rIndex]*
R.row(Rr) + alpha[sIndex]*
R.row(Rs))/B;
47 double t = (A*B/(A + B))*
dot(Ra-Rb,Ra-Rb);
double HydrogenMolecule::kineticIntegral |
( |
int |
p, |
|
|
int |
q |
|
) |
| |
|
virtual |
HartreeSolver::kineticIntegral is the solution of the the integral $$ | -{1}{2} ^2 | $$.
- Parameters
-
- Returns
Definition at line 78 of file hydrogenmolecule.cpp.
79 int pIndex = p % nOrbitalsPerNuclei;
80 int qIndex = q % nOrbitalsPerNuclei;
82 double ap =
alpha(pIndex);
83 double aq =
alpha(qIndex);
85 double factor = ap*aq/(ap+aq);
87 int RpIndex = p / nOrbitalsPerNuclei;
88 int RqIndex = q / nOrbitalsPerNuclei;
90 rowvec Rp =
R.row(RpIndex);
91 rowvec Rq =
R.row(RqIndex);
93 double Rpq =
dot(Rp-Rq,Rp-Rq);
94 double expTerm = exp(-factor*Rpq);
95 double kin = 0.5*factor*(6-4*factor*Rpq)*pow(acos(-1)/(ap+aq),3.0/2.0)*expTerm;
uint HydrogenMolecule::nBasisFunctions |
( |
) | |
|
|
inlinevirtual |
uint HydrogenMolecule::nParticles |
( |
) | |
|
|
inlinevirtual |
double HydrogenMolecule::nuclearAttractionIntegral |
( |
int |
p, |
|
|
int |
q |
|
) |
| |
|
virtual |
HartreeSolver::kineticIntegral is the solution of the the integral $$ | -{1}{2} ^2 | $$.
- Parameters
-
- Returns
Definition at line 107 of file hydrogenmolecule.cpp.
108 int pIndex = p % nOrbitalsPerNuclei;
109 int qIndex = q % nOrbitalsPerNuclei;
111 double ap =
alpha(pIndex);
112 double aq =
alpha(qIndex);
114 double factor = 1.0/(ap+aq);
116 int Rp = p / nOrbitalsPerNuclei;
117 int Rq = q / nOrbitalsPerNuclei;
120 double Rpq =
dot(
R.row(Rp)-
R.row(Rq),
R.row(Rp)-
R.row(Rq));
121 double expTerm = exp(-ap*aq*factor*Rpq);
123 rowvec Rmc = (ap*
R.row(Rp) + aq*
R.row(Rq))*factor;
129 double nucAtt = -2*Z*factor*acos(-1)*expTerm*(F0p+F0q);
double HydrogenMolecule::overlapIntegral |
( |
int |
p, |
|
|
int |
q |
|
) |
| |
|
virtual |
Implements ElectronSystem.
Definition at line 134 of file hydrogenmolecule.cpp.
135 int pIndex = p % nOrbitalsPerNuclei;
136 int qIndex = q % nOrbitalsPerNuclei;
138 double ap =
alpha(pIndex);
139 double aq =
alpha(qIndex);
141 double factor = 1.0/(ap+aq);
143 int RpIndex = p / nOrbitalsPerNuclei;
144 int RqIndex = q / nOrbitalsPerNuclei;
146 rowvec Rp =
R.row(RpIndex);
147 rowvec Rq =
R.row(RqIndex);
149 double Rpq =
dot(Rp-Rq,Rp-Rq);
150 double expTerm = exp(-ap*aq*factor*Rpq);
151 double overlap = pow(acos(-1)*factor,3.0/2.0)*expTerm;
double HydrogenMolecule::uncoupledIntegral |
( |
int |
p, |
|
|
int |
q |
|
) |
| |
|
virtual |
rowvec HydrogenMolecule::alpha |
const double HydrogenMolecule::powPi5over2 = pow(M_PI, 5./2.) |
The documentation for this class was generated from the following files:
- /home/svenni/Dropbox/projects/programming/hartree-fock/hartree-fock/src/electronsystems/hydrogen/hydrogenmolecule.h
- /home/svenni/Dropbox/projects/programming/hartree-fock/hartree-fock/src/electronsystems/hydrogen/hydrogenmolecule.cpp