Visual Computing

@IST Austria

Generalized Non-Reflecting Boundaries for Fluid Re-Simulation

Input simulation
Removing a solid obstacle
Cow splash
Locally increasing the resolution
Given an input fluid simulation (top left), our algorithm can make local changes retroactively and seamlessly re-integrate them into the original fluid simulation. Here, we locally edit solid geometry (top right), add a cow splash (bottom left), or re-simulate a specific region at a higher resolution (bottom right). Please see our video.


ACM Transactions on Graphics 35(4) (SIGGRAPH 2016)


When aiming to seamlessly integrate a fluid simulation into a larger scenario (like an open ocean), careful attention must be paid to boundary conditions. In particular, one must implement special “non-reflecting” boundary conditions, which dissipate out-going waves as they exit the simulation. Unfortunately, the state of the art in non-reflecting boundary conditions (perfectly-matched layers, or PMLs) only permits trivially simple inflow/outflow conditions, so there is no reliable way to integrate a fluid simulation into a more complicated environment like a stormy ocean or a turbulent river.

This paper introduces the first method for combining non-reflecting boundary conditions based on PMLs with inflow/outflow boundary conditions that vary arbitrarily throughout space and time. Our algorithm is a generalization of state-of-the-art mean-flow boundary conditions in the computational fluid dynamics literature, and it allows for seamless integration of a fluid simulation into much more complicated environments. Our method also opens the door for previously-unseen post-process effects like retroactively changing the location of solid obstacles, and locally increasing the visual detail of a pre-existing simulation.

Supplementary video



author = {Morten Bojsen-Hansen and Chris Wojtan},
title = {Generalized Non-Reflecting Boundaries for Fluid Re-Simulation},
journal = {ACM Transactions on Graphics (SIGGRAPH 2016)},
year = {2016},
volume = {35},
number = {4},


We thank David Hahn, Stefan Jeschke and Rok Grah for help proofreading our paper, the IST Austria Visual Computing group for helpful feedback throughout the project, and the anonymous reviewers for useful comments on our work. Finally, we thank Side Effects Software for Houdini licences.

This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme under grant agreement No 638176.