5#ifndef DFTFE_AUXDM_AUXDENSITYMATRIXFE_H
6#define DFTFE_AUXDM_AUXDENSITYMATRIXFE_H
14 template <dftfe::utils::MemorySpace memorySpace>
23 &eigenVectorsFlattenedMemSpace,
24 const std::vector<std::vector<double>> &fractionalOccupancies);
29 const std::pair<dftfe::uInt, dftfe::uInt> &quadIndexRange,
31 &densityData)
override;
37 const std::pair<dftfe::uInt, dftfe::uInt> &quadIndexRange,
43 const std::vector<double> &quadWt)
override;
50 const std::unordered_map<std::string, std::vector<dataTypes::number>>
51 &projectionInputsDataType,
52 const std::unordered_map<std::string, std::vector<double>>
53 &projectionInputsReal,
82 const std::unordered_map<std::string, std::vector<double>>
83 &projectionInputs)
override;
88 const std::vector<std::vector<double>> *
Definition AuxDensityMatrixFE.h:16
void projectDensityEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
void evalOverlapMatrixStart(const std::vector< double > &quadpts, const std::vector< double > &quadWt) override
Compute aux basis overlap matrix batchwise contribution from supplied set of quadrature points and th...
std::vector< double > d_densityValsSpinDownAllQuads
Definition AuxDensityMatrixFE.h:102
std::vector< double > d_quadPointsAll
Definition AuxDensityMatrixFE.h:109
std::vector< double > d_tauValsSpinUpAllQuads
Definition AuxDensityMatrixFE.h:106
std::vector< double > d_densityValsSpinUpAllQuads
Definition AuxDensityMatrixFE.h:101
const std::vector< std::vector< double > > * getDensityMatrixComponents_occupancies() const
void applyLocalOperations(const std::pair< dftfe::uInt, dftfe::uInt > &quadIndexRange, std::unordered_map< DensityDescriptorDataAttributes, std::vector< double > > &densityData) override
compute local descriptors of the aux basis electron-density representation at the supplied range of Q...
std::vector< double > d_tauValsSpinDownAllQuads
Definition AuxDensityMatrixFE.h:107
virtual void projectDensityMatrixStart(const std::unordered_map< std::string, std::vector< dataTypes::number > > &projectionInputsDataType, const std::unordered_map< std::string, std::vector< double > > &projectionInputsReal, const dftfe::Int iSpin) override
Projects the KS density matrix to aux basis (L2 projection) batch wise.
void applyLocalOperations(const std::pair< dftfe::uInt, dftfe::uInt > &quadIndexRange, std::unordered_map< WfcDescriptorDataAttributes, std::vector< double > > &wfcData) override
std::vector< double > d_gradDensityValsSpinUpAllQuads
Definition AuxDensityMatrixFE.h:103
const dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > * getDensityMatrixComponents_wavefunctions() const
std::vector< double > d_densityValsTotalAllQuads
Definition AuxDensityMatrixFE.h:100
void evalOverlapMatrixEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
const std::vector< std::vector< double > > * d_fractionalOccupancies
Definition AuxDensityMatrixFE.h:98
void setDensityMatrixComponents(const dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > &eigenVectorsFlattenedMemSpace, const std::vector< std::vector< double > > &fractionalOccupancies)
void projectDensityStart(const std::unordered_map< std::string, std::vector< double > > &projectionInputs) override
Projects the quadrature density to aux basis (L2 projection). This is actually a copy call....
std::vector< double > d_quadWeightsAll
Definition AuxDensityMatrixFE.h:110
const dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > * d_eigenVectorsFlattenedMemSpacePtr
Definition AuxDensityMatrixFE.h:96
std::vector< double > d_gradDensityValsSpinDownAllQuads
Definition AuxDensityMatrixFE.h:104
std::vector< double > d_tauValsTotalAllQuads
Definition AuxDensityMatrixFE.h:105
void projectDensityMatrixEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
Definition AuxDensityMatrix.h:40
Definition MemoryStorage.h:33
Definition pseudoPotentialToDftfeConverter.cc:34
DensityDescriptorDataAttributes
Definition AuxDensityMatrix.h:19
std::int32_t Int
Definition TypeConfig.h:11
WfcDescriptorDataAttributes
Definition AuxDensityMatrix.h:32