Non-physical behaviour - Solid Particle in Fluid

Hello, everyone,

I am currently creating a simulation in which a basin is filled with a fluid containing a particle (density higher than fluid density). During the filling process, a gap (see illustration before and after) is formed between the fluid and the particles when the fluid with particles hits the fluid, which is already in the basin. Furthermore, the particle does not sink but rises, which may not be physically correct. Do you know what other parameters I could vary here to solve this problem. So far I have only tried the coef of sound.

Info: At a later time I would like to have the upper fluid filled through a tube. I work with freecad with implemented sph macro.

I hope you can help me with my problem. Thank you very much!

Kind regards



  • edited May 29


    Its a bit difficult to see what is going on, a tip is, that inside paraview, if you click your particle object, and then under options look for "Size" you can increase the size of each individual particle.

    Also your amount of particles is very low, you should increase it, especially since it is just a 2D simulation. If you have two fluids on top of each other, and the bottom one has a lower density, it is expected that the bottom one will try to interchange places with the top one.

    Other parameters which might be of interest to you is the ViscoBoundFactor (friction between fluid and boundary particles), artificial viscosity value (in DualSPHysics, how much friction the fluid has with it self) and you could play around with Coefh, to increase smoothing kernel size and see effect of that.

    Playing with speed of sound will pretty much only alter the time it takes to solve your simulation. In general ensure that speed of sound is 10 times larger than largest fluid velocity in domain, to ensure 99% incompressibility - if your case is incompressible of course.

    Kind regards

  • Thanks for the quick response. I increased the number of particles right after I asked the question and I'm already getting better results. I will try your other recommendations. Thank you!

    Kind regards


  • Can you share with us the XML?

    In that way we can help you


  • Thank you. I'd like to check the recommendations myself first. Tomorrow I can share the current revision.

    Kind Regards

  • Hi,

    Some explanation about the gap:

    the gap created gives a virtual volume for your solid bigger than wanted, hence diminishing its density and thus the particle is floating instead of sinking.

    Solution are being coded into Dual to eliminate the gap, but are not available yet.

    increasing the resolution is a good idea (the size of the gap is a function of the resolution, so the relative importance of the problem is less)

    a dirty fix can be to take into account the gap that will be created and to adjust accordingly the geometry (worked for me so far)


  • That helps me too. I increased the resolution more and more and compared 2 particles with the same density in a water-filled tank. At the beginning I placed one particle into the liquid and the other one I let fall in from the air.

    Only around the particle that fell from the air into the tank this gap was formed. According to the explanation, this gap is formed by the force of the particle when it hits the fluid.

    I continued to increase the resolution until the sinking speeds were approximately the same. For the sake of interest I used a low resolution and as you said I compensated the error in density due to the existing gap with a larger particle. The result was that the particle settled in the pool but here I found larger deviations in the settling speed.

    For your information: At the end I would like to simulate the separation process of a swim-sink plant in which plastics are separated on the basis of different densities. Among other things I would like to determine the possible throughput of such a plant with my simulations. I started with 2D simulations and will switch to 3D after the ascent and descent behaviour is physically correct.

    Thanks for your feedback.

    Kind regards

  • If you are simulating fluids with different densities, you should use a multi-phase version rather than the one-phase code.

    Multphase version will be release mid July including examples such as these ones:


  • Hello,

    I have two other questions on this topic. How can i output the pressure in DesignSPHysics? Is there a certain command I have to enter at additional parameters? Unfortunately I cannot find it in the manual.

    Furthermore I am currently investigating the sinking speed of a particle in the fluid. According to theoretical calculations this should be 3 times higher than in my previous simulations. I have simulated different tank sizes and with increasing tank size the sinking speed increases. Is this due to the influence of the wall on the fluid and the particle? The further the particle sinks, the slower it becomes. After 3 seconds it hardly moves at all.

    Link to XML-Files of the two tanks (small and big):

    Thanks for your help.

    Lg Lukas

Sign In or Register to comment.