PPF Contact Solver is a physics simulation engine that solves contact dynamics for cloth, solids, rods, rigid bodies, and granular materials.
The tool addresses the challenge of simulating complex interactions between multiple object types in physics-based systems. It originated as an internal physics engine at a major fashion e-commerce company and handles scenarios ranging from cloth collisions to rigid body dynamics. The solver guarantees penetration-free results upon convergence, meaning simulated objects do not intersect. It uses finite element methods for deformable bodies with symbolic force Jacobians, runs contact and elasticity solvers on GPU for parallel computation, and operates in single precision for cache efficiency. The approach scales to handle extreme cases with over 180 million simultaneous contacts.
The tool suits projects requiring accurate cloth simulation with real-world fabric behavior, large-scale contact scenarios, or integration with existing workflows. It offers multiple entry points: a Blender add-on for remote simulation, a Windows executable requiring no installation, Docker deployment for Linux and Windows, and Python APIs with full documentation. The project includes JupyterLab for interactive examples and supports cloud deployment. Teams working on fashion e-commerce applications, game development, or research in physics simulation will find the penetration-free guarantees and fabric presets calibrated against real measurements particularly valuable. The README does not compare this tool to specific alternatives.
Development activity shows consistent community engagement with users reporting bugs that receive fixes. The project runs automated stress tests repeatedly to validate stability under extreme conditions. Documentation is comprehensive, with Python code fully docstringed and lintable, and a detailed fabric calibration report available. The codebase prioritizes safety by minimizing C++ in favor of Rust while maintaining performance through GPU acceleration.