Non-smooth mechanics is a modeling approach in mechanics which does not require the time evolutions of the positions and of the velocities to be smooth functions. Due to possible impacts, the velocities of the mechanical system are allowed to undergo jumps at certain time instants in order to fulfill the kinematical restrictions. Consider for example a rigid model of a ball which falls on the ground. Just before the impact between ball and ground, the ball has non-vanishing pre-impact velocity. At the impact time instant, the velocity must jump to a post-impact velocity which is at least zero, or else penetration would occur. Non-smooth mechanical models are often used in contact dynamics.