25#ifndef dftefeEnrichmentDataEvalKernels_h
26#define dftefeEnrichmentDataEvalKernels_h
40 template <utils::MemorySpace memorySpace>
47 const std::vector<size_type> &pointsPerEnrichId,
48 const std::vector<std::shared_ptr<atoms::SphericalData>>
50 const double * points,
51 const double * origin,
58 const std::vector<size_type> &pointsPerEnrichId,
59 const std::vector<std::shared_ptr<atoms::SphericalData>>
61 const double * points,
62 const double * origin,
68 const double * quadPtsInAllCells,
69 const double * originPtsInAllCells,
70 std::pair<size_type, size_type> cellRange,
71 const std::vector<size_type> numEnrichIdsInAllCells,
72 const std::vector<size_type> numQuadPtsInAllCells,
74 * sphericalDataFuncInAllCells,
80 const double * quadPtsInAllCells,
81 const double * originPtsInAllCells,
82 std::pair<size_type, size_type> cellRange,
83 const std::vector<size_type> numEnrichIdsInAllCells,
84 const std::vector<size_type> numQuadPtsInAllCells,
86 * sphericalDataFuncInAllCells,
91#ifdef DFTEFE_WITH_DEVICE
99 const std::vector<size_type> &pointsPerEnrichId,
100 const std::vector<std::shared_ptr<atoms::SphericalData>>
102 const double *points,
103 const double *origin,
111 const std::vector<size_type> &pointsPerEnrichId,
112 const std::vector<std::shared_ptr<atoms::SphericalData>>
114 const double *points,
115 const double *origin,
122 const double * quadPtsInAllCells,
123 const double * originPtsInAllCells,
124 std::pair<size_type, size_type> cellRange,
125 const std::vector<size_type> numEnrichIdsInAllCells,
126 const std::vector<size_type> numQuadPtsInAllCells,
135 const double * quadPtsInAllCells,
136 const double * originPtsInAllCells,
137 std::pair<size_type, size_type> cellRange,
138 const std::vector<size_type> numEnrichIdsInAllCells,
139 const std::vector<size_type> numQuadPtsInAllCells,
Definition: SphericalDataNumerical.h:57
Definition: EnrichmentDataEvalKernels.h:42
static void getEnrichmentValuesInCellRange(const double *quadPtsInAllCells, const double *originPtsInAllCells, std::pair< size_type, size_type > cellRange, const std::vector< size_type > numEnrichIdsInAllCells, const std::vector< size_type > numQuadPtsInAllCells, const atoms::SphericalDataNumerical::Func< memorySpace > *sphericalDataFuncInAllCells, double *output, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
Definition: EnrichmentDataEvalDeviceKernels.cpp:93
static void getEnrichmentGradientsInCellRange(const double *quadPtsInAllCells, const double *originPtsInAllCells, std::pair< size_type, size_type > cellRange, const std::vector< size_type > numEnrichIdsInAllCells, const std::vector< size_type > numQuadPtsInAllCells, const atoms::SphericalDataNumerical::Func< memorySpace > *sphericalDataFuncInAllCells, double *output, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
Definition: EnrichmentDataEvalDeviceKernels.cpp:163
static void getEnrichmentGradients(const size_type numEnrichmentFunc, const std::vector< size_type > &pointsPerEnrichId, const std::vector< std::shared_ptr< atoms::SphericalData > > &sphericalDataVec, const double *points, const double *origin, double *values, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
Definition: EnrichmentDataEvalDeviceKernels.cpp:269
static void getEnrichmentValues(const size_type numEnrichmentFunc, const std::vector< size_type > &pointsPerEnrichId, const std::vector< std::shared_ptr< atoms::SphericalData > > &sphericalDataVec, const double *points, const double *origin, double *values, linearAlgebra::LinAlgOpContext< memorySpace > &linAlgOpContext)
Definition: EnrichmentDataEvalDeviceKernels.cpp:233
Definition: LinAlgOpContext.h:52
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9