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
hydrogen
hydrogenmolecule.h
Go to the documentation of this file.
1
#ifndef HYDROGENMOLECULE_H
2
#define HYDROGENMOLECULE_H
3
4
#include <
electronsystems/electronsystem.h
>
5
6
#include <armadillo>
7
#include <fstream>
8
9
using namespace
arma;
10
11
class
HydrogenMolecule
:
public
ElectronSystem
12
{
13
public
:
14
HydrogenMolecule
(
double
distance = 1.4);
15
virtual
~
HydrogenMolecule
();
16
17
virtual
double
coupledIntegral(
int
p,
int
q,
int
r,
int
s);
18
virtual
double
kineticIntegral(
int
p,
int
q);
19
virtual
double
nuclearAttractionIntegral(
int
p,
int
q);
20
virtual
double
overlapIntegral(
int
p,
int
q);
21
22
virtual
uint nBasisFunctions();
23
virtual
uint nParticles();
24
25
mat
R
;
26
27
rowvec
alpha
;
28
29
// Constants to be precalculated
30
const
double
powPi5over2 = pow(M_PI, 5./2.);
31
double
boysFunction(
double
arg);
32
33
virtual
double
additionalEnergyTerms();
34
private
:
35
int
nNuclei = 2;
36
int
nOrbitalsPerNuclei = 4;
37
38
// ElectronSystem interface
39
public
:
40
double
uncoupledIntegral(
int
p,
int
q);
41
};
42
43
inline
uint
HydrogenMolecule::nParticles
() {
44
return
2;
45
}
46
47
inline
uint
HydrogenMolecule::nBasisFunctions
()
48
{
49
return
nNuclei * nOrbitalsPerNuclei;
50
}
51
52
#endif // HYDROGENMOLECULE_H
Generated on Sun Jun 22 2014 14:02:46 for Kindfield by
1.8.4