18#ifndef densityCalculatorDeviceKernels_H_
19#define densityCalculatorDeviceKernels_H_
20#if defined(DFTFE_WITH_DEVICE)
31 template <
typename NumberType>
35 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
37 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
38 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
40 double *partialOccupVec,
41 NumberType *wfcQuadPointData,
42 NumberType *gradWfcQuadPointData,
43 double *rhoCellsWfcContributions,
44 double *gradRhoCellsWfcContributions,
47 const bool isEvaluateGradRho);
49 template <
typename NumberType>
53 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
55 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
56 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
58 double *partialOccupVec,
60 NumberType *wfcQuadPointData,
61 NumberType *gradWfcQuadPointData,
62 double *kineticEnergyDensityCellsWfcContributions,
65 template <
typename NumberType>
69 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
71 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
72 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
75 double *partialOccupVecPrime,
76 NumberType *wfcQuadPointData,
77 NumberType *wfcPrimeQuadPointData,
78 double *rhoResponseHamCellsWfcContributions,
79 double *rhoResponseFermiEnergyCellsWfcContributions,
80 double *rhoResponseHam,
81 double *rhoResponseFermiEnergy);
83 template <
typename NumberType>
86 const dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>
88 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
89 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
91 double *partialOccupVec,
93 NumberType *wfcQuadPointData,
94 NumberType *gradWfcQuadPointData,
95 double *kineticEnergyCellsWfcContributions,
96 double *kineticEnergyDensity,
97 const MPI_Comm &mpiCommDomain);
Definition pseudoPotentialToDftfeConverter.cc:34
@ tau
Definition mixingClass.h:38
@ gradRho
Definition mixingClass.h:34
@ rho
Definition mixingClass.h:33
void computeRhoGradRhoFromInterpolatedValues(std::shared_ptr< 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, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *rhoCellsWfcContributions, double *gradRhoCellsWfcContributions, double *rho, double *gradRho, const bool isEvaluateGradRho)
std::uint32_t uInt
Definition TypeConfig.h:10
void computeRhoResponseFromInterpolatedValues(std::shared_ptr< 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 *onesVec, double *partialOccupPrimeVec, NumberType *wfcQuadPointData, NumberType *wfcPrimeQuadPointData, double *rhoResponseHamCellsWfcContributions, double *rhoResponseFermiEnergyCellsWfcContributions, double *rhoResponseHam, double *rhoResponseFermiEnergy)
void computeTauFromInterpolatedValues(std::shared_ptr< 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 *kineticEnergyDensityCellsWfcContributions, double *tau)
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)