Water column loses volume without increase in density with WCSPH #243
-
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Weakly Compressible SPH (WCSPH) does not enforce incompressibility. It just tries to counteract compression by a force which depends on a stiffness parameter. Since the method is explicit, it is only conditionally stable. So if you want to have less compression using WCSPH, you have to increase the stiffness parameter. However, since it is an explicit method, it will tend to get unstable when using a high stiffness. In this case you have to take a small time step size to get stable results. Therefore, WCSPH is finally much slower than any implicit method for almost incompressible fluids (which has been shown in several publications). Btw. just setting the CFL factor to a small value does not help since a fluid which is not in motion will always take the largest possible time step size. |
Beta Was this translation helpful? Give feedback.
-
One explanation for the volume loss is of course that the regular samping at the beginning is not dense at all. This means in the initial configuration the particles have already a density of less then the rest density. Moreover, I just remind that long ago we reduced the initial density by a factor of 0.8 because otherwise the denseMode 2 leads to an initial positive density and therefore to pressure forces. I will put it on my todo list to remove this factor since it is misleading. You can do it yourself in your code: SPlisHSPlasH/SPlisHSPlasH/FluidModel.cpp Line 258 in a081124 Just remove the 0.8. |
Beta Was this translation helpful? Give feedback.
One explanation for the volume loss is of course that the regular samping at the beginning is not dense at all. This means in the initial configuration the particles have already a density of less then the rest density. Moreover, I just remind that long ago we reduced the initial density by a factor of 0.8 because otherwise the denseMode 2 leads to an initial positive density and therefore to pressure forces. I will put it on my todo list to remove this factor since it is misleading. You can do it yourself in your code:
SPlisHSPlasH/SPlisHSPlasH/FluidModel.cpp
Line 258 in a081124
Just remove the 0.8.