5#ifndef DFTFE_AUXDM_AUXDENSITYMATRIX_H
6#define DFTFE_AUXDM_AUXDENSITYMATRIX_H
12#include <unordered_map>
38 template <dftfe::utils::MemorySpace memorySpace>
48 const std::pair<dftfe::uInt, dftfe::uInt> &quadIndexRange,
56 const std::pair<dftfe::uInt, dftfe::uInt> &quadIndexRange,
66 const std::vector<double> &quadWt) = 0;
80 const std::unordered_map<std::string, std::vector<dataTypes::number>>
81 &projectionInputsDataType,
82 const std::unordered_map<std::string, std::vector<double>>
83 &projectionInputsReal,
98 const std::unordered_map<std::string, std::vector<double>>
99 &projectionInputs) = 0;
Definition AuxDensityMatrix.h:40
virtual void evalOverlapMatrixEnd(const MPI_Comm &mpiComm)=0
for MPI accumulation
virtual void evalOverlapMatrixStart(const std::vector< double > &quadpts, const std::vector< double > &quadWt)=0
Compute aux basis overlap matrix batchwise contribution from supplied set of quadrature points and th...
virtual void applyLocalOperations(const std::pair< dftfe::uInt, dftfe::uInt > &quadIndexRange, std::unordered_map< DensityDescriptorDataAttributes, std::vector< double > > &densityData)=0
compute local descriptors of the aux basis electron-density representation at the supplied range of Q...
virtual void applyLocalOperations(const std::pair< dftfe::uInt, dftfe::uInt > &quadIndexRange, std::unordered_map< WfcDescriptorDataAttributes, std::vector< double > > &wfcData)=0
virtual void projectDensityStart(const std::unordered_map< std::string, std::vector< double > > &projectionInputs)=0
Projects the quadrature density to aux basis (L2 projection) batch wise.
virtual void projectDensityMatrixEnd(const MPI_Comm &mpiComm)=0
for MPI accumulation
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)=0
Projects the KS density matrix to aux basis (L2 projection) batch wise.
virtual void projectDensityEnd(const MPI_Comm &mpiComm)=0
for MPI accumulation
Definition pseudoPotentialToDftfeConverter.cc:34
DensityDescriptorDataAttributes
Definition AuxDensityMatrix.h:19
@ gradValuesSpinUp
Definition AuxDensityMatrix.h:23
@ laplacianSpinUp
Definition AuxDensityMatrix.h:27
@ gradValuesSpinDown
Definition AuxDensityMatrix.h:24
@ valuesSpinUp
Definition AuxDensityMatrix.h:21
@ laplacianSpinDown
Definition AuxDensityMatrix.h:28
@ hessianSpinUp
Definition AuxDensityMatrix.h:25
@ hessianSpinDown
Definition AuxDensityMatrix.h:26
@ valuesTotal
Definition AuxDensityMatrix.h:20
@ valuesSpinDown
Definition AuxDensityMatrix.h:22
std::int32_t Int
Definition TypeConfig.h:11
WfcDescriptorDataAttributes
Definition AuxDensityMatrix.h:32
@ tauSpinUp
Definition AuxDensityMatrix.h:34
@ tauSpinDown
Definition AuxDensityMatrix.h:35
@ tauTotal
Definition AuxDensityMatrix.h:33