QMCPACK
DFTAtom Class Reference
+ Inheritance diagram for DFTAtom:
+ Collaboration diagram for DFTAtom:

Public Member Functions

AtomType Type () override
 
void UpdateVHXC () override
 This function calculates the charge density, hartree and exchange potentials and places them in pot. More...
 
void CalcEnergies (double &kinetic, double &potential, double &hartree, double &XC) override
 
void Solve () override
 
void SolveInit ()
 
double SolveIter ()
 
void Write (IOSectionClass &out) override
 
void Read (IOSectionClass &in) override
 
void SetGrid (std::shared_ptr< Grid > &newGrid) override
 
void SetBarePot (Potential *pot) override
 
double rho (double r)
 
double Hartree1 (double r, double sum)
 
double Hartree2 (double r, double sum)
 
- Public Member Functions inherited from Atom
GridGetGrid ()
 
double NumElecs ()
 

Public Attributes

ScreenedPot V
 
double NewMix
 
- Public Attributes inherited from Atom
Array< RadialWF, 1 > RadialWFs
 

Private Member Functions

void UpdateChargeDensity ()
 
void UpdateHartree ()
 
void UpdateExCorr ()
 

Private Attributes

CubicSplineCommon ChargeDensity
 
CubicSplineCommon Hartree
 
CubicSplineCommon ExCorr
 
Array< double, 1 > temp
 
Array< double, 1 > temp2
 
PotentialBarePot
 
Array< double, 1 > OldEnergies
 

Additional Inherited Members

- Protected Attributes inherited from Atom
std::shared_ptr< Gridgrid
 

Detailed Description

Definition at line 21 of file DFTAtom.h.

Member Function Documentation

◆ CalcEnergies()

void CalcEnergies ( double &  kinetic,
double &  potential,
double &  hartree,
double &  XC 
)
inlineoverridevirtual

Implements Atom.

Definition at line 42 of file DFTAtom.h.

43  {
44  assert(0 && "unimplemented");
45  }

◆ Hartree1()

double Hartree1 ( double  r,
double  sum 
)
inline

Definition at line 60 of file DFTAtom.h.

References ChargeDensity, and rho().

61 {
62  double rho = ChargeDensity(r);
63  return (rho * r * r);
64 }
double rho(double r)
Definition: DFTAtom.h:54
CubicSplineCommon ChargeDensity
Definition: DFTAtom.h:24

◆ Hartree2()

double Hartree2 ( double  r,
double  sum 
)
inline

Definition at line 66 of file DFTAtom.h.

References ChargeDensity, and rho().

67 {
68  double rho = ChargeDensity(r);
69  return (rho * r);
70 }
double rho(double r)
Definition: DFTAtom.h:54
CubicSplineCommon ChargeDensity
Definition: DFTAtom.h:24

◆ Read()

void Read ( IOSectionClass in)
overridevirtual

Implements Atom.

◆ rho()

double rho ( double  r)
inline

Definition at line 54 of file DFTAtom.h.

References ChargeDensity.

Referenced by Hartree1(), and Hartree2().

54 { return ChargeDensity(r); }
CubicSplineCommon ChargeDensity
Definition: DFTAtom.h:24

◆ SetBarePot()

void SetBarePot ( Potential pot)
overridevirtual

Implements Atom.

◆ SetGrid()

void SetGrid ( std::shared_ptr< Grid > &  newGrid)
overridevirtual

Implements Atom.

◆ Solve()

void Solve ( )
overridevirtual

Implements Atom.

◆ SolveInit()

void SolveInit ( )

◆ SolveIter()

double SolveIter ( )

◆ Type()

AtomType Type ( )
overridevirtual

Implements Atom.

◆ UpdateChargeDensity()

void UpdateChargeDensity ( )
private

◆ UpdateExCorr()

void UpdateExCorr ( )
private

◆ UpdateHartree()

void UpdateHartree ( )
private

◆ UpdateVHXC()

void UpdateVHXC ( )
overridevirtual

This function calculates the charge density, hartree and exchange potentials and places them in pot.

Implements Atom.

◆ Write()

void Write ( IOSectionClass out)
overridevirtual

Implements Atom.

Member Data Documentation

◆ BarePot

Potential* BarePot
private

Definition at line 31 of file DFTAtom.h.

◆ ChargeDensity

CubicSplineCommon ChargeDensity
private

Definition at line 24 of file DFTAtom.h.

Referenced by Hartree1(), Hartree2(), and rho().

◆ ExCorr

CubicSplineCommon ExCorr
private

Definition at line 26 of file DFTAtom.h.

◆ Hartree

CubicSplineCommon Hartree
private

Definition at line 25 of file DFTAtom.h.

◆ NewMix

double NewMix

Definition at line 36 of file DFTAtom.h.

◆ OldEnergies

Array<double, 1> OldEnergies
private

Definition at line 32 of file DFTAtom.h.

◆ temp

Array<double, 1> temp
private

Definition at line 30 of file DFTAtom.h.

◆ temp2

Array<double, 1> temp2
private

Definition at line 30 of file DFTAtom.h.

◆ V

Definition at line 35 of file DFTAtom.h.


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