-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explosion when rigid body immersed in fluid at initialization time #56
Comments
First, the explosion comes from the fact that you start with an unphysical state. The fluid particles are already inside the boundary when you start. This causes a high pressure force which leads to the explosion. You have to get rid of the fluid particles in the boundary. I think SPlisHSPlasH can also be used for gases since they are also fluids. However, we never tried that. The viscosity is higher for numerical reasons. You can also take the parameter for water but then you probably should also consider to use XSPH to smooth the velocity field. See the works of Monaghan for more details. |
Hello, For the explosion, is there a way to prevent spawning fluid particles inside the said boundary ? Because currently, whenever we specify a Fluid in the scene using "FluidBlocks", it just spawns fluids inside a "box" whenever there are rigidbodies to put in later (the fluid particles data is spawned before rigidbodies. Therefore, fluid blocks doesn't know about rigidbodies position/orientation nor volume to compute the space to skip spawning particles. Leading to this unphysical state). So what would be the best solution to handle this issue ? |
Hi, there is no perfect solution for this yet. However, you can use the command line tool to sample a volume by particles. You then need one OBJ file which contains a mesh with your boundary. Alternatively you could start the simulation with the fluid block above your boundary and let it fall down, wait until it settles and then export the partio file of this final state. Then start a second simulation by loading the final state in the scene file. Hope that helps. |
Ok, I'll try this then. |
Thanks, it is working fine for me. |
Hello,
I'm currently trying to simulate some fluids interaction with rigidbodies, and the subject was a fan immersed into gases.
But when I put any rigidbody inside the fluid (even a simple sphere) and start the simulation, it just explodes (After troubleshooting a little, I found out that fluids particles are spawned inside and just at the skin of the rigidbody (they are spawned uniformly regardless of rigid bodies due to the initialization order) and then are ejected at the first frame, making the simulation highly unstable).
I took some print screens of a ball immerged into a fluid :
This is time 0 :
![image](https://user-images.githubusercontent.com/20280888/74611189-ae3a6d00-50c7-11ea-8085-707198e428e9.png)
This is time t = 0.00600 (the next frame)
![image](https://user-images.githubusercontent.com/20280888/74611196-bb575c00-50c7-11ea-9e1d-e85a4ecba1e3.png)
And other questions about what SplishSplash could do :
SplishSplash is made for fluids, but actually I never saw anyone using it for simulating gases like air interactions with solids (even though gases are fluids too). Is SplishSplash able to handle those kind of interaction or is it especially made for liquids ?
What are the physical units of constants you use to initialize Splishplash parameters ? Is it the one that we find in the tutorial SplishSplash is linked to ? (https://interactivecomputergraphics.github.io/SPH-Tutorial/)
Then, if it is the case, then why is the viscosity coefficient 10 time higher than water (I suppose, from its density, that it is water you wanted to simulate, isn't it) ?
Thanks
The text was updated successfully, but these errors were encountered: