Jump to content
  • Advertisement
Sign in to follow this  

Anyone implemented "Particle-based Viscoelastic Fluid Simulation" ?

This topic is 3709 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm trying to implement fluid physics as described in the siggraph paper "Particle-based Viscoelastic Fluid Simulation", by Simon Clavet, Philippe Beaudoin, and Pierre Poulin. It's not working as well as I'd hoped, and I'm beginning to suspect a typo or something in their spring equations. First, I think algorithm 4 (Spring adjustment) uses both 'L' and 'Lij' to represent the rest length of the spring between particles i & j. Am I right in thinking they're interchangeable? Second, I'm slightly confused on the spring rest length. The spring adjustment code looks something like this :
for each particle pair ij
  if pair is closer than interaction radius
    add a spring if it doesn't already exist, with rest length = interaction radius
    increase the spring's rest length if the particles are further away than the rest length (ie spring is stretched)
    decrease the spring's rest length if the particles are closer than the rest length  (ie spring is compressed)

for each spring
   remove it if its rest length is greater than interaction radius
There seems to be something wrong here. AFAICT, it doesn't permit the springs to ever stretch to greater than the interaction radius, since it only compresses & stretches when the particle pair is closer than the interaction radius. And should it remove springs when their rest length is greater than the interaction radius? Seems like it would make more sense removing them when their current length is greater than the I.R. I've tried a few variations on this, but haven't yet come up with anything satisfactory. In particular, my simulation is really unstable when a cluster of particles join together. I get this kinda black hole effect where they suck more & more particles in to occupy exactly the same point, then blow up in a big supernova. So, it's a long shot, but I was wondering if anyone here had tried implementing this paper, and if they had to change much from the original description. Cheers, Jon [EDIT: Oh, the paper can be found here ]

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!