It would be helpful to clarify what each system means and when to use what: - NonSmoothContactSystem vs SmoothContactSystem - BoundedSmoothContactSystem vs SmoothContactSystem - HardWall vs SoftWall