How to Enable Friction Contact Between SofaSphFluid Particles? #5574
-
|
My primary goal is to use SofaSphFluid with high viscosity to simulate the deformation behavior of soft tissue. After constructing a volume filled with SPH particles, I wanted to ensure that the SPH settings were adequate. Therefore, I attempted to create a benchmark scene similar to the "Lid-Driven Cavity Flow." In this scene, there was a volume filled with SPH particles and a rigid top lid moving along the x-axis. Using the "PenalityContactForceField + DefaultAnimationLoop," the particles only experienced collision forces in the z-axis (the normal direction of the top lid) but not in the x-axis (the moving direction of the top lid). I assumed this issue arose due to the PenalityContactForceField so I tried to use FrictionContactConstraint . However, I discovered that SofaSphFluid seems to only work with the "PenalityContactForceField + DefaultAnimationLoop" combination, rather than with the "FrictionContactConstraint + FreeMotionAnimationLoop." The particles didnot move with FrictionContactConstraint. How can I use SofaSphFluid to implement a scene like the "Lid-Driven Cavity Flow"? Alternatively, is there another method to ensure that the SofaSphFluid settings are sufficient to simulate fluid behavior given specific density and viscosity? Attachment is the scene I built, FYR |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
|
Hi @selina4715 Indeed as you understood PenalityContactForceField introduces collision response through spring forces in the contact direction. Therefore, no friction force is applied. To have objects moving when selecting the collision response FrictionContactConstraint, each MechanicalObject should have a ConstraintCorrection alongside. In your case, you could use the UncoupledConstraintCorrection The SPH plugin of OSFA has been implemented a long ago and not updated with latest literature methods. SOFA does not strongly aim at fluid mechanics. We would be happy to have contributions on this topic, but on our end this is unfortunately not among our future development. Hope this helps |
Beta Was this translation helpful? Give feedback.
Hi @selina4715
Indeed as you understood PenalityContactForceField introduces collision response through spring forces in the contact direction. Therefore, no friction force is applied. To have objects moving when selecting the collision response FrictionContactConstraint, each MechanicalObject should have a ConstraintCorrection alongside. In your case, you could use the UncoupledConstraintCorrection
The SPH plugin of OSFA has been implemented a long ago and not updated with latest literature methods. SOFA does not strongly aim at fluid mechanics. We would be happy to have contributions on this topic, but on our end this is unfortunately not among our future development.
Hope this helps