Chrono is a physics-based modelling and simulation infrastructure based on a platform-independent open-source design implemented in C++. A PROJECTCHRONO library can be embedded in a software project to simulate, for instance, wheeled and tracked vehicles operating on deformable terrains, robots, mechatronic systems, compliant mechanisms, and fluid solid interaction phenomena. Systems can be made of rigid and flexible/compliant parts with constraints, motors and contacts; parts can have three-dimensional shapes for collision detection.
There is also a Python version of Chrono,PyChrono.
Chrono is cross-platform, open source, and released under a BSD-3 license.