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<unsigned int, unsigned int> cellRange,
38 const std::pair<unsigned int, unsigned int> vecRange,
39 const unsigned int nQuadsPerCell,
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<unsigned int, unsigned int> cellRange,
56 const std::pair<unsigned int, unsigned int> vecRange,
57 const unsigned int nQuadsPerCell,
59 double * partialOccupVecPrime,
60 NumberType * wfcQuadPointData,
61 NumberType * wfcPrimeQuadPointData,
62 double *rhoResponseHamCellsWfcContributions,
63 double *rhoResponseFermiEnergyCellsWfcContributions,
64 double *rhoResponseHam,
65 double *rhoResponseFermiEnergy);
67 template <
typename NumberType>
70 const dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>
72 const std::pair<unsigned int, unsigned int> cellRange,
73 const std::pair<unsigned int, unsigned int> vecRange,
74 const unsigned int nQuadsPerCell,
75 double * partialOccupVec,
77 NumberType * wfcQuadPointData,
78 NumberType * gradWfcQuadPointData,
79 double * kineticEnergyCellsWfcContributions,
80 double * kineticEnergyDensity,
81 const MPI_Comm &mpiCommDomain);
Definition pseudoPotentialToDftfeConverter.cc:34
void computeRhoGradRhoFromInterpolatedValues(std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *partialOccupVec, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *rhoCellsWfcContributions, double *gradRhoCellsWfcContributions, double *rho, double *gradRho, const bool isEvaluateGradRho)
void computeRhoResponseFromInterpolatedValues(std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *onesVec, double *partialOccupPrimeVec, NumberType *wfcQuadPointData, NumberType *wfcPrimeQuadPointData, double *rhoResponseHamCellsWfcContributions, double *rhoResponseFermiEnergyCellsWfcContributions, double *rhoResponseHam, double *rhoResponseFermiEnergy)
@ gradRho
Definition mixingClass.h:34
@ rho
Definition mixingClass.h:33
void computeKineticEnergyDensityFromInterpolatedValues(const dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > &BLASWrapperPtr, const std::pair< unsigned int, unsigned int > cellRange, const std::pair< unsigned int, unsigned int > vecRange, const unsigned int nQuadsPerCell, double *partialOccupVec, double *kcoord, NumberType *wfcQuadPointData, NumberType *gradWfcQuadPointData, double *kineticCellsWfcContributions, double *kineticEnergyDensity, const MPI_Comm &mpiCommDomain)