  We present a new semi-analytic model for dynamical friction based on
Chandrasekhar's formalism. The key novelty is the introduction of physically
motivated, radially varying, maximum and minimum impact parameters. With these,
our model gives an excellent match to full N-body simulations for isotropic
background density distributions, both cuspy and shallow, without any
fine-tuning of the model parameters. In particular, we are able to reproduce
the dramatic core-stalling effect that occurs in shallow/constant density
cores, for the first time. This gives us new physical insight into the
core-stalling phenomenon. We show that core stalling occurs in the limit in
which the product of the Coulomb logarithm and the local fraction of stars with
velocity lower than the infalling body tends to zero. For cuspy backgrounds,
this occurs when the infalling mass approaches the enclosed background mass.
For cored backgrounds, it occurs at larger distances from the centre, due to a
combination of a rapidly increasing minimum impact parameter and a lack of slow
moving stars in the core. This demonstrates that the physics of core-stalling
is likely the same for both massive infalling objects and low-mass objects
moving in shallow density backgrounds. We implement our prescription for
dynamical friction in the direct summation code NBODY6 as an analytic
correction for stars that remain within the Roche volume of the infalling
object. This approach is computationally efficient, since only stars in the
inspiralling system need to be evolved with direct summation. Our method can be
applied to study a variety of astrophysical systems, including young star
clusters orbiting near the Galactic Centre; globular clusters moving within the
Galaxy; and dwarf galaxies orbiting within dark matter halos.
