Quicktip: Rayleigh Taylor Instability (Season 3 Is Here!)

comments 9
Featured Video Play Icon

Yeeeha! We are back. To start off season three in a gentle way, let’s look at an easy setup to produce intricate eye candy. Also watch Mo burning his fingers on microwaved ink. The pleasures of real world experiments.

This was one of the questions we received while on season break: How would we go about creating a Rayleigh Taylor instability. After quickly brushing up on our fluid dynamics knowledge and conducting quite a funny real world experiment (“Let’s see if this really works!”), which involved microwaving dye, wo came up with a pretty simple setup that nevertheless generates quite amazing detail in the fluid swirls that are so typical of the phenomenon called Rayleigh Taylor instability.

Download Scene File (.hip)

For more theoretical background we can highly recommend FYFluidDynamic’s explanation as well as this impressive real world footage:

FYFluidDynamics on the Rayleigh Taylor Instability
Impressive real world example of Rayleigh Taylor Instability

P.S.: It’s good to be back 🙂

Share on FacebookTweet about this on TwitterPin on PinterestEmail this to someoneShare on LinkedInShare on Google+


  1. Dimitri S. says

    Hi, Thank you for your tutorials!
    Concerning the @P.y >= 0 group selection you did in the very beginning:
    I compared the group selection logic version and an if clause within the wrangle. It seems to me that that the group logic causes some kind of memory cache. I tried with about 32million points and the group logic node was about 557 MB while the other was about 500 mb. Somewhat surprisingly the group logic one ran at 0.04 ms while the other at 0.05. What blew me away was that when I started adding operations into the execute block, the group selection node kept a very steady execution time, while the execution time on the if-clause node got larger and larger (and it’s memory consumption also increased faster)!
    – Long story short, I would not mind more technical information about performance optimization/implications. XD

  2. Very awesome. Interesting note: The initial density mismatch that creates the mushroom cloud shape is described by Rayleigh-Taylor, but those secondary swirls and fine fractal detail is actually the Kelvin-Helmholz instability which has to do with the pockets of lower density that the initial motion of the RT instability creates, fun stuff!

  3. Robert says

    Thank you guys for such an amazing tutorial! looks like you have a monster PC, can you please tell the specks? I have 32GB ram and 6 core 3.9 processor, and still this simulation goes not so smooth:( would be great if you could make more awesome tutorials for mid speck workstations 🙂

    • Moritz says

      Hi Robert,
      most of our simulations are sped up in editing (which you can hear by the high pitch whining of our computers’ fans). Simulations are just costly (computationally and thus time wise). No way around it, sorry 🙁 Cheers, Mo

  4. Hi there,

    Would you be able to explain how you went about rendering this? I am relatively new to Houdini, so writing a pscale and rendering as particles is something I’m not quite sure I understand.


    • Moritz says

      Hi Chris,

      what you want to do is add a pscale point attribute to each point and then either using mantra or redshift render those points as particles (spheres). The pscale attrib will drive how big each individual particle is. On our patreon we’ve got the render setup for this (and a few other) projects : http://www.patreon.com/entagma

      Cheers 🙂

  5. Dickon Knowles says

    I’m having some odd behavior, my liquids don’t seem to mix at all unless I set the values on the second group to have a density of about 10. Then they mix but the result doesn’t look that good at all.
    Any ideas?

Leave a Reply

Your email address will not be published. Required fields are marked *