Computer Graphics Laboratory ETH Zurich


Two-Scale Particle Simulation

B. Solenthaler, M. Gross

Proceedings of ACM SIGGRAPH (Vancouver, Canada, August 7-11, 2011), ACM Transactions on Graphics, vol. 30, no. 4, pp. 81:1-81:8


We propose a two-scale method for particle-based fluids that allocates computing resources to regions of the fluid where complex flow behavior emerges. Our method uses a low- and a high-resolution simulation that run at the same time. While in the coarse simulation the whole fluid is represented by large particles, the fine level simulates only a subset of the fluid with small particles. The subset can be arbitrarily defined and also dynamically change over time to capture complex flows and small-scale surface details. The low- and high-resolution simulations are coupled by including feedback forces and defining appropriate boundary conditions. Our method offers the benefit that particles are of the same size within each simulation level. This avoids particle splitting and merging processes, and allows the simulation of very large resolution differences without any stability problems. The model is easy to implement, and we show how it can be integrated into a standard SPH simulation as well as into the incompressible PCISPH solver. Compared to the single-resolution simulation, our method produces similar surface details while improving the efficiency linearly to the achieved reduction rate of the particle number.


The physical and visual quality of particle-based solvers like SPH are defined by the number of particles that are used to discretize the fluid. Generally, the more particles that are used, the smaller the damping artifacts and the more small-scale details like splashes, spray, and surface waves can be reproduced. However, doubling the resolution of a simulation increases the particle number by a factor of 8. This increases the computational cost notably since it depends linearly on the number of particles.

To cope with the increasing demand for more detailed flow structures, we propose a new level-of-detail technique that follows the idea to allocate computing resources to regions where complex flow behavior emerges. Instead of recursively subdividing particles which results in particles of different sizes that interact with each other, we rather use a hierarchy of different resolution levels. While the number of resolution levels is not fundamentally limited with our method, we focus on two scales only.

We use two distinct but coupled simulations; one simulation that computes the whole fluid with a coarse resolution L (blue), and a high-resolution level H that simulates a subset of the fluid with small particles (yellow). Boundary conditions (red) are defined, and feedback forces from H onto L are included. The particles of both simulations can then be merged for the final rendering. An overview of our method is shown in Figure 1.

Figure 1: Method overview.


Our method can stably handle dynamically changing and complex high-resolution regions. We present several examples in the paper using different sampling criteria. Figure 2 shows an example where the area around cylindrical obstacles is computed with quadrupled resolution (factor 64 smaller particles) to get small-scaled splashes and individual droplets at impact locations. In this particular example, our method reduces the total particle number and hence the overall computational cost by a factor of 6.7 compared to the single-scale reference simulation.

Figure 2: With our two-scale method, computing resources can be allocated to regions where complex flow behavior emerges, like in this example around cylindrical obstacles.

The result is visually compared to the single-scale reference simulation in Figure 3, showing that our method produces very similar flow details.

Figure 3: Two frames of the simulation, each of them showing the result of of our two-scale algorithm (left) and the single-resolution solution (right).


Download Paper
Download Video
Download Paper