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) |
|
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 unsigned int inputVecSize, const unsigned int kPointIndex, const unsigned int spinIndex)=0 |
|
virtual 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)=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::vector< double > &quadPoints, std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > &xDataOut, std::unordered_map< xcRemainderOutputDataAttributes, std::vector< double > > &cDataout) const =0 |
|
ExcFamilyType | getExcFamilyType () const |
|
virtual void | checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const =0 |
|
virtual void | reinitKPointDependentVariables (unsigned int 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