33 template <dftfe::utils::MemorySpace memorySpace>
46 const bool useHubbard,
50 const std::vector<std::vector<double>> &eigenValuesH,
51 const std::vector<std::vector<double>> &partialOccupanciesH,
52 const std::vector<double> &kPointCoordinates,
58 double *eshelbyTensorQuadValuesH,
60 projectorKetTimesPsiTimesVTimesPartOccContractionGradPsiQuadsFlattenedH,
62 projectorKetTimesPsiTimesVTimesPartOccContractionGradPsiQuadsFlattenedHHubbard,
65 *projectorKetTimesPsiTimesVTimesPartOccContractionPsiQuadsFlattenedH,
67 projectorKetTimesPsiTimesVTimesPartOccContractionPsiQuadsFlattenedHHubbard,
69 const MPI_Comm &mpiCommParent,
70 const MPI_Comm &interBandGroupComm,
72 const bool isFloatingChargeForces,
void wfcContractionsForceKernelsAllH(std::shared_ptr< dftfe::basis::FEBasisOperations< dataTypes::number, double, memorySpace > > &basisOperationsPtr, const dftfe::uInt densityQuadratureId, const dftfe::uInt nlpspQuadratureId, const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, std::shared_ptr< dftfe::oncvClass< dataTypes::number, memorySpace > > oncvClassPtr, std::shared_ptr< hubbard< dataTypes::number, memorySpace > > hubbardClassPtr, const bool useHubbard, const dataTypes::number *X, const dftfe::uInt spinPolarizedFlag, const dftfe::uInt spinIndex, const std::vector< std::vector< double > > &eigenValuesH, const std::vector< std::vector< double > > &partialOccupanciesH, const std::vector< double > &kPointCoordinates, const dftfe::uInt MLoc, const dftfe::uInt N, const dftfe::uInt numCells, const dftfe::uInt numQuads, const dftfe::uInt numQuadsNLP, double *eshelbyTensorQuadValuesH, dataTypes::number *projectorKetTimesPsiTimesVTimesPartOccContractionGradPsiQuadsFlattenedH, dataTypes::number *projectorKetTimesPsiTimesVTimesPartOccContractionGradPsiQuadsFlattenedHHubbard, const MPI_Comm &mpiCommParent, const MPI_Comm &interBandGroupComm, const bool isPsp, const bool isFloatingChargeForces, const bool addEk, const dftParameters &dftParams)