23#ifndef matrixFreeDevice_H_
24#define matrixFreeDevice_H_
55 std::uint32_t nDofsPerDim,
56 std::uint32_t nQuadPointsPerDim,
57 std::uint32_t batchSize>
61 init(T *constMemDataHost, std::size_t constMemDataSize);
88 const T *weightMatrixList,
90 const T *inhomogenityList,
104 const T *weightMatrixList,
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
operatorList
Definition MatrixFreeDevice.h:37
@ Laplace
Definition MatrixFreeDevice.h:38
@ GGA
Definition MatrixFreeDevice.h:41
@ LDA
Definition MatrixFreeDevice.h:40
@ Count
Definition MatrixFreeDevice.h:42
@ Helmholtz
Definition MatrixFreeDevice.h:39
MatrixFreeDevice class template. template parameter nDofsPerDim is the finite element polynomial orde...
Definition MatrixFreeDevice.h:59
static void constraintsDistributeTranspose(T *dst, T *src, const dftfe::uInt *constrainingNodeBuckets, const dftfe::uInt *constrainingNodeOffset, const dftfe::uInt *constrainedNodeBuckets, const dftfe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftfe::uInt *weightMatrixOffset, const dftfe::uInt *ghostMap, const dftfe::uInt inhomogenityListSize, const dftfe::uInt nBatch, const dftfe::uInt nOwnedDofs, const dftfe::uInt nGhostDofs)
static void constraintsDistribute(T *src, const dftfe::uInt *constrainingNodeBuckets, const dftfe::uInt *constrainingNodeOffset, const dftfe::uInt *constrainedNodeBuckets, const dftfe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftfe::uInt *weightMatrixOffset, const T *inhomogenityList, const dftfe::uInt *ghostMap, const dftfe::uInt inhomogenityListSize, const dftfe::uInt nBatch, const dftfe::uInt nOwnedDofs, const dftfe::uInt nGhostDofs)
static void init(T *constMemDataHost, std::size_t constMemDataSize)
static void computeHelmholtzX(T *dst, T *src, T *jacobianFactor, dftfe::uInt *map, T *shapeBuffer, T coeffHelmholtz, dftfe::uInt nCells, dftfe::uInt nBatch)
static void computeLaplaceX(T *dst, T *src, T *jacobianFactor, dftfe::uInt *map, T *shapeBuffer, dftfe::uInt nCells, dftfe::uInt nBatch)