Impulse-based discrete element modelling of rock impact and fragmentation, with applications to block cave mining