Discrete element methods can be based on either penalties or impulses to resolve collisions. A generic impulse based method, the energy tracking method (ETM), is described to resolve collisions between multiple non-convex bodies in three dimensions. As opposed to the standard sequential impulse method (SQM) and simultaneous impulse method (SMM), which also apply impulses to avoid penetration, the energy tracking method changes the relative velocity between two colliding bodies iteratively yet simultaneously. Its main novelty is that impulses are applied gradually at multi-point contacts, and energy changes at the contact points are tracked to ensure conservation. Three main steps are involved in the propagation of the impulses during the single- and multi-contact resolution: compression, restitution-related energy loss, and separation. Numerical tests show that the energy tracking method captures the energy conservation property of perfectly elastic single- and multi-point collisions. ETM exhibits improved angular velocity estimation, as compared to SMM and SQM, as demonstrated by two numerical examples that model multi-point contact between box-shaped objects. Angles of repose estimated for multi-object pack repositioning of spheres, cubes, and crosses are in good agreement with the reported experimental values. 
An impulse-based energy tracking method for collision resolution