18#ifndef DFTEFE_EXCSSDFUNCTIONALBASECLASS_H
19#define DFTEFE_EXCSSDFUNCTIONALBASECLASS_H
26#include <unordered_map>
92 template <dftefe::utils::MemorySpace memorySpace>
102 const std::set<dftefe::ksdft::DensityDescrAttr> &densityDescrAttrs);
107 const std::set<dftefe::ksdft::DensityDescrAttr> &densityDescrAttrs,
108 const std::set<dftefe::ksdft::WfcDescrAttr> & wfcDescrAttrs);
112 const std::set<dftefe::ksdft::DensityDescrAttr> &
124 const std::unordered_map<dftefe::ksdft::DensityDescrAttr, AttrStorage>
126 const std::unordered_map<dftefe::ksdft::WfcDescrAttr, AttrStorage>
137 &cDataOut)
const = 0;
144 const std::vector<xcRemainderOutputDataAttributes>
145 &outputDataAttributes)
const = 0;
This class provides the structure for all Exc functionals that can be written as a combination of fun...
Definition: ExcSSDFunctionalBaseClass.h:94
ExcFamilyType d_ExcFamilyType
Definition: ExcSSDFunctionalBaseClass.h:151
virtual void checkInputOutputDataAttributesConsistency(const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const =0
const std::set< dftefe::ksdft::DensityDescrAttr > d_densityDescrAttrs
Definition: ExcSSDFunctionalBaseClass.h:148
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_ecValues
Definition: ExcSSDFunctionalBaseClass.h:165
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexSigmaValues
Definition: ExcSSDFunctionalBaseClass.h:167
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecSigmaValues
Definition: ExcSSDFunctionalBaseClass.h:167
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_sigmaValues
Definition: ExcSSDFunctionalBaseClass.h:156
const std::set< dftefe::ksdft::WfcDescrAttr > d_wfcDescrAttrs
Definition: ExcSSDFunctionalBaseClass.h:149
densityFamilyType getDensityBasedFamilyType() const
Definition: ExcSSDFunctionalBaseClass.t.cpp:61
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexTauSpinDownValues
Definition: ExcSSDFunctionalBaseClass.h:168
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexDensitySpinUpValues
Definition: ExcSSDFunctionalBaseClass.h:165
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 s...
std::vector< dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > > AttrStorage
Definition: ExcSSDFunctionalBaseClass.h:97
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_densityValues
Definition: ExcSSDFunctionalBaseClass.h:156
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecTauSpinUpValues
Definition: ExcSSDFunctionalBaseClass.h:168
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_exValues
Definition: ExcSSDFunctionalBaseClass.h:165
const std::set< dftefe::ksdft::DensityDescrAttr > & getDensityDescriptorAttributesList() const
Definition: ExcSSDFunctionalBaseClass.t.cpp:68
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecTauValues
Definition: ExcSSDFunctionalBaseClass.h:161
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_tauValues
Definition: ExcSSDFunctionalBaseClass.h:156
virtual ~ExcSSDFunctionalBaseClass()
Definition: ExcSSDFunctionalBaseClass.t.cpp:49
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexTauValues
Definition: ExcSSDFunctionalBaseClass.h:160
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexDensityValues
Definition: ExcSSDFunctionalBaseClass.h:160
densityFamilyType d_densityFamilyType
Definition: ExcSSDFunctionalBaseClass.h:152
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecDensityValues
Definition: ExcSSDFunctionalBaseClass.h:160
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecTauSpinDownValues
Definition: ExcSSDFunctionalBaseClass.h:169
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexDensitySpinDownValues
Definition: ExcSSDFunctionalBaseClass.h:166
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecDensitySpinUpValues
Definition: ExcSSDFunctionalBaseClass.h:166
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdecDensitySpinDownValues
Definition: ExcSSDFunctionalBaseClass.h:167
ExcFamilyType getExcFamilyType() const
Definition: ExcSSDFunctionalBaseClass.t.cpp:54
dftefe::utils::MemoryStorage< double, dftefe::utils::MemorySpace::HOST > s_pdexTauSpinUpValues
Definition: ExcSSDFunctionalBaseClass.h:168
Definition: MemoryStorage.h:38
densityFamilyType
Definition: ExcSSDFunctionalBaseClass.h:52
ExcFamilyType
Definition: ExcSSDFunctionalBaseClass.h:35
xcRemainderOutputDataAttributes
Definition: ExcSSDFunctionalBaseClass.h:63
dealii includes
Definition: AtomFieldDataSpherical.cpp:31