Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
Public Member Functions | List of all members
ElectronSystem Class Referenceabstract

Base class for any type of electronic system. More...

#include <electronsystem.h>

Inheritance diagram for ElectronSystem:
Inheritance graph
[legend]

Public Member Functions

 ElectronSystem ()
 
virtual double coupledIntegral (int p, int r, int q, int s)=0
 
virtual double uncoupledIntegral (int p, int q)=0
 
virtual double overlapIntegral (int p, int q)=0
 
virtual uint nBasisFunctions ()=0
 
virtual uint nParticles ()=0
 
virtual uint nParticlesUp ()
 
virtual uint nParticlesDown ()
 
virtual double additionalEnergyTerms ()=0
 
void setNParticlesDown (uint nParticlesDown)
 

Detailed Description

Base class for any type of electronic system.

Definition at line 8 of file electronsystem.h.

Constructor & Destructor Documentation

ElectronSystem::ElectronSystem ( )

Definition at line 8 of file electronsystem.cpp.

8  :
9  m_nParticlesDownSet(false),
10  m_nParticlesDown(0)
11 {
12 }

Member Function Documentation

virtual double ElectronSystem::additionalEnergyTerms ( )
pure virtual
virtual double ElectronSystem::coupledIntegral ( int  p,
int  r,
int  q,
int  s 
)
pure virtual
virtual uint ElectronSystem::nBasisFunctions ( )
pure virtual
virtual uint ElectronSystem::nParticles ( )
pure virtual
uint ElectronSystem::nParticlesDown ( )
virtual

Definition at line 18 of file electronsystem.cpp.

18  {
19  if(m_nParticlesDownSet) {
20  if(m_nParticlesDown > nParticles()) {
21  std::cerr << "Error: More particles set to down than the number of particles in the system." << std::endl;
22  throw std::logic_error("");
23  }
24  return m_nParticlesDown;
25  } else {
26  return nParticles() / 2;
27  }
28 }
uint ElectronSystem::nParticlesUp ( )
virtual

Definition at line 14 of file electronsystem.cpp.

14  {
15  return nParticles() - nParticlesDown();
16 }
virtual double ElectronSystem::overlapIntegral ( int  p,
int  q 
)
pure virtual
void ElectronSystem::setNParticlesDown ( uint  nParticlesDown)

Definition at line 30 of file electronsystem.cpp.

31 {
32  if(nParticlesDown > nParticles()) {
33  std::cout << "WARNING: The number of particles set to down is currently more than the number of particles in the system." << std::endl;
34  }
35  m_nParticlesDown = nParticlesDown;
36  m_nParticlesDownSet = true;
37 }
virtual double ElectronSystem::uncoupledIntegral ( int  p,
int  q 
)
pure virtual

The documentation for this class was generated from the following files: