Interpolation basis
The basis $\Phi(\xi)$ is the 1-D dimensionless interpolation function; the $D$-dimensional basis values are tensor products of $\Phi$ along each axis. A basis b must implement:
support_radius(b)→ half-width in grid spacings (integer).eval_phi(b, ξ)→ $\Phi(\xi)$.eval_phi_prime(b, ξ)→ $\Phi'(\xi)$.
MultilevelSummation.CubicC1 — Type
CubicC1{T}()Piecewise-cubic interpolation basis with C¹ continuity, support |ξ| ≤ 2, from Hardy et al. 2015 (paper, just after eq. 13):
Φ(ξ) = (1 - |ξ|)·(1 + |ξ| - (3/2) ξ²) for 0 ≤ |ξ| ≤ 1
= -(1/2)·(|ξ| - 1)·(2 - |ξ|)² for 1 ≤ |ξ| ≤ 2
= 0 otherwiseMultilevelSummation.eval_phi — Function
eval_phi(basis, ξ::T) -> TThe 1-D interpolation basis function Φ(ξ).
MultilevelSummation.eval_phi_prime — Function
eval_phi_prime(basis, ξ::T) -> TThe derivative of the 1-D interpolation basis: Φ'(ξ).
MultilevelSummation.support_radius — Function
support_radius(basis) -> IntHalf-width of the basis support in grid spacings. Each particle scatters to (2·support_radius)^D grid points; each grid point gathers from the same number of source points during prolongation / restriction.