- This topic has 3 replies, 2 voices, and was last updated 9 years, 1 month ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
Home › Forum › SOFA › Using SOFA › [SOLVED] Physics slow down at large Young’s modulus
Hello,
I found an interesting issue. I’m trying to model a flexible body falling inside a rigid body. Both solids are imported form vtk meshes (both are tetrahedrons), I made the rigid body rigid by not adding the EulerImplicitSolver to it.
As the flexible body is quite complicated, my initial body is just a ball.
It all seems quite realistic, but when I increase the ball’s (the flexible body) Young’s modulus to 200 GPa (ie steel) from 2e8. The physics slows down. Sofa shows 20+ FPS values when running in Real Time, yet the ball is hardly moving (gravity is normal Earth gravity).
Any ideas why? And how to fix it?
Thanks.
Zs.
Hi,
Indeed stiff elasticity is more challenging to simulate.
The condition number of the implicit system increases as the stiffness increases.
I guess you are using an iterative solver (such as the conjugate gradient) that will require more iterations to converge (and so will be slower). If the solution is not accurate enough, it can result in absence of gravity.
A direct solver (such as Cholesky decompositions) is less sensitive to numerical difficulties but can still have trouble with too stiff systems.
If you need to simulate stiff materials, have a look to our recent publication on the topic: https://hal.inria.fr/hal-01157835
Best,
Matthieu
Thanks. I’ll have look.
Zsolt
Hi,
I think I solved it.
The Cholesky solver didn’t work, it was complaining about the determinant.
However, increasing the number of iterations (to 100) for the CGLinearsover helped. The problem is not too big, so actually it still runs pretty quickly.
Cheers,
Zs.
WARNING
The forum has been moved to GitHub Discussions.
Old topics and replies are kept here as an archive.