So where do these shapes we call Regions of Intense Vorticity [RIVs] come from?

Well, our study starts with a really powerful computer that can run simulations of a fluid flow – as no ordinary laptop could handle all the data. We can simulate all different types of fluids with different set ups.  For this particular simulation this is what we did:

  • First, we simulate a very short and powerful push on the fluid. This sets the fluid in motion.
  • Then the computer simulates how the fluid moves in the time after the initial push. We are interested in how vortices are created and dissipate in the fluid after the initial push
  • It can take up to a month to make an accurate simulation of how fluid reacts to the push.

Keep in mind that we are not looking directly at the velocity of the fluid but rather the vorticity. The vorticity is related to the circulation or rotation in a fluid. Vorticity exists when the material is rotating as it moves.

Before data goes into the game, we select the part of the simulation where the geometry of the flow is the most complex. This is where the flow is most `turbulent’ and we can start to identify ‘Regions of Intense Vorticity’ or RIVs. These are what you are playing within the game.

Each collection of RIVs comes from a snapshot in time during the simulation. Each time slice corresponds to a single frame in the following video.


Video Credit: Scott Leinweber

The blobs in this picture are the RIVs, yet they still need to be simplified before you can get your hands on them. So there are a couple of steps that we need to do before you get to explore the RIVs and help us with our research.

A closer look: The simulation that created these RIVs uses the Lattice Boltzmann method. This is a class of computational fluid dynamics (CFD) methods for fluid simulations. For the sake of simplicity, these methods solve the discrete Boltzmann equation, rather than the Navier-Stokes equations, however, they reproduce valid Navier-Stokes dynamics. This is an accurate approximation of the Navier-Stokes equations and easier to simulate. The simulations were run in collaboration with Prof. Joachim Mathiesen’s and Phd. Marek Misztal, Biocomplexity research group, Niels Bohr Institute.

Stitching the RIVs

The next thing we do with the data is called “stitching.” Notice how some of the blobs are on the boundary of the box? We need to close, or “stitch” the RIVs before you can start playing the game.




(A) Selecting the RIV pieces that are split at the periodic boundaries (red) and (B) Welding/stitching the RIVs pieces together.

Even after stitching, the RIVs are not quite ready for you to explore.  Next, we reduce the complexity of the mesh used to simulate each RIV because the data files are so big that they can’t be downloaded easily to your computer for you to play with. Below are examples of RIVs; the one on the right has been simplified, the one on the left has not.


  1. Lee, T., & Lin, C. (2001). A Characteristic Galerkin Method for Discrete Boltzmann Equation. Journal of Computational Physics, 171(1), 336-356. doi:10.1006/jcph.2001.6791
  2. Lee, T., & Lin, C. (2003). An Eulerian description of the streaming process in the lattice Boltzmann equation. Journal of Computational Physics, 185(2), 445-471. doi:10.1016/s0021-9991(02)00065-7
Simulation behind Turbulence