warp icon indicating copy to clipboard operation
warp copied to clipboard

Enable alternative material models for triangle/tetrahedra mesh

Open ShaoxiongYao opened this issue 2 years ago • 3 comments

Hi,

Thank you for providing this library!

I want to ask if there is a plan to enable alternative material models in integrator_euler.py. The current tetrahedra mesh assumes the Neo-Hookean model and alternative models have been implemented but commented out. For example, in eval_triangles there is alternative St. Venant-Kirchoff model implemented. I wonder if there will be flags to enable different material models in later iterations.

ShaoxiongYao avatar May 18 '23 14:05 ShaoxiongYao

Hi @ShaoxiongYao ,

I think having the material models on a flag is a good idea - it hasn't been a high priority, but it should be fairly straightforward to implement.

Generally I think Neo-Hookean should be preferred over St. Venant Kirchoff since it is has better volume preservation. Are there any other models you would like to see?

Cheers, Miles

mmacklin avatar May 30 '23 03:05 mmacklin

Hi @mmacklin,

Thank you for the reply! I do agree St. Venant Kirchoff's model is generally less preferred than Neo-Hookean (element inversion problem). But I think it would be a nice feature for users playing around with different options. If possible, I would like to see linear/co-rotated linear models that are more efficient, I am also happy to contribute if you are busy :)

Yours, Shaoxiong

ShaoxiongYao avatar May 31 '23 21:05 ShaoxiongYao

Hi, as a user interested in using warp for biomechanical applications, I strongly support the idea of separating the constitutive model from the integrator to ensure easier development of other hyperelastic materials (e.g. Mooney-Rivlin, Ogden, ...). Typically, you could have the constitutive model in a separate function that takes F and dFdt as input and expect PK1 as output. I'd be happy to contribute then. Thanks!

touste avatar Jun 06 '23 16:06 touste

Sorry we weren't able to address this issue before removing warp.sim from the codebase. As of Warp v1.10, the warp.sim module has been removed. It was deprecated back in v1.8 and has been superseded by the Newton physics engine, which is now maintained as an independent Linux Foundation project with a redesigned API focused on robotics and robot learning.

If this issue is still relevant to your work, we'd encourage you to check out Newton. There's a migration guide available that should help with the transition. You can open issues in the Newton repository or ask questions in the Newton Discussions section. Many of us from the Warp team are also involved with Newton and happy to help there.

shi-eric avatar Nov 06 '25 09:11 shi-eric