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 |
| |
|
| const std::vector< DensityDescriptorDataAttributes > | d_densityDescriptorAttributesList |
| |
| const std::vector< WfcDescriptorDataAttributes > | d_wfcDescriptorAttributesList |
| |
| ExcFamilyType | d_ExcFamilyType |
| |
| densityFamilyType | d_densityFamilyType |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_densityValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_sigmaValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_tauValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexDensityValuesNonNN |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecDensityValuesNonNN |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexTauValuesNonNN |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecTauValuesNonNN |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_exValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_ecValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexDensitySpinUpValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexDensitySpinDownValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecDensitySpinUpValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecDensitySpinDownValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexSigmaValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecSigmaValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexTauSpinUpValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdexTauSpinDownValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecTauSpinUpValues |
| |
| dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > | s_pdecTauSpinDownValues |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_densityValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_sigmaValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_tauValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_exValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_ecValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdecDensityTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdexDensityTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdecSigmaValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdexSigmaValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdexTauValuesTemp |
| |
| dftfe::utils::MemoryStorage< double, memorySpace > | s_pdecTauValuesTemp |
| |
| void * | s_pinnedBuf = nullptr |
| |
| size_t | s_pinnedCap = 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