26 return 0.25 * pow(2 - q, 3) - pow(1 - q, 3);
29 return 0.25 * pow(2 - q, 3);
35 return - 0.25 * 3 * pow(2 - q, 2) + 3 * pow(1 - q, 2);
38 return -0.25 * 3 * pow(2 - q, 2);
44 return pow(2.5 - q, 4) - 5 * pow(1.5 - q, 4) + 10 * pow(0.5 - q, 4);
47 return pow(2.5 - q, 4) - 5 * pow(1.5 - q, 4);
50 return pow(2.5 - q, 4);
56 return -4 * pow(2.5 - q, 3) + 20 * pow(1.5 - q, 3) - 40 * pow(0.5 - q, 3);
59 return -4 * pow(2.5 - q, 3) + 20 * pow(1.5 - q, 3);
62 return -4 * pow(2.5 - q, 3);
68 return pow(3 - q, 5) - 6 * pow(2 - q, 5) + 15 * pow(1 - q, 5);
71 return pow(3 - q, 5)- 6 * pow(2 - q, 5);
80 return -5 * pow(3 - q, 4) + 30 * pow(2 - q, 4)
81 - 75 * pow (1 - q, 4);
84 return -5 * pow(3 - q, 4) + 30 * pow(2 - q, 4);
87 return -5 * pow(3 - q, 4);
100 {2 / 3., 10 / (7 * M_PI), 1 / M_PI} },
102 {1 / 120., 7 / (478 * M_PI), 1 / (120 * M_PI)} },
104 {1 / 24., 96 / (1199 * M_PI), 1 / (20 * M_PI)} },
169 endrun(1,
"Density Kernel type is unknown\n");
double density_kernel_dwk(DensityKernel *kernel, double u)
static double dwk_qs(DensityKernel *kernel, double q)
static double wk_qs(DensityKernel *kernel, double q)
double(* wk)(DensityKernel *kernel, double q)
double(* dwk)(DensityKernel *kernel, double q)
static void density_kernel_init_with_type(DensityKernel *kernel, int type, double H)
static struct @3 KERNELS[]
double wk_cs(DensityKernel *kernel, double q)
double density_kernel_volume(DensityKernel *kernel)
void density_kernel_init(DensityKernel *kernel, double H, enum DensityKernelType type)
double density_kernel_desnumngb(DensityKernel *kernel, double eta)
double dwk_cs(DensityKernel *kernel, double q)
static double wk_qus(DensityKernel *kernel, double q)
static double dwk_qus(DensityKernel *kernel, double q)
double density_kernel_wk(DensityKernel *kernel, double u)
@ DENSITY_KERNEL_CUBIC_SPLINE
@ DENSITY_KERNEL_QUINTIC_SPLINE
@ DENSITY_KERNEL_QUARTIC_SPLINE
void endrun(int where, const char *fmt,...)
static double kernel(double loga, void *params)