18#ifndef kineticEnergyDensityCalculator_H_
19#define kineticEnergyDensityCalculator_H_
27 template <
typename NumberType, dftfe::utils::MemorySpace memorySpace>
33 const std::vector<std::vector<double>> &partialOccupancies,
38 const std::vector<double> &kPointCoords,
39 const std::vector<double> &kPointWeights,
41 &kineticEnergyDensityValues,
42 const MPI_Comm &mpiCommParent,
43 const MPI_Comm &interpoolcomm,
44 const MPI_Comm &interBandGroupComm,
45 const MPI_Comm &mpiCommDomain,
48 template <
typename NumberType>
53 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
54 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
56 double *partialOccupVec,
58 NumberType *wfcQuadPointData,
59 NumberType *gradWfcQuadPointData,
60 double *kineticCellsWfcContributions,
61 double *kineticEnergyDensity,
62 const MPI_Comm &mpiCommDomain);
Definition FEBasisOperations.h:85
Namespace which declares the input parameters and the functions to parse them from the input paramete...
Definition dftParameters.h:36
Definition BLASWrapper.h:35
Definition MemoryStorage.h:33
Definition pseudoPotentialToDftfeConverter.cc:34
void computeKineticEnergyDensity(const dftfe::linearAlgebra::BLASWrapper< memorySpace > &BLASWrapperPtr, const dftfe::utils::MemoryStorage< NumberType, memorySpace > *X, const dftfe::uInt totalNumWaveFunctions, const std::vector< std::vector< double > > &partialOccupancies, std::shared_ptr< dftfe::basis::FEBasisOperations< NumberType, double, memorySpace > > &basisOperationsPtr, const dftfe::uInt quadratureIndex, const std::vector< double > &kPointCoords, const std::vector< double > &kPointWeights, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &kineticEnergyDensityValues, const MPI_Comm &mpiCommParent, const MPI_Comm &interpoolcomm, const MPI_Comm &interBandGroupComm, const MPI_Comm &mpiCommDomain, const dftParameters &dftParams)
std::uint32_t uInt
Definition TypeConfig.h:10
void computeKineticEnergyDensityFromInterpolatedValues(const dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > &BLASWrapperPtr, const std::pair< dftfe::uInt, dftfe::uInt > cellRange, const std::pair< dftfe::uInt, dftfe::uInt > vecRange, const dftfe::uInt nQuadsPerCell, double *partialOccupVec, double *kcoord, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *kineticCellsWfcContributions, double *kineticEnergyDensity, const MPI_Comm &mpiCommDomain)