DFT-FE 1.3.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::excTauMGGAClass< memorySpace > Class Template Reference

#include <excTauMGGAClass.h>

Inheritance diagram for dftfe::excTauMGGAClass< memorySpace >:
dftfe::ExcSSDFunctionalBaseClass< memorySpace >

Public Member Functions

 excTauMGGAClass (std::shared_ptr< xc_func_type > &funcXPtr, std::shared_ptr< xc_func_type > &funcCPtr, const bool useLibXC, std::string XCType)
 excTauMGGAClass (std::shared_ptr< xc_func_type > &funcXPtr, std::shared_ptr< xc_func_type > &funcCPtr, std::string modelXCInputFile, const bool useLibXC, std::string XCType)
 ~excTauMGGAClass ()
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 override
void checkInputOutputDataAttributesConsistency (const std::vector< xcRemainderOutputDataAttributes > &outputDataAttributes) const override
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) override
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) override
void updateWaveFunctionDependentFuncDerWrtPsi (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrixPtr, const std::vector< double > &kPointWeights) override
void computeWaveFunctionDependentExcEnergy (const std::shared_ptr< AuxDensityMatrix< memorySpace > > &auxDensityMatrix, const std::vector< double > &kPointWeights) override
double getWaveFunctionDependentExcEnergy () override
double getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi () override
void reinitKPointDependentVariables (dftfe::uInt kPointIndex) override
Public Member Functions inherited from dftfe::ExcSSDFunctionalBaseClass< memorySpace >
 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
ExcFamilyType getExcFamilyType () const

Private Attributes

std::shared_ptr< xc_func_type > d_funcXPtr
std::shared_ptr< xc_func_type > d_funcCPtr
bool d_useLibxc
std::string d_XCType
bool d_tauNeededX
bool d_tauNeededC
bool d_enforceFHCX
bool d_enforceFHCC

Additional Inherited Members

Protected Attributes inherited from dftfe::ExcSSDFunctionalBaseClass< memorySpace >
const std::vector< DensityDescriptorDataAttributesd_densityDescriptorAttributesList
const std::vector< WfcDescriptorDataAttributesd_wfcDescriptorAttributesList
ExcFamilyType d_ExcFamilyType
densityFamilyType d_densityFamilyType
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_densityValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_sigmaValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_tauValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexDensityValuesNonNN
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecDensityValuesNonNN
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexTauValuesNonNN
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecTauValuesNonNN
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_exValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_ecValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexDensitySpinUpValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexDensitySpinDownValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecDensitySpinUpValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecDensitySpinDownValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexSigmaValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecSigmaValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexTauSpinUpValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdexTauSpinDownValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_pdecTauSpinUpValues
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTs_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

Constructor & Destructor Documentation

◆ excTauMGGAClass() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excTauMGGAClass< memorySpace >::excTauMGGAClass ( std::shared_ptr< xc_func_type > & funcXPtr,
std::shared_ptr< xc_func_type > & funcCPtr,
const bool useLibXC,
std::string XCType )

◆ excTauMGGAClass() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excTauMGGAClass< memorySpace >::excTauMGGAClass ( std::shared_ptr< xc_func_type > & funcXPtr,
std::shared_ptr< xc_func_type > & funcCPtr,
std::string modelXCInputFile,
const bool useLibXC,
std::string XCType )

◆ ~excTauMGGAClass()

template<dftfe::utils::MemorySpace memorySpace>
dftfe::excTauMGGAClass< memorySpace >::~excTauMGGAClass ( )

Member Function Documentation

◆ applyWaveFunctionDependentFuncDerWrtPsi() [1/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::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 )
overridevirtual

◆ applyWaveFunctionDependentFuncDerWrtPsi() [2/2]

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::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 )
overridevirtual

◆ checkInputOutputDataAttributesConsistency()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::checkInputOutputDataAttributesConsistency ( const std::vector< xcRemainderOutputDataAttributes > & outputDataAttributes) const
overridevirtual

◆ computeRhoTauDependentXCData()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::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
overridevirtual

x and c denotes exchange and correlation respectively. This function computes the rho and tau dependent part of the Exc functional energy density and its partial derivatives

Implements dftfe::ExcSSDFunctionalBaseClass< memorySpace >.

◆ computeWaveFunctionDependentExcEnergy()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::computeWaveFunctionDependentExcEnergy ( const std::shared_ptr< AuxDensityMatrix< memorySpace > > & auxDensityMatrix,
const std::vector< double > & kPointWeights )
overridevirtual

◆ getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi()

template<dftfe::utils::MemorySpace memorySpace>
double dftfe::excTauMGGAClass< memorySpace >::getExpectationOfWaveFunctionDependentExcFuncDerWrtPsi ( )
overridevirtual

◆ getWaveFunctionDependentExcEnergy()

template<dftfe::utils::MemorySpace memorySpace>
double dftfe::excTauMGGAClass< memorySpace >::getWaveFunctionDependentExcEnergy ( )
overridevirtual

◆ reinitKPointDependentVariables()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::reinitKPointDependentVariables ( dftfe::uInt kPointIndex)
overridevirtual

◆ updateWaveFunctionDependentFuncDerWrtPsi()

template<dftfe::utils::MemorySpace memorySpace>
void dftfe::excTauMGGAClass< memorySpace >::updateWaveFunctionDependentFuncDerWrtPsi ( const std::shared_ptr< AuxDensityMatrix< memorySpace > > & auxDensityMatrixPtr,
const std::vector< double > & kPointWeights )
overridevirtual

Member Data Documentation

◆ d_enforceFHCC

template<dftfe::utils::MemorySpace memorySpace>
bool dftfe::excTauMGGAClass< memorySpace >::d_enforceFHCC
private

◆ d_enforceFHCX

template<dftfe::utils::MemorySpace memorySpace>
bool dftfe::excTauMGGAClass< memorySpace >::d_enforceFHCX
private

◆ d_funcCPtr

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftfe::excTauMGGAClass< memorySpace >::d_funcCPtr
private

◆ d_funcXPtr

template<dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<xc_func_type> dftfe::excTauMGGAClass< memorySpace >::d_funcXPtr
private

◆ d_tauNeededC

template<dftfe::utils::MemorySpace memorySpace>
bool dftfe::excTauMGGAClass< memorySpace >::d_tauNeededC
private

◆ d_tauNeededX

template<dftfe::utils::MemorySpace memorySpace>
bool dftfe::excTauMGGAClass< memorySpace >::d_tauNeededX
private

◆ d_useLibxc

template<dftfe::utils::MemorySpace memorySpace>
bool dftfe::excTauMGGAClass< memorySpace >::d_useLibxc
private

◆ d_XCType

template<dftfe::utils::MemorySpace memorySpace>
std::string dftfe::excTauMGGAClass< memorySpace >::d_XCType
private

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