Dear Fellow Scholars, this is Two Minute Papers with Károly Zsolnai-Fehér.
If we study the laws of fluid motion from physics, and write a computer program that
contains these laws, we can create beautiful fluid simulations like the one you see here.
The amount of detail we can simulate with these programs is increasing every year, not
only due to the fact that hardware improves over time, but also, the pace of progress
in computer graphics research is truly remarkable.
However, when talking about fluid simulations, we often see a paper produce a piece of geometry
that evolves over time, and of course, the more detailed this geometry is, the better.
However, look at this.
It is detailed, but something is really missing here.
Do you see it?
Well, let’s look at the revised version of this simulation to find out what it is.
Yes, foam, spray and bubble particles are now present, and the quality of the simulation
just got elevated to the next level.
Also, if you look at the source text, you see that this is a paper from 2012, and it
describes how to add these effects to a fluid simulation.
So, why are we talking about a paper that’s about 8 years old?
Not only that, but this work was not published at one of the most prestigious journals.
Not even close.
So, why?
Well, you’ll find out in a moment, but I have to tell you that I just got to know about
this paper a few days ago, and it is so good it has singlehandedly changed the way I think
about research.
Note that a variant of this paper has been implemented in a Blender plugin called FLIP
Fluids.
Blender is a free and open-source modeler program, which is a complete powerhouse, I
love it.
And this plugin embeds this work into a modern framework, and boy, does it come to life in
there.
I have rerun one of their simulations and rendered a high-resolution animation with
light transport.
The fluid simulation took about 8 hours, and as always, I went a little overboard with
the light transport, that took about 40 hours.
Have a look.
It is unreal how good it looks.
My goodness.
It is one of the miracles of the world that we can take a piece of silicon in our machines,
and through the power of science, explain fluid dynamics to it so well that such a simulation
can come out of it.
I have been working on these for many years now, and I am still shocked by the level of
progress in computer graphics research.
So, let’s talk about three important aspects of this work.
First, it proposes one unified technique to add foam, spray and bubbles in one go to the
fluid simulation.
One technique to model all three.
In the paper, they are collectively called diffuse particles, and if these particles
are deeply underwater, they will be classified as bubbles.
If they are on the surface of the water, they will be foam particles, and if they are further
above the surface, we will call them spray particles.
With one method, we get all three of those.
Lovely.
Two, when I had shown you this footage with and without the diffuse particles, normally
I would need to resimulate the whole fluid domain to add these advanced effects, but
this is not the case at all.
These particles can be added as a post-processing step, which means that I was able to just
run the simulation once, and then decide whether to use them or not.
Just one click, and here it is, with the particles removed.
Absolutely amazing.
And three, perhaps the most important part, the technique is so simple I could hardly
believe the paper when I saw it.
You see, normally, to be able to simulate the formation of bubbles or foam, we would
need to compute the Weber numbers, which requires expensive surface tension computations and
more.
Instead, the paper forfeits that and goes with the notion that bubbles and foam appear
at regions where air gets trapped within the fluid.
On the back of this knowledge, they note that wave crests are an example of that, and propose
a method to find these wave crests by looking for regions where the curvature of the fluid
geometry is high and locally convex.
Both of these can be found through very simple expressions.
Finally, air is also trapped when fluid particles move rapidly towards each other, which is
also super simple to compute and evaluate.
The whole thing can be implemented in a day and it leads to absolutely killer fluid animations.
You see, I have a great deal of admiration for a 20-page long technique that models something
very difficult perfectly, but I have at least as much admiration for an almost trivially
simple method that gets us to 80% of the perfect solution.
This paper is the latter.
I love it.
This really changed my thinking not only about fluid simulation papers, but this paper is
so good, it challenged how I think about research in general.
It is an honor to be able to talk about beautiful works like this to you, so thank you so much
for coming and listening to these videos.
Note that the paper does more than what we’ve talked about here - it also proposes a method
to compute the lifetime of these particles, tells us how they get advected by water and
more.
Make sure to check out the paper in the description for more on that.
If you are interested, go and try Blender, that tool is completely free for everyone
to use, I have been using it for around a decade now and it truly is incredible that
something like this exists as a community effort.
The FLIP Fluids plugin is a paid addition.
If one pays for it, it can be used immediately, or, if you spend a little time, you can compile
it yourself, and this way, you can get it for free.
Respect for the plugin authors for making such a gentle business model.
If you don’t want to do any of those, even Blender has a usable built-in fluid simulator.
You can do incredible things with it, but it can’t produce diffuse particles.
I am still stunned by how simple and powerful this technique is.
You can really find gems anywhere, not just around the most prestigious research venues.
I hope you got inspired by this, and if you wish to understand how these fluids work some
more, or write your own simulator, I put a link to my Master’s thesis where I try to
explain the whole thing as intuitively as possible, and it also comes with the full
source code free of charge for a simulator that runs on your graphics card.
If you feel so voracious that even that’s not enough, I’ll also highly recommend Doyub
Kim’s book on Fluid Engine Development.
That one also comes with free source code.
This episode has been supported by Weights & Biases.
Here you see their beautiful final report on a point cloud classification project of
theirs and see how using different learning rates and other parameters influences the
final results.
Weights & Biases provides tools to track your experiments in your deep learning projects.
It can save you a ton of time and money in these projects and is being used by OpenAI,
Toyota Research, Stanford and Berkeley.
Make sure to visit them through wandb.com/papers or just click the link in the video description
and you can get a free demo today.
Our thanks to Weights & Biases for helping us make better videos for you.
Thanks for watching and for your generous support, and I'll see you next time!