-
Notifications
You must be signed in to change notification settings - Fork 613
Description
Hello,
I've been using Simplicits for some time and with the help of @itsvismay it works well, but the newton solver sometimes generates "slow motion".
Put in words (sorry for the non-technical description): the first simulation steps are correct (collision, etc.) then -- randomly -- for a few simulation step it seems like the generate motion of the QPs slow down (visually, it looks like a slow motion). After some simulation steps, it may some time return to normal.
This 'slowmo' always happens upon contact of objects and is hardly predictable. The more objects there is, the more often this happen.
I'm currently using these solver options:
"direct_solve":False,
"use_cuda_graphs":False,
"timestep":0.01,
"max_newton_steps":20,
"max_ls_steps":10,
"newton_hessian_regularizer":1e-5,
"cg_iters":100,
"conv_tol": 1e-7
with collision:
"collision_particle_radius": 0.05,
"detection_ratio": 1.5,
"impenetrable_barrier_ratio": 0.25,
"collision_penalty": 1000.0,
"max_contact_pairs": 50000,
"friction": 0.5,
Any idea on how to solve this ? With more than 10 objects, it happens in 3/4 of the simulation.
I already tweaked parameters and it didn't help.
Unrelated: I also observed, that in some simulations, the memory allocated grows at each simulation step (usually only after collision steps) and I observe 10x growth after 400 simulation steps. Other similar simulations (same number of objects/qps, same params) with other initialization have memory remains more or less stable across the simulation after the scene reset call. Any idea ? I did not observe any correlation between "slowmo" and "memory growth".
Best.