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,
41 double *partialOccupVec,
42 NumberType *wfcQuadPointData,
43 NumberType *gradWfcQuadPointData,
44 double *rhoCellsWfcContributions,
45 double *gradRhoCellsWfcContributions,
48 const bool isEvaluateGradRho,
49 const bool isNonCollin,
52 template <
typename NumberType>
56 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
58 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
59 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
61 double *partialOccupVec,
63 NumberType *wfcQuadPointData,
64 NumberType *gradWfcQuadPointData,
65 double *kineticEnergyDensityCellsWfcContributions,
67 const bool isNonCollin,
70 template <
typename NumberType>
74 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
76 const std::pair<dftfe::uInt, dftfe::uInt> cellRange,
77 const std::pair<dftfe::uInt, dftfe::uInt> vecRange,
80 double *partialOccupVecPrime,
81 NumberType *wfcQuadPointData,
82 NumberType *wfcPrimeQuadPointData,
83 double *rhoResponseHamCellsWfcContributions,
84 double *rhoResponseFermiEnergyCellsWfcContributions,
85 double *rhoResponseHam,
86 double *rhoResponseFermiEnergy);
Definition pseudoPotentialToDftfeConverter.cc:34
@ tau
Definition mixingClass.h:43
@ gradRho
Definition mixingClass.h:34
@ rho
Definition mixingClass.h:33
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, const bool isNonCollin, const bool hasSOC)
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, const dftfe::uInt nCells, double *partialOccupVec, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *rhoCellsWfcContributions, double *gradRhoCellsWfcContributions, double *rho, double *gradRho, const bool isEvaluateGradRho, const bool isNonCollin, const bool hasSOC)