Water Wave Simulation with Dispersion Kernels | Two Minute Papers #110

Károly Zsolnai-Fehér explains a new method for simulating water waves using Airy's dispersion model. A convolution approach makes it fast enough for GPUs, handling everything from capillary waves to pond ripples with practical runtimes.
Questions this video answers
December 1, 2016
Roughly 1 1/2 seconds per frame.
Chapters
Dear fellow scholars, this is two minute papers with in this piece of work we are interested in simulating the dynamics of water waves. There are quite a few forces acting on a bucket of water, such as surface tension, internal pressure, external force fields such as wind for instance, and gravity. Therefore, it is not a surprise that these waves can become quite complex with a lot of high frequency details that are difficult to simulate. Accurately modeling wave reflections after colliding with solids is also an important and highly sought after detail to capture. This piece of work simulates Sir George Biddle Airy's dispersion model. Now what does this mean exactly? The Airy model describes many common wave phenomena accurately, such as how longer waves are dominated by gravitational forces and how shorter waves dance, mostly according to the will of surface tension. However, as amazing this theory is, it does not formulate these quantities in a way that would be directly applicable to a computer simulation. The main contribution of this paper is a new convolution formulation of this model and some more optimizations that can be directly added into a simulation. And not only that, but the resulting algorithm parallelizes and maps well to the graphical card in our computers. We have earlier discussed what a convolution is. Essentially it is a mathematical operation that can add reverberation to the sound of our guitar or accurately simulate how light bounces around under our skin. Links to these episodes are available in the video description and at the end of the video. Check them out. I'm sure you'll have a lot of fun with them. Regarding applications, as the technique obeys arri's classical dispersion model. I expect and hope this to be useful for ocean and coastal engineering and in simulating huge tidal waves. Note that limitations apply. For instance, the original linear theory is mostly good for shallow water simulations and large larger waves in deeper waters. The proposed approximation itself also has inherent limitations, such as the possibility of waves going through thinner objects. The resulting algorithm is however, very accurate and honestly a joy to watch. It is also shown to support larger scale scenes. Here you see how beautifully it can simulate the capillary waves produced by these raindrops and of course the waves around the swans in the pond. This example took roughly 1 1/2 seconds per frame to compute. You know the drill. A couple more follow up papers down the line and it will surely run in real time. Can't wait. Also, please let me know in the comment section whether you have found this episode understandable. Was it easy to follow too much? Your feedback is, as always, highly appreciated. Thanks for watching and for your generous support, and I'll see you next time.
Sam.










