I implemented a few (compressible, though these visualizations / setups don't really demonstrate that property) SPH experiments in compute shaders - rendered as particles.
Here's a basic one with spheres:
Here's some bouncy cylinders:
Here's one closer to filling up an empty object: