Multiple deformable objects colliding

Hello,

Is it possible with iMSTK to generate a simulation with multiple deformable objects that can collide ? In the DeformableBody example’, I’ve tried to add a second mesh without fixed id on top of the first one, and let the gravity do its job, but the two meshes are not colliding (ie the second one goes across the first one).

Also, is it possible to set the stiffness not globally but per cell for an object ?

And finally, is it possible to use iMSTK just as a solver without a scene, and do the rendering with some other tools ?

Thanks

1.) We don’t currently have any examples that do deformable vs deformable. I’d look out for it in the future.
2.) You cannot vary stiffness per element. Though you could fairly easily extend with your own collision constraint addition functions that vary stiffness by element.
3.) The typical example simulation is setup with a VTKViewer and SceneManager. If you don’t want the viewer, don’t use a VTKViewer. If you want to advance the scene at your own rates you may do something like this:

auto sceneManager = std::make_shared<SceneManager>();
sceneManager->setActiveScene(myScene);
sceneManager->init();

while (my program is running)
{
    double timeToAdvanceBy = 0.01;
    sceneManager->advance(timetoAdvanceBy);
}
sceneManager->uninit();

No rendering will be done.

Thanks for you answer !
Cool if in the near future there can be an example with deformable vs deformable, and thanks for the hint about the “without rendering” question, i’ll try this !

Simon

1 Like

Any particular examples you had in mind (simple or otherwise)? Often we get away with rigid vs deformable.

I was thinking of some advance simulation, let’s say the insertion of some deformable tool inside some deformable arteries, with contact and all … maybe that’s out of the scope

Thanks