The physical behavior of such materials arises from the interplay of
contact and frictional forces between thousands to millions of tiny
grains. Simulating the motion of each such grain is computationally
prohibitive for large-scale scenarios or fine-grained materials like
sand. We instead take a continuum approach, treating a granular
material as a continuous fluid. Continuum-based approaches have
many advantages, including efficient numerical methods due to a
regular computational domain, and the ability for the user to choose
the resolution of the simulation as a trade-off between performance
and quality