1#ifndef dftefe_SmoothCutoffFunctions_h
2#define dftefe_SmoothCutoffFunctions_h
25 const double y = 1.0 - d * (x - r) / r;
26 const double f1_y = (y <= 0.0) ? 0.0 : exp(-1.0 / y);
27 const double omy = 1.0 - y;
28 const double f1_1my = (omy <= 0.0) ? 0.0 : exp(-1.0 / omy);
29 return f1_y / (f1_y + f1_1my);
36 const double tolerance)
38 const double y = 1.0 - d * (x - r) / r;
39 if (fabs(y) < tolerance || fabs(1.0 - y) < tolerance)
41 const double f1_y = (y <= 0.0) ? 0.0 : exp(-1.0 / y);
42 const double omy = 1.0 - y;
43 const double f1_1my = (omy <= 0.0) ? 0.0 : exp(-1.0 / omy);
44 const double f1Der_y = f1_y / (y * y);
45 const double f1Der_1my = f1_1my / (omy * omy);
46 const double denom = f1_y + f1_1my;
48 (f1Der_y * f1_1my + f1_y * f1Der_1my) / (denom * denom);
49 return f2Der * (-d / r);
52 template <dftefe::utils::MemorySpace memorySpace>
61 template <dftefe::utils::MemorySpace memorySpace>
68 const double tolerance,
#define DFTEFE_HOST_DEVICE_FUNC
Definition: DeviceKernelLauncherHelpers.h:306
DFTEFE_HOST_DEVICE_FUNC double smoothCutoffDerivative(const double x, const double r, const double d, const double tolerance)
Definition: SmoothCutoffFunctions.h:33
double f2Der(const double x, const double tolerance)
Definition: SphericalHarmonics.cpp:36
DFTEFE_HOST_DEVICE_FUNC double smoothCutoffValue(const double x, const double r, const double d)
Definition: SmoothCutoffFunctions.h:23
static cudaStream_t defaultStream
Definition: DeviceTypeConfig.cu.h:62
cudaStream_t deviceStream_t
Definition: DeviceTypeConfig.cu.h:27
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9