Velocity Verlet Integration

October 2024 - Present

I came across this article describing a method used to simulate the remarkable chain fountain effect. The videos of this effect are truly remarkable, so this project is intended to replicate that. The article describes an approach to simulate this interaction in a 2D space, but the interactions used seem readily generalizable to 3D. I'll be using the Unity game engine, as I am relatively familiar with handling physics simulations in it.

Method

The rope is simulated using a velocity Verlet integration scheme, using the leapfrog *Check Fact* difference method to evaluate velocity dependant forces.
The article describes a number of forces that contribute to the total behavior. An internode elastic force, an internode velocity dependant dissipative force, a internode angle restricting force, two forces between the rim and base of the container, and an interesting perturbing force, to simulate the nodes gliding over one another despite each node only interacting with the node before and after itself.

There are 3 chain types with varying internode forces. One case, involving using an internode maximum angle of 63 degrees is described as a realistic chain. With a maximum angle of 180 degrees a fully flexible chain is modeled, this is similar to a rope. The final chain described is one with 3 sequential nodes being bound as a single long unit, retaining their internode elastic force, but always attempting to be colinear.

I've encountered multiple challenges in choosing elastic and damping coefficients that remain stable. Often the system becomes rapidly unstable or poorly models the behavior of a real chain. I am currently working on a method to select accurate coefficients.

A discrete rope in free fall

Rope in free fall