5#ifndef DFTFE_AUXDM_AUXDENSITYMATRIXATOMICBASIS_H
6#define DFTFE_AUXDM_AUXDENSITYMATRIXATOMICBASIS_H
19 template <dftfe::utils::MemorySpace memorySpace>
26 const std::vector<std::pair<std::string, std::vector<double>>>
28 const std::unordered_map<std::string, std::string> &atomBasisFileNames,
30 const int maxDerOrder);
34 const std::vector<double> &quadpts,
36 &densityData)
override;
40 const std::vector<double> &quadWt)
override;
64 const std::unordered_map<std::string, std::vector<dataTypes::number>>
65 &projectionInputsDataType,
66 const std::unordered_map<std::string, std::vector<double>>
67 & projectionInputsReal,
68 const int iSpin)
override;
75 const std::unordered_map<std::string, std::vector<double>>
76 &projectionInputs)
override;
103 std::vector<double> &
Definition AtomicBasisData.h:15
BasisType
Definition AtomicBasis.h:34
Definition AuxDensityMatrixAtomicBasis.h:21
int d_nSpin
Definition AuxDensityMatrixAtomicBasis.h:84
std::vector< double > & getOverlapMatrixInv()
int d_maxDerOrder
Definition AuxDensityMatrixAtomicBasis.h:89
int d_nBasis
Definition AuxDensityMatrixAtomicBasis.h:88
void reinit(const AtomicBasis::BasisType basisType, const std::vector< std::pair< std::string, std::vector< double > > > &atomCoords, const std::unordered_map< std::string, std::string > &atomBasisFileNames, const int nSpin, const int maxDerOrder)
int d_nWFC
Definition AuxDensityMatrixAtomicBasis.h:97
int d_iSpin
Definition AuxDensityMatrixAtomicBasis.h:98
void projectDensityMatrixEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
AtomicBasisData d_atomicBasisData
Definition AuxDensityMatrixAtomicBasis.h:86
void projectDensityEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
std::vector< double > d_SMatrix
Definition AuxDensityMatrixAtomicBasis.h:92
std::unique_ptr< AtomicBasis > d_atomicBasisPtr
Definition AuxDensityMatrixAtomicBasis.h:85
void projectDensityStart(const std::unordered_map< std::string, std::vector< double > > &projectionInputs) override
Projects the quadrature density to aux basis (L2 projection) batch wise.
void applyLocalOperations(const std::vector< double > &quadpts, std::unordered_map< DensityDescriptorDataAttributes, std::vector< double > > &densityData) override
compute local descriptors of the aux basis electron-density representation at the supplied set of poi...
std::vector< double > d_basisWFCInnerProducts
Definition AuxDensityMatrixAtomicBasis.h:94
std::vector< double > d_SMatrixInv
Definition AuxDensityMatrixAtomicBasis.h:93
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_fValues
Definition AuxDensityMatrixAtomicBasis.h:95
void evalOverlapMatrixInv()
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 int iSpin) override
std::vector< double > d_DM
Definition AuxDensityMatrixAtomicBasis.h:91
void evalOverlapMatrixEnd(const MPI_Comm &mpiComm) override
for MPI accumulation
int d_nQuad
Definition AuxDensityMatrixAtomicBasis.h:83
Definition AuxDensityMatrix.h:33
Definition pseudoPotentialToDftfeConverter.cc:34
DensityDescriptorDataAttributes
Definition AuxDensityMatrix.h:19