3D discrete element method algorithm utilizing CUDA