SUMMARYIn three-dimensional discrete element method (DEM) simulations, the particle motions within a granular assembly can produce bewildering sequences of movements at the contacts between particle pairs. With frictional contacts, the relationship between contact movement and force is non-linear and path-dependent, requiring an efficient means of computing the forces and storing their histories. By cleverly applying the principles of Cattaneo, Mindlin, and Deresiewicz, Jürgen Jäger developed an efficient approach for computing the full three-dimensional force between identical elastic spheres that have undergone difficult movement sequences (J. Jäger, New Solutions in Contact Mechanics. WIT Press: Southampton, U.K.). This paper presents a complete Jäger algorithm that can be incorporated into DEM codes and also describes three special provisions for DEM simulations: (1) a method for handling particle pairs that undergo complex tumbling and twirling motions in three-dimensions; (2) a compact data structure for storing the loading history of the many contacts in a large assembly; and (3) an approximation of the Jäger algorithm that reduces memory demand. The algorithm addresses contact translations between elastic spheres having identical properties, but it does not resolve the tractions produced by twisting or rolling motions. A performance test demonstrates that the algorithm can be applied in a DEM code with modest increases in computation time but with more substantial increases in required storage.