This class provides the structure for all Exc functionals that can be written as a combination of functional of Single Slater determinant that results in a non-multiplicative potential plus a remainder functional dependent on density and Tau.
More...
|
| ExcSSDFunctionalBaseClass (const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::vector< DensityDescriptorDataAttributes > &densityDescriptorAttributesList) |
|
| ExcSSDFunctionalBaseClass (const ExcFamilyType excFamType, const densityFamilyType densityFamType, const std::vector< DensityDescriptorDataAttributes > &densityDescriptorAttributesList, const std::vector< WfcDescriptorDataAttributes > &wfcDescriptorAttributesList) |
|
virtual | ~ExcSSDFunctionalBaseClass () |
|
const std::vector< DensityDescriptorDataAttributes > & | getDensityDescriptorAttributesList () const |
|
densityFamilyType | getDensityBasedFamilyType () const |
|
virtual void | applyWaveFunctionDependentFuncDerWrtPsi (const dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const dftfe::uInt inputVecSize, const dftfe::uInt kPointIndex, const dftfe::uInt spinIndex)=0 |
|
virtual void | applyWaveFunctionDependentFuncDerWrtPsi (const dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &src, dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &dst, const dftfe::uInt inputVecSize, const dftfe::uInt kPointIndex, const dftfe::uInt spinIndex)=0 |
|
virtual void | updateWaveFunctionDependentFuncDerWrtPsi (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrixPtr, const std::vector< double > &kPointWeights)=0 |
|
virtual void | computeWaveFunctionDependentExcEnergy (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrix, const std::vector< double > &kPointWeights)=0 |
|
virtual double | getWaveFunctionDependentExcEnergy ()=0 |
|
virtual double | getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi ()=0 |
|
virtual void | computeRhoTauDependentXCData (AuxDensityMatrix< memorySpace > &auxDensityMatrix, const std::pair< dftfe::uInt, dftfe::uInt > &quadIndexRange, std::unordered_map< xcRemainderOutputDataAttributes, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &xDataOut, std::unordered_map< xcRemainderOutputDataAttributes, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &cDataout) const =0 |
|
ExcFamilyType | getExcFamilyType () const |
|
virtual void | checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const =0 |
|
virtual void | reinitKPointDependentVariables (dftfe::uInt kPointIndex)=0 |
|
This class provides the structure for all Exc functionals that can be written as a combination of functional of Single Slater determinant that results in a non-multiplicative potential plus a remainder functional dependent on density and Tau.
Exc = S{\phi} + R [\rho, \tau]
- Author
- Vishal Subramanian, Sambit Das