DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::excDensityGGAClass< memorySpace > Class Template Reference

#include <excDensityGGAClass.h>

Inheritance diagram for dftfe::excDensityGGAClass< memorySpace >:
dftfe::ExcSSDFunctionalBaseClass< memorySpace >

Public Member Functions

 excDensityGGAClass (std::shared_ptr< xc_func_type > funcXPtr, std::shared_ptr< xc_func_type > funcCPtr)
 
 excDensityGGAClass (std::shared_ptr< xc_func_type > funcXPtr, std::shared_ptr< xc_func_type > funcCPtr, std::string modelXCInputFile)
 
 ~excDensityGGAClass ()
 
void computeRhoTauDependentXCData (AuxDensityMatrix< memorySpace > &auxDensityMatrix, const std::vector< double > &quadPoints, std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > &xDataOut, std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > &cDataout) const override
 
void checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const override
 
void applyWaveFunctionDependentFuncDerWrtPsi (const dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const unsigned int inputVecSize, const unsigned int kPointIndex, const unsigned int spinIndex) override
 
void applyWaveFunctionDependentFuncDerWrtPsi (const dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &src, dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &dst, const unsigned int inputVecSize, const unsigned int kPointIndex, const unsigned int spinIndex) override
 
void updateWaveFunctionDependentFuncDerWrtPsi (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrixPtr, const std::vector< double > &kPointWeights) override
 
void computeWaveFunctionDependentExcEnergy (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrix, const std::vector< double > &kPointWeights) override
 
double getWaveFunctionDependentExcEnergy () override
 
double getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi () override
 
void reinitKPointDependentVariables (unsigned int kPointIndex) override
 
- Public Member Functions inherited from dftfe::ExcSSDFunctionalBaseClass< memorySpace >
 ExcSSDFunctionalBaseClass (const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::vector< DensityDescriptorDataAttributes > &densityDescriptorAttributesList)
 
virtual ~ExcSSDFunctionalBaseClass ()
 
const std::vector< DensityDescriptorDataAttributes > & getDensityDescriptorAttributesList () const
 
densityFamilyType getDensityBasedFamilyType () const
 
ExcFamilyType getExcFamilyType () const
 

Private Attributes

NNGGA * d_NNGGAPtr
 
std::shared_ptr< xc_func_type > d_funcXPtr
 
std::shared_ptr< xc_func_type > d_funcCPtr
 
std::vector< double > d_spacingFDStencil
 
unsigned int d_vxcDivergenceTermFDStencilSize
 

Additional Inherited Members

- Protected Attributes inherited from dftfe::ExcSSDFunctionalBaseClass< memorySpace >
const std::vector< DensityDescriptorDataAttributesd_densityDescriptorAttributesList
 
ExcFamilyType d_ExcFamilyType
 
densityFamilyType d_densityFamilyType
 

Constructor & Destructor Documentation

◆ excDensityGGAClass() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excDensityGGAClass< memorySpace >::excDensityGGAClass ( std::shared_ptr< xc_func_type > funcXPtr,
std::shared_ptr< xc_func_type > funcCPtr )

◆ excDensityGGAClass() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excDensityGGAClass< memorySpace >::excDensityGGAClass ( std::shared_ptr< xc_func_type > funcXPtr,
std::shared_ptr< xc_func_type > funcCPtr,
std::string modelXCInputFile )

◆ ~excDensityGGAClass()

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excDensityGGAClass< memorySpace >::~excDensityGGAClass ( )

Member Function Documentation

◆ applyWaveFunctionDependentFuncDerWrtPsi() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::applyWaveFunctionDependentFuncDerWrtPsi ( const dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > & src,
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > & dst,
const unsigned int inputVecSize,
const unsigned int kPointIndex,
const unsigned int spinIndex )
overridevirtual

◆ applyWaveFunctionDependentFuncDerWrtPsi() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::applyWaveFunctionDependentFuncDerWrtPsi ( const dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > & src,
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > & dst,
const unsigned int inputVecSize,
const unsigned int kPointIndex,
const unsigned int spinIndex )
overridevirtual

◆ checkInputOutputDataAttributesConsistency()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::checkInputOutputDataAttributesConsistency ( const std::vector< xcRemainderOutputDataAttributes > & outputDataAttributes) const
overridevirtual

◆ computeRhoTauDependentXCData()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::computeRhoTauDependentXCData ( AuxDensityMatrix< memorySpace > & auxDensityMatrix,
const std::vector< double > & quadPoints,
std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > & xDataOut,
std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > & cDataout ) const
overridevirtual

x and c denotes exchange and correlation respectively. This function computes the rho and tau dependent part of the Exc functional energy density and its partial derivatives

Implements dftfe::ExcSSDFunctionalBaseClass< memorySpace >.

◆ computeWaveFunctionDependentExcEnergy()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::computeWaveFunctionDependentExcEnergy ( const std::shared_ptr< AuxDensityMatrix< memorySpace > > & auxDensityMatrix,
const std::vector< double > & kPointWeights )
overridevirtual

◆ getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi()

template<dftfe::utils::MemorySpace memorySpace>
double dftfe::excDensityGGAClass< memorySpace >::getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi ( )
overridevirtual

◆ getWaveFunctionDependentExcEnergy()

template<dftfe::utils::MemorySpace memorySpace>
double dftfe::excDensityGGAClass< memorySpace >::getWaveFunctionDependentExcEnergy ( )
overridevirtual

◆ reinitKPointDependentVariables()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::reinitKPointDependentVariables ( unsigned int kPointIndex)
overridevirtual

◆ updateWaveFunctionDependentFuncDerWrtPsi()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excDensityGGAClass< memorySpace >::updateWaveFunctionDependentFuncDerWrtPsi ( const std::shared_ptr< AuxDensityMatrix< memorySpace > > & auxDensityMatrixPtr,
const std::vector< double > & kPointWeights )
overridevirtual

Member Data Documentation

◆ d_funcCPtr

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftfe::excDensityGGAClass< memorySpace >::d_funcCPtr
private

◆ d_funcXPtr

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftfe::excDensityGGAClass< memorySpace >::d_funcXPtr
private

◆ d_NNGGAPtr

template<dftfe::utils::MemorySpace memorySpace>
NNGGA* dftfe::excDensityGGAClass< memorySpace >::d_NNGGAPtr
private

◆ d_spacingFDStencil

template<dftfe::utils::MemorySpace memorySpace>
std::vector<double> dftfe::excDensityGGAClass< memorySpace >::d_spacingFDStencil
private

◆ d_vxcDivergenceTermFDStencilSize

template<dftfe::utils::MemorySpace memorySpace>
unsigned int dftfe::excDensityGGAClass< memorySpace >::d_vxcDivergenceTermFDStencilSize
private

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