For rendering animations I usually use the rendered viewport mode with custom preview components in Grasshopper, and the StepSolver.
I’ll create a material in Rhino, then reference it in the material input of the ‘Custom Preview’ component.
To test the simulation I’ll use the regular solver or bouncy solver component, then when I want to render the frames out, I’ll use the ‘StepSolver’ component. (disabling the other solver first - it’s best to only have one solver component on the canvas active at a time)
If you connect a slider to the Animate input, you can then right click it and choose the resolution/how many frames etc.
The ‘SubIterations’ input can be used to control how many simulation steps it takes between each rendered frame.
If ‘Momentum’ is False, it solves like the regular solver, trying to reach equilibrium quickly, and if it is True, it works like the Bouncy Solver.