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
gaussian
gaussiansystem.h
Go to the documentation of this file.
1
#ifndef GAUSSIANSYSTEM_H
2
#define GAUSSIANSYSTEM_H
3
4
#include <
electronsystems/electronsystem.h
>
5
#include <
electronsystems/gaussian/gaussiancore.h
>
6
#include <
basisfunctions/gaussian/gaussiancontractedorbital.h
>
7
#include <
basisfunctions/gaussian/integrals/gaussianelectroninteractionintegral.h
>
8
#include <
basisfunctions/gaussian/integrals/gaussiankineticintegral.h
>
9
#include <
basisfunctions/gaussian/integrals/gaussianoverlapintegral.h
>
10
#include <
basisfunctions/gaussian/integrals/gaussiancoloumbattractionintegral.h
>
11
12
class
Vector3
;
13
14
class
GaussianSystem
:
public
ElectronSystem
15
{
16
public
:
17
GaussianSystem
();
18
19
// ElectronSystem interface
20
public
:
21
virtual
double
coupledIntegral
(
int
p,
int
q,
int
r,
int
s);
22
virtual
double
uncoupledIntegral
(
int
p,
int
q);
23
virtual
double
overlapIntegral
(
int
p,
int
q);
24
virtual
uint
nBasisFunctions
();
25
virtual
uint
nParticles
();
26
virtual
double
additionalEnergyTerms
();
27
28
// double particleDensity(double x, double y, double z);
29
double
corePotential
(
const
Vector3
&position);
30
double
electronDensity
(
const
mat &C,
const
Vector3
&position)
const
;
31
rowvec
orbitalDensities
(
const
mat &C,
const
Vector3
&position)
const
;
32
void
addCore
(
const
GaussianCore
& core);
33
// double orbitalDensity(uint orbital, const mat &C, double x, double y, double z) const;
34
double
electronPotential
(
const
mat &C,
const
Vector3
position);
35
double
electronPotential
(uint p, uint q,
const
Vector3
&position);
36
double
electrostaticPotential
(
const
Vector3
&position);
37
double
electrostaticPotential
(
const
mat &C,
const
Vector3
&position);
38
protected
:
39
void
setAngularMomentumMax
(
int
angularMomentumMax);
40
private
:
41
uint m_nParticles;
42
uint m_nBasisFunctions;
43
int
m_angularMomentumMax;
44
// vector<double> m_coreCharges;
45
46
vector<GaussianCore> m_cores;
47
vector<GaussianContractedOrbital> m_basisFunctions;
48
// vector<Vector3> m_corePositions;
49
GaussianOverlapIntegral
m_overlapIntegral;
50
GaussianKineticIntegral
m_kineticIntegral;
51
GaussianColoumbAttractionIntegral
m_coulombIntegral;
52
GaussianElectronInteractionIntegral
m_electronInteractionIntegral;
53
};
54
55
#endif // GAUSSIANSYSTEM_H
Generated on Sun Jun 22 2014 14:02:46 for Kindfield by
1.8.4