DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::ExcDensityGGAClass< memorySpace > Class Template Reference

#include <ExcDensityGGAClass.h>

Inheritance diagram for dftefe::ksdft::ExcDensityGGAClass< memorySpace >:
Collaboration diagram for dftefe::ksdft::ExcDensityGGAClass< memorySpace >:

Public Member Functions

 ExcDensityGGAClass (std::shared_ptr< xc_func_type > &funcXPtr, std::shared_ptr< xc_func_type > &funcCPtr, std::string XCType)
 
 ~ExcDensityGGAClass ()
 
void checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const override
 
- Public Member Functions inherited from dftefe::ksdft::ExcSSDFunctionalBaseClass< memorySpace >
 ExcSSDFunctionalBaseClass (const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::set< dftefe::ksdft::DensityDescrAttr > &densityDescrAttrs)
 
 ExcSSDFunctionalBaseClass (const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::set< dftefe::ksdft::DensityDescrAttr > &densityDescrAttrs, const std::set< dftefe::ksdft::WfcDescrAttr > &wfcDescrAttrs)
 
virtual ~ExcSSDFunctionalBaseClass ()
 
const std::set< dftefe::ksdft::DensityDescrAttr > & getDensityDescriptorAttributesList () const
 
densityFamilyType getDensityBasedFamilyType () const
 
virtual void computeRhoTauDependentXCData (const std::unordered_map< dftefe::ksdft::DensityDescrAttr, AttrStorage > &densityAttrVals, const std::unordered_map< dftefe::ksdft::WfcDescrAttr, AttrStorage > &wfcAttrVals, std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &xDataOut, std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &cDataOut) const =0
 Pure virtual. Call directly when you have pre-built density maps (e.g. from non-spin-polarized RDM1 split as ρ↑ = ρ↓ = ρ/2). More...
 
ExcFamilyType getExcFamilyType () const
 
virtual void checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const =0
 

Private Member Functions

void computeRhoTauDependentXCData (const std::unordered_map< dftefe::ksdft::DensityDescrAttr, std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > > &densityAttrVals, const std::unordered_map< dftefe::ksdft::WfcDescrAttr, std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > > &wfcAttrVals, std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &xDataOut, std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &cDataout) const override
 Pure virtual. Call directly when you have pre-built density maps (e.g. from non-spin-polarized RDM1 split as ρ↑ = ρ↓ = ρ/2). More...
 

Private Attributes

std::shared_ptr< xc_func_type > d_funcXPtr
 
std::shared_ptr< xc_func_type > d_funcCPtr
 
std::string d_XCType
 

Additional Inherited Members

- Public Types inherited from dftefe::ksdft::ExcSSDFunctionalBaseClass< memorySpace >
using AttrStorage = std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > >
 
- Protected Attributes inherited from dftefe::ksdft::ExcSSDFunctionalBaseClass< memorySpace >
const std::set< dftefe::ksdft::DensityDescrAttrd_densityDescrAttrs
 
const std::set< dftefe::ksdft::WfcDescrAttrd_wfcDescrAttrs
 
ExcFamilyType d_ExcFamilyType
 
densityFamilyType d_densityFamilyType
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_densityValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_sigmaValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_tauValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexDensityValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecDensityValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexTauValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecTauValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_exValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_ecValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexDensitySpinUpValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexDensitySpinDownValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecDensitySpinUpValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecDensitySpinDownValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexSigmaValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecSigmaValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexTauSpinUpValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdexTauSpinDownValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecTauSpinUpValues
 
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOSTs_pdecTauSpinDownValues
 

Constructor & Destructor Documentation

◆ ExcDensityGGAClass()

template<dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::ExcDensityGGAClass< memorySpace >::ExcDensityGGAClass ( std::shared_ptr< xc_func_type > &  funcXPtr,
std::shared_ptr< xc_func_type > &  funcCPtr,
std::string  XCType 
)

◆ ~ExcDensityGGAClass()

Member Function Documentation

◆ checkInputOutputDataAttributesConsistency()

template<dftefe::utils::MemorySpace memorySpace>
void dftefe::ksdft::ExcDensityGGAClass< memorySpace >::checkInputOutputDataAttributesConsistency ( const std::vector< xcRemainderOutputDataAttributes > &  outputDataAttributes) const
overridevirtual

Implements dftefe::ksdft::ExcSSDFunctionalBaseClass< memorySpace >.

Here is the call graph for this function:

◆ computeRhoTauDependentXCData()

template<dftefe::utils::MemorySpace memorySpace>
void dftefe::ksdft::ExcDensityGGAClass< memorySpace >::computeRhoTauDependentXCData ( const std::unordered_map< dftefe::ksdft::DensityDescrAttr, std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > > &  densityAttrVals,
const std::unordered_map< dftefe::ksdft::WfcDescrAttr, std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > > &  wfcAttrVals,
std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &  xDataOut,
std::unordered_map< xcRemainderOutputDataAttributes, dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > &  cDataOut 
) const
overrideprivatevirtual

Pure virtual. Call directly when you have pre-built density maps (e.g. from non-spin-polarized RDM1 split as ρ↑ = ρ↓ = ρ/2).

Implements dftefe::ksdft::ExcSSDFunctionalBaseClass< memorySpace >.

Here is the call graph for this function:

Member Data Documentation

◆ d_funcCPtr

template<dftefe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftefe::ksdft::ExcDensityGGAClass< memorySpace >::d_funcCPtr
private

◆ d_funcXPtr

template<dftefe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftefe::ksdft::ExcDensityGGAClass< memorySpace >::d_funcXPtr
private

◆ d_XCType

template<dftefe::utils::MemorySpace memorySpace>
std::string dftefe::ksdft::ExcDensityGGAClass< memorySpace >::d_XCType
private

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