DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::FractionalOccupancyFunction Class Reference

#include <FractionalOccupancyFunction.h>

Inheritance diagram for dftefe::ksdft::FractionalOccupancyFunction:
Collaboration diagram for dftefe::ksdft::FractionalOccupancyFunction:

Public Member Functions

 FractionalOccupancyFunction (const std::vector< double > &eigenValues, const size_type numElectrons, const double kb, const double T, const double initialGuess)
 Constructor. More...
 
 ~FractionalOccupancyFunction ()=default
 
const double getValue (double &x) const override
 
const double getForce (double &x) const override
 
void setSolution (const double &x) override
 
void getSolution (double &solution) override
 
const double & getInitialGuess () const override
 
const double getLowerBound () const override
 Lower end of an interval known to bracket the root, i.e. getValue(getLowerBound()) and getValue(getUpperBound()) must have opposite signs (or one of them exactly zero). More...
 
const double getUpperBound () const override
 Upper end of the bracketing interval. See getLowerBound(). More...
 
- Public Member Functions inherited from dftefe::linearAlgebra::NewtonRaphsonSolverFunction< double >
virtual ~NewtonRaphsonSolverFunction ()=default
 
virtual const double getValue (double &x) const=0
 
virtual const double getForce (double &x) const=0
 
virtual void setSolution (const double &x)=0
 
virtual void getSolution (double &solution)=0
 
virtual const double & getInitialGuess () const=0
 
- Public Member Functions inherited from dftefe::linearAlgebra::BisectionSolverFunction< double >
virtual ~BisectionSolverFunction ()=default
 
virtual const double getValue (double &x) const=0
 
virtual void setSolution (const double &x)=0
 
virtual void getSolution (double &solution)=0
 
virtual const double getLowerBound () const=0
 Lower end of an interval known to bracket the root, i.e. getValue(getLowerBound()) and getValue(getUpperBound()) must have opposite signs (or one of them exactly zero). More...
 
virtual const double getUpperBound () const=0
 Upper end of the bracketing interval. See getLowerBound(). More...
 

Private Member Functions

void computeBracket ()
 

Private Attributes

double d_x
 
double d_initialGuess
 
std::vector< double > d_eigenValues
 
size_type d_numElectrons
 
double d_kb
 
double d_T
 
double d_lowerBound
 
double d_upperBound
 

Constructor & Destructor Documentation

◆ FractionalOccupancyFunction()

dftefe::ksdft::FractionalOccupancyFunction::FractionalOccupancyFunction ( const std::vector< double > &  eigenValues,
const size_type  numElectrons,
const double  kb,
const double  T,
const double  initialGuess 
)

Constructor.

Here is the call graph for this function:

◆ ~FractionalOccupancyFunction()

dftefe::ksdft::FractionalOccupancyFunction::~FractionalOccupancyFunction ( )
default

Member Function Documentation

◆ computeBracket()

void dftefe::ksdft::FractionalOccupancyFunction::computeBracket ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getForce()

const double dftefe::ksdft::FractionalOccupancyFunction::getForce ( double &  x) const
overridevirtual

Implements dftefe::linearAlgebra::NewtonRaphsonSolverFunction< double >.

Here is the call graph for this function:

◆ getInitialGuess()

const double & dftefe::ksdft::FractionalOccupancyFunction::getInitialGuess ( ) const
overridevirtual

◆ getLowerBound()

const double dftefe::ksdft::FractionalOccupancyFunction::getLowerBound ( ) const
overridevirtual

Lower end of an interval known to bracket the root, i.e. getValue(getLowerBound()) and getValue(getUpperBound()) must have opposite signs (or one of them exactly zero).

Implements dftefe::linearAlgebra::BisectionSolverFunction< double >.

◆ getSolution()

void dftefe::ksdft::FractionalOccupancyFunction::getSolution ( double &  solution)
overridevirtual

◆ getUpperBound()

const double dftefe::ksdft::FractionalOccupancyFunction::getUpperBound ( ) const
overridevirtual

Upper end of the bracketing interval. See getLowerBound().

Implements dftefe::linearAlgebra::BisectionSolverFunction< double >.

◆ getValue()

const double dftefe::ksdft::FractionalOccupancyFunction::getValue ( double &  x) const
overridevirtual

Implements dftefe::linearAlgebra::BisectionSolverFunction< double >.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSolution()

void dftefe::ksdft::FractionalOccupancyFunction::setSolution ( const double &  x)
overridevirtual

Member Data Documentation

◆ d_eigenValues

std::vector<double> dftefe::ksdft::FractionalOccupancyFunction::d_eigenValues
private

◆ d_initialGuess

double dftefe::ksdft::FractionalOccupancyFunction::d_initialGuess
private

◆ d_kb

double dftefe::ksdft::FractionalOccupancyFunction::d_kb
private

◆ d_lowerBound

double dftefe::ksdft::FractionalOccupancyFunction::d_lowerBound
private

◆ d_numElectrons

size_type dftefe::ksdft::FractionalOccupancyFunction::d_numElectrons
private

◆ d_T

double dftefe::ksdft::FractionalOccupancyFunction::d_T
private

◆ d_upperBound

double dftefe::ksdft::FractionalOccupancyFunction::d_upperBound
private

◆ d_x

double dftefe::ksdft::FractionalOccupancyFunction::d_x
private

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