The current implementation of the current algorithm that, I think, it’s the “Fast Simulation of Mass-Spring Systems”

I’d like to propose the idea of using its successors, like the Projective Dynamics framework or, for an eventual future, the more general and sophisticated Quasi-newton methods for hyperelastic material

This new implementation should be way more stable than the current one and it will avoid the explosions seen when the iteration count is too slow and, also, the simulation, through the algorithm Vivace, can be speed up considerably using multicore CPUs or even GPUs, by **one or more order of magnitude**.

On top of this a simple modification of the collision detection and reaction (as described in the Nucleus paper and by Provot), using continuous detection directly on the vertices and the faces of the dynamic objects and the collides may lead to a simple but effective **two way coupling between all rigid and soft bodies**, still reusing a big part of the current collision detection implementation

But there is more, this framework would **unify** all the soft bodies simulations in a **single framework**: cloths, soft bodies and hair simulation!

Lemme know what you think

Currently I’m working on a C++ implementation of the Projective Dynamics framework as DLL for unity, but I wouldn’t mind to find a way, once it works properly, to insert it in the current cloth modifier

Reference material for the proposed implementation:

- Projective dynamics, PBA 2014 introduction lesson
- Vivace demo video
- Vivace paper
- Point-triangle and edge-edge continuous collision detection paper
- Nucleus paper

Hyperelastic materials simulation:

- ADMM ⊇ Projective Dynamics: Fast Simulation of General Constitutive Models - paper
- Quasi-Newton Methods for Real-Time Simulation of Hyperelastic Materials - paper
- Quasi-Newton Methods for Real-Time Simulation of Hyperelastic Materials - video
- Anderson Acceleration for Geometry Optimization and Physics Simulation - paper