I was poking around PhysicalSystem
out of curiousity and would love to understand the roles of the different Step
methods and how they correspond to the different Solver components in Grasshopper.
From my understanding, Step
is the method with everything turned on, i.e., momentum is present and damping hard-coded to 0.9; this is called by the main Solver component.
SimpleStep
is the method to use if you want to progress one iteration at a time (compared to the 10-iteration batches that Step
uses to improve convergence speed and maintain interactivity). There is also an overload for SimpleStep
to change the damping value used. SimpleStep
is called by the Step Solver component.
Finally, MomentumStep
and SoftHardStep
are called by the Bouncy Solver and Soft&Hard Solver components, respectively. Looking at the code is where I get a little confused, because I was always under the impression that the main Solver component is the momentum-less version of Bouncy Solver, but I see the same expressions for preserving momentum in both Step
and MomentumStep
, just that MomentumStep
gives you more control over the damping and internal iterations. Is my assessment inaccurate?