SPH implementations