  We perform simulations of giant impacts onto the young Uranus using smoothed
particle hydrodynamics (SPH) with over 100 million particles. This
100--1000$\times$ improvement in particle number reveals that simulations with
below 10^7 particles fail to converge on even bulk properties like the
post-impact rotation period, or on the detailed erosion of the atmosphere.
Higher resolutions appear to determine these large-scale results reliably, but
even 10^8 particles may not be sufficient to study the detailed composition of
the debris -- finding that almost an order of magnitude more rock is ejected
beyond the Roche radius than with 10^5 particles. We present two software
developments that enable this increase in the feasible number of particles.
First, we present an algorithm to place any number of particles in a spherical
shell such that they all have an SPH density within 1% of the desired value.
Particles in model planets built from these nested shells have a
root-mean-squared velocity below 1% of the escape speed, which avoids the need
for long precursor simulations to produce relaxed initial conditions. Second,
we develop the hydrodynamics code SWIFT for planetary simulations. SWIFT uses
task-based parallelism and other modern algorithmic approaches to take full
advantage of contemporary supercomputer architectures. Both the particle
placement code and SWIFT are publicly released.
