1#ifndef dftefeSmearChargeDensityFunction_h
2#define dftefeSmearChargeDensityFunction_h
19 const std::vector<utils::Point> &atomCoordinates,
20 const std::vector<double> & atomCharges,
21 const std::vector<double> & smearedChargeRadius);
24 const std::vector<utils::Point> &atomCoordinates,
25 const std::vector<double> & atomCharges,
26 const double & smearedChargeRadius);
29 const double atomCharges,
30 const double smearedChargeRadius);
35 operator()(
const std::vector<utils::Point> &points)
const override;
41#ifdef DFTEFE_WITH_DEVICE
45 double * q)
const override;
51 std::vector<double>
d_z;
55#ifdef DFTEFE_WITH_DEVICE
56 mutable std::unique_ptr<MemoryStorage<double, MemorySpace::DEVICE>>
57 d_atomCoordsFlatDevice;
58 mutable std::unique_ptr<MemoryStorage<double, MemorySpace::DEVICE>>
60 mutable std::unique_ptr<MemoryStorage<double, MemorySpace::DEVICE>>
Definition: PointImpl.h:13
Abstract base for scalar functions of a spatial point.
Definition: ScalarSpatialFunction.h:23
Definition: SmearChargeDensityFunction.h:16
size_type d_dim
Definition: SmearChargeDensityFunction.h:53
std::vector< double > d_rc
Definition: SmearChargeDensityFunction.h:50
std::vector< utils::Point > d_atomCoordinates
Definition: SmearChargeDensityFunction.h:49
std::vector< double > d_z
Definition: SmearChargeDensityFunction.h:51
double operator()(const utils::Point &point) const override
Definition: SmearChargeDensityFunction.cpp:39
size_type d_numAtoms
Definition: SmearChargeDensityFunction.h:52
void evalHost(size_type numPoints, const double *t, double *q) const override
Definition: SmearChargeDensityFunction.cpp:88
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9