Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Incompressible Fluid simulation - SPH doesn't work

  1. Nov 24, 2007 #1
    Incompressible Fluid simulation - SPH doesn't work :(

    Hello all,

    I've been stuck in my project: Fluid Simulation using Smoothed Particle Hydrodynamics for a few days now.

    I do understand the core principle that fluid properties are calculated by integration on kernel W with range h. But somehow I cannot get this to work.
    First, I just can't come up with an equation for calculation of particle's mass so that the neighbours stay in a distance R (particle radius) == they have density 1000 when they are not penetrating and >1000 when they penetrate. I have tried various values, but the effect I get is that particles get scattered at first and then they create few clusters to retain set density.If there are few particles they even start rotating around or moving through each other in response to low/high densities change. If I set the kernel radius to a smaller value, lets say 2.2x particle radius it more-less keeps particle separate, but it doesn't really act as a continuum fluid.

    All SPH animations I have seen manage to keep spherical particles separated with at least their radius distance - I can do this only with small kernel as I said before.

    I have tried even 2 different approaches from papers:
    1)Particle-based simulation for Interactive Applications
    2)Weakly compressible SPH for free surface flows

    The best result I get is by combining all from paper 1 with Tait equation for pressure in paper 2 + Courant-Friedrich-Lewy law for adaptive time steps and kernel radius ~ 2-2.2x particle's radius,

    Are there any recommended values - for particle's mass, kernel's smoothing length (they used 4*h (h-particle radius) in paper 2)?


    Thanks for any comments.
    Peter
     
  2. jcsd
  3. Feb 13, 2008 #2
    Initializing SPH data sets

    The difficulties with initializing SPH data sets has to do with an errorneous low density value at the boundaries (the sum over all particles is simply smaller at the boundaries than in the middle). You can do one of the following things:

    1. let the simulation run with the initial bounding box as boundary for a few hundred timesteps and all particles damped in their absolute velocity. This will most likely lead to a more stable initial configuration.

    2. if you're not interested in accuracy you can make the particles at the boundary heavier than the ones inside the fluid. You can simply choose the mass of the particles at the boundary in a way that you have the same density at the boundaries than in the middle. However, as particles start to move you might have heavier particles in the middle which is not at all perfect.

    3. You can use a correction approach such as the one proposed in

    Bonet, J. and Kulasegaram, S., A simplified approach to enhance the performance of
    smooth particle hydrodynamics methods, Applied Mathematics and Computation,
    126(2-3), pp. 133-155, 2002

    If you choose 3. the note that the volume is always constant and can be precomputed for each particle. Either as V = (initial_distance)^3 or something like
    V = 1 / (\sum_j W_{ij})

    For the value of h I choose about the initial particle distance and use the spline kernel e.g. discussed in Monaghan - Smoothed Particle Hydrodynamics - 2005
    which has support length of 4h ( interval [-2h,2h])
     
  4. Oct 3, 2011 #3
    Re: Incompressible Fluid simulation - SPH doesn't work :(

    Hello, I have a question about Kernel function. What is the purpose of the derivatives o these function? there are used to keep the system stable without divergences?.. I understand that every passive system most be decreasing (derivative) in the sense of Lyapunov in order to be stable.

    Regards.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?