17#ifndef DFTFE_EXCDENSITYGGACLASS_H
18#define DFTFE_EXCDENSITYGGACLASS_H
25 template <dftfe::utils::MemorySpace memorySpace>
30 std::shared_ptr<xc_func_type> funcCPtr);
34 std::shared_ptr<xc_func_type> funcCPtr,
35 std::string modelXCInputFile);
43 const std::vector<double> & quadPoints,
47 &cDataout)
const override;
51 const std::vector<xcRemainderOutputDataAttributes> &outputDataAttributes)
59 const unsigned int inputVecSize,
60 const unsigned int kPointIndex,
61 const unsigned int spinIndex)
override;
79 const unsigned int inputVecSize,
80 const unsigned int kPointIndex,
81 const unsigned int spinIndex)
override;
86 const std::vector<double> &kPointWeights)
override;
90 const std::vector<double> &kPointWeights)
override;
Definition AuxDensityMatrix.h:33
ExcSSDFunctionalBaseClass(const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::vector< DensityDescriptorDataAttributes > &densityDescriptorAttributesList)
Definition ExcSSDFunctionalBaseClass.t.cc:25
unsigned int d_vxcDivergenceTermFDStencilSize
Definition excDensityGGAClass.h:106
void checkInputOutputDataAttributesConsistency(const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const override
NNGGA * d_NNGGAPtr
Definition excDensityGGAClass.h:102
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
std::shared_ptr< xc_func_type > d_funcCPtr
Definition excDensityGGAClass.h:104
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)
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
std::vector< double > d_spacingFDStencil
Definition excDensityGGAClass.h:105
std::shared_ptr< xc_func_type > d_funcXPtr
Definition excDensityGGAClass.h:103
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 reinitKPointDependentVariables(unsigned int kPointIndex) override
double getWaveFunctionDependentExcEnergy() 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
double getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi() override
An class template to encapsulate a MultiVector. A MultiVector is a collection of vectors belonging t...
Definition MultiVector.h:127
float numberFP32
Definition dftfeDataTypes.h:45
Definition pseudoPotentialToDftfeConverter.cc:34
xcRemainderOutputDataAttributes
Definition ExcSSDFunctionalBaseClass.h:51