Vis Comput (2011) 27: 241–248 DOI 10.1007/s00371-010-0531-1 O R I G I N A L A RT I C L E Realistic simulation of mixing fluids Shiguang Liu · Qiguang Liu · Qunsheng Peng Published online: 17 November 2010 © Springer-Verlag 2010 Abstract Recently, simulation of mixing fluids, for which wide applications can be found in multimedia, computer games, special effects, virtual reality, etc., is attracting more and more attention. Most previous methods focus separately on binary immiscible mixing fluids or binary miscible mixing fluids. Until now, little attention has been paid to realistic simulation of multiple mixing fluids. In this paper, based on the solution principles in physics, we present a unified framework for realistic simulation of liquid–liquid mixing with different solubility, which is called LLSPH. In our method, the mixing process of miscible fluids is modeled by a heat-conduction-based Smooth Particle Hydrodynamics method. A special self-diffusion coefficient is designed to simulate the interactions between miscible fluids. For immiscible fluids, marching-cube-based method is adopted to trace the interfaces between different types of fluids efficiently. Then, an optimized spatial hashing method is adopted for simulation of boundary-free mixing fluids such as the marine oil spill. Finally, various realistic scenes of mixing fluids are rendered using our method. Electronic supplementary material The online version of this article (doi:10.1007/s00371-010-0531-1) contains supplementary material, which is available to authorized users. S. Liu () · Q. Liu School of Computer Science and Technology, Tianjin University, Tianjin, China e-mail: lsg@tju.edu.cn S. Liu State Key Lab of Virtual Reality Technology and System, Beihang University, Beijing 100191, China Q. Peng State Key Lab of CAD&CG, Zhejiang University, Hangzhou 310058, China Keywords LLSPH · Mixing fluids · Physically based modeling · Miscible · Immiscible 1 Introduction Fluid scenes are very common natural phenomena which are often included in movie special effects and digital video games. There are two categories of fluids, according to their components: single fluids and mixing fluids. Single fluids are such that there is only one fluid in them: such as smoke, fire, water, etc. Mixing fluids consist of multiple interacting fluids: such as floating oil in water, sugar dissolving in coffee, etc. Until now, most methods focused on realistic simulation of single fluids. In recent years, some researchers proposed methods for simulation of mixing fluids. However, these methods can only be used to simulate a special type of mixing fluids, for example, immiscible or miscible fluids. Little attention has been paid to realistic simulation of multiple mixing fluids. In this paper, based on the solution principles in physics, we present a unified framework for realistic simulation of mixing fluids with different solubility. We propose an LLSPH (Liquid–Liquid Smooth Particle Hydrodynamics) model to simulate the mixing process of multiple fluids with different solubility. Differently from previous works, LLSPH can express the interactions between different liquid–liquid mixings under a unified framework. For the simulation of miscible fluids, a special selfdiffusion coefficient is designed to calculate the interactions among miscible fluids. For the simulation of immiscible fluids, marching-cube-based method is adopted to trace the interfaces among different types of fluids. To extend the simulation to boundary-free domain, we adopted an optimized spatial hashing method for fast identification of the interior domain and the boundary domain. The main contributions of our paper can be summarized as follows: 242 • LLSPH model is proposed to simulate the mixing process of multiple fluids with different solubility under a unified framework. • By introducing solution principles in physics into LLSPH, different mixing fluids can be simulated by only designing a special self-diffusion coefficient and calculating the interfaces which are simple and efficient. • Our method can also be used to simulate mixing fluids in a boundary-free domain such as the phenomenon of the marine oil spill. As far as we know, it is the first attempt to simulate such phenomenon in computer graphics. The paper is organized as follows. In Sect. 2 we give a brief survey of related work. Then we give an introduction to SPH theory in Sect. 3. In Sect. 4 we propose the model of LLSPH. Section 5 discusses the implementation of LLSPH under different conditions and gives the rendering results. Conclusions and future work conclude the paper. 2 Related work Fluid simulation has been a hot research area in computer graphics, with wide applications in movie special effects, computer games, virtual reality, etc. Until now, there are mainly two types of methods for realistic simulation of fluids, which are the Eulerian based methods and the Lagrangian based methods. The former focus on 3D grids and calculate the grid parameters at each time step while the latter represent fluids with a collection of particles and then trace their motion. After Stam [1] proposed the method of stable fluids allowing large time step calculation, Eulerian based methods are widely used for fluid simulation [2–6]. However, to capture more details with Eulerian based methods, the division of the space should be fine, which would require large amounts of calculations. On the contrary, Lagrangian based methods [7] are more flexible to model fluids with different resolutions. They are also suitable for implementation and user interaction. Among them, SPH [8] is widely used which comes from computational astrophysics. Stam et al. [9] were the first to apply SPH to simulate gas and fire phenomena. Takeshita et al. [10] used particle method for explosive flames. In addition to these compressible phenomena, SPH was also used for the simulation of liquids [7, 11]. Premože et al. [12] improved SPH by MPS (Moving Particle Semi-implicit) method. MPS needs solving complex Poisson equations, and thus is time-consuming. Recently, Becker et al. [13] simulated free surface flows using weakly compressible SPH. This method can be used for volume-preserving low-viscosity liquids while only appropriate for medium-scale and small-scale phenomena. The above methods can deal with single fluids well, however, they are not suitable for realistic simulation of mixing fluids. S. Liu Currently, there are a few methods for simulation of mixing fluids, which separately focus on miscible and immiscible fluids. For the simulation of miscible fluids, Mizuno et al. considered volcanic clouds as consisting of two miscible fluids: one was magma and the other was the entrained gas [14]. They simulated this phenomenon by employing a single-phase non-viscosity Navier–Stokes equation, without considering the interaction between the two components of the mixture. Zhu et al. proposed a Two-Fluid Lattice Boltzmann Model [15]. With this model, they simulated miscible binary mixtures like pouring honey into water, Coca Cola into wine, etc. For the simulation of immiscible fluids, Hong et al. presented novel techniques for simulation of bubbles, a kind of mixing fluid of gas and water, considering the interaction between liquid and gas [16]. Volume-of-Fluid (VOF) method was used to track the bubble surface in liquid. They also upgraded the method of VOF to level set for simulation of discontinuous fluids [17]. More recently, they simulated bubbly water by incorporating a new bubble model based on SPH into an Eulerian grid-based simulation [18]. By this method, lively motion of bubbly water with small scale details can be animated efficiently. Long lasting bubbles simulated by level-set method can suffer from a small but steady volume error that accumulates to a visible amount of volume change. Kim et al. [19] propose to address this problem by using the volume control method. To realistically animate the pouring of a glass of beer, Cleary et al. [20] presented a discrete particle-based method allowing of creating a very realistic animation of bubbles in fluids. The above methods require a full 3D fluid solver with free surface and surface tension. To simulate bubble and foam effect at high frame rates, Thürey et al. [21] coupled SPH simulation with a shallow-water-based particle model. Boling water is another kind of immiscible fluid. Mihalef et al. [22] simulated the boiling phenomenon based on physics principles. Muller et al. [23] proposed a method for modeling fluid–fluid interaction based on the SPH. This method made possible the simulation such as boiling water, the dynamics of a lava lamp, etc. For the simulation of multiple immiscible fluids, Losasso et al. [24, 25] simulated the interactions among multiple liquids by extending the particle level-set method. To handle both miscible fluids and immiscible fluid simulations, Park et al. [26] presented an LBM-based framework, in which the low order advection procedure made their results diffusive. As LBM consumed a large amount of memory, this method is not suitable for high-resolution domains. Kang et al. [27] improved it by using a method of volume fractions. Lenaerts [28] simulated the mixing phenomena between fluids and granular materials such as sand particles. This method focused on the interactions between liquid and granular materials which cannot be used to model liquid– liquid mixing with different solubility. Recently, Bao et al. Realistic simulation of mixing fluids [29] proposed a volume-fraction-based method for simulation of mixing fluids. It is a grid-based method which can generate good mixing results of multiple fluids. Although some methods are proposed for simulation of miscible fluids and some for immiscible fluids, little attempt was reported on handling the mixing fluids in a unified way. How to simulate multiple mixing fluids with different solubility under a unified framework is really a challenging work. 3 SPH model SPH is an interpolation method for particle systems [8]. The field quantities that are defined only at discrete particle locations can be evaluated anywhere in space by a continuous function A(r) at a position r. The contributing particles are determined by a kernel function W of finite support associated with each particle. The smoothing kernel is important for the accuracy and validity of the simulation result. A suitable kernel must have the following properties: W (r, h) dr = 1, lim W (r, h) = δ(r), (1) Ω h→0 where r is any point in Ω, W is a smoothing kernel with h as the width, δ is Dirac’s delta function. The kernel in (1) must be normalized. In addition, it must also be positive. The numerical equivalent of the kernel function can be approximated by a summation interpolant, A(r) = Aj Vj W (r − rj , h), (2) where j is the iterator over all particles, Vj is the volume attributed to particle j, rj the position, and Aj is the value of any quantity A at rj . If we use m and ρ to represent the mass and density of the fluid, respectively, then (2) can be expressed as mj W (r − rj , h). (3) A(r) = Aj ρj Equation (3) is the basic formulation of the SPH method, which can be used to approximate any continuous quantity field. 4 LLSPH model for mixing fluids To simulate mixing fluids realistically, we must first clear the solubility relationships and the properties of the liquid solvent. Solvents are usually divided into two categories: polar solvents and non-polar solvents. Polar solvents can dissolve ionic compounds, as well as the dissociated covalent compounds. However, the polar solvents can only dissolve non-polar covalent compounds. For example, the salt, as an 243 ionic compound, can be dissolved in water, but cannot be dissolved in ethanol [30]. We will take binary mixing fluids as an example to introduce LLSPH model for the simulation of mixing fluids. 4.1 Simulation of binary miscible and immiscible fluids According to the above theories, we divide mixing fluids into polar fluids and non-polar fluids. Polar fluids and nonpolar fluids are both miscible, but a polar fluid and a nonpolar fluid are immiscible. In this paper, we mark the particles belong to polar and non-polar fluids as 1 and −1, respectively. Suppose fluids a and b are miscible, and the mass ratios of fluids a and b at position r are respectively Ca and Cb . Since the sum of Ca and Cb is 1, if Ca is calculated, Cb can be obtained simultaneously. Denote Ca as C, then we can express its changes during the mixing process as ρ dC/dt = D∇ 2 C, where ρ is the density of fluid a and D the self-diffusion coefficient. Based on the SPH model, the above equation can be calculated as dCi D mj 2 Cj = ∇ W (ri − rj , h). dti ρi ρj (4) Unfortunately, (4) does not obey the law of conservation of mass, and its solution is unstable if the particles are in random arrangement. Take two particles i and j as an example: the exchanged energy calculated from particle i and particle j using (4) is not the same. To address this problem, we introduce the heat conduction theory [31] to SPH model and calculate C as the following: dCi mj 4Di Dj (Ci − Cj )F |ri − rj | , (5) = ρi · dt ρ j Di + Dj (6) (ri − rj )F |ri − rj | = ∇W (ri − rj , h), where Di and Dj are the self-diffusion coefficients of particle i and particle j, Ci and Cj are the ratios of fluid a in particle i and particle j . From (5) and (6) we can see that the mass ratio of each fluid in each particle is determined by Ci − Cj . If Ci is larger than Cj , the concentration of fluid a is higher than of fluid b, and then fluid a will diffuse to fluid b; and vice versa. The special design of the self-diffusion coefficient makes both fluids obey the law of conversation of mass. Differently from miscible fluids, no diffusion occurs between immiscible fluids, so the mass ratio of each fluid at each particle will be unchanged. In our experiments, the mass ratio of each fluid at each particle is kept constant. To render the immiscible fluids realistically, the interfaces between them should be calculated. Here, we adopted marching-cube principle to extract the interfaces [32, 33]. Figure 1 shows a cell for marching-cube calculation. The numbers from 0 to 7 identify each vertex, among which the 244 S. Liu Fig. 1 A cell in the marching-cube calculation value of vertex 6 is more than the threshold of the interface in the cell, and it is shown in red. The points of intersection of the interface can be calculated using the method of linear interpolation. After the triangles in each cell are obtained, we connect them to generate the final interfaces. We call the above method to model the interactions among the liquid– liquid mixing fluids as LLSPH (Liquid–Liquid Smooth Particle Hydrodynamics) in this paper. 4.2 Simulation of multiple mixing fluids LLSPH can be easily extended for simulation of multiple mixing fluids, some of which may be miscible and others immiscible. So for each particle i, there will be several kinds of fluids mixing in it. To model the interactions between these fluids, we should calculate the mass ratio of each kind of fluids. Suppose there are n kinds of fluids 1, 2, . . . , n in particle i, among which 1, 2, . . . , n − r are non-polar fluids and the other are polar fluids. The mass ratio Cit of fluid t in particle i can be expressed as ρit · dCit mit 4Dit Dj (Cit − Cj )F |rit − rj | , (7) = dt ρj Dit + Dj where 1 ≤ t < n, 1 ≤ j ≤ n, j = i and particle j has the same polarity with particle i; the meaning of the parameters in (7) is the same as in (5). With (7), the mass ratio of n − 1 kinds of fluids can be obtained. The mass ratio of the last kind of fluid can be calculated as Cin = 1.0 − n−1 Cit . (8) t=1 If there are polar fluid and non-polar fluid together, the final interfaces to be rendered are collections of each interface generated by a polar fluid and a non-polar fluid. 4.3 Simulation of boundary-free mixing fluids Previous works on simulation of mixing fluids assumed a boundary restriction which simplified the solution of partial differential equations. In this paper, LLSPH can also be extended to boundary-free domain. The key difficulty is to Fig. 2 Hashing values to be calculated for certain cells cancel the restrictions of the interior and the boundary of the calculation domain and allocate the memory to the cells containing fluid particles at high rates. We adopted the optimized spatial hashing which was used for collision of deformable objects to address this problem [34]. We first divide the coordinates of the particle position r (x, y, z) by the given grid cell of size h and rounded down to the next integer. Then, using the hash function hash, the above discretized 3D position (i, j, k) will be mapped to a 1D index id and the coordinate information will be stored in a hash table (see Fig. 2) at this index id which can be expressed as id = hash(i, j, k). In our implementation, we adopt the following hash function: hash(x, y, z) = (xp1 xor yp2 xor zp3) mod n, (9) where n is the size of the hash table, p1, p2 and p3 are large prime numbers. To improve the efficiency of the algorithm, we select the particles in a spherical neighborhood of radius h which is just the size of a grid cell for calculation. 5 Implementation and results Based on the above model, we have generated various scenes of mixing fluids using Pov-ray. All simulations were run on a Pentium IV with 2.0 G RAM, nVidia 7800 display card. The resolution of the rendering image is 1024 × 768 and the rendering rate is about several minutes. The kernel function is important for the rendering result. For the calculation of the density, C field and the surface tension, we used the following kernel function: W (r, h) = 315/64πh9 · (h2 − |r|2 )3 (0 ≤ |r| ≤ h) [7]. However, using this kernel function to calculate gradient and Laplace operator will generate negative values. So, Spiky kernel function [7] and viscous kernel function are adopted to calculate the pressure and the viscosity force, respectively. The gravity forces of each particle include the gravity fi , the prespressure pressure sure fi , the viscous force fi and the surface tension fisurface (see the Appendix). Figure 3 shows the simulation result of miscible mixing fluids, in which the blue ink is flowing into a glass of water. Realistic simulation of mixing fluids 245 Fig. 3 Simulation of miscible mixing fluids Fig. 4 Simulation of binary immiscible mixing fluids Table 1 Parameters for the simulation of miscible mixing fluids Fluids m (kg) ρ0 (kg/m3 ) k Ink 1 × 10−3 1000.0 Water 1 × 10−3 1000.0 μ σ 5.0 10.0 0.0728 2.0 5.0 D dt (s) 1.5 1 × 10−3 0.00728 1.5 1 × 10−3 One can see from Fig. 3(a) through (c) that the ink and water are diffusing to each other. Figure 3(d) through (f) shows the enlarged area of interest. The parameters used in this experiment are listed in Table 1. An obvious visual feature of the immiscible fluids is the interface between them. Figure 4 is the simulation result of binary immiscible mixing fluids. The interface between two fluids during their interaction is clearly generated using our method. The parameters for these two fluids used in our implementation are listed in Table 2. Our method can be extended to easily simulate multiple mixing fluids (see Fig. 5). Among these three kinds of fluids, the white one is miscible with the red one, while the Table 2 Parameters for the simulation of immiscible mixing fluids Fluids m (kg) ρ0 (kg/m3 ) k μ σ D dt (s) Blue 1 × 10−3 1000.0 10.0 25.0 0.0728 1.5 1 × 10−3 Green 1 × 10−3 10.0 25.0 0.0728 1.5 1 × 10−3 1000.0 green one is immiscible with the above two. According to their properties, our algorithm can simulate the accurate result of their interaction. The numbers of the white fluid, the red fluid and the green fluid are 50,000, 4000 and 4000, respectively. The parameters for these three fluids used in our implementation are listed in Table 3. Figure 6 shows the simulation result of mixing fluids in an open area. Figure 6(a) through (c) shows the animation of oil in water. The parameters for Fig. 6 are listed in Table 4. Park et al.’s [26], Kang et al.’s [27] and Bao et al.’s [29] methods can achieve good rendering results for different mixing fluids. They all are Eulerian grid-based methods. It is not easy to deal with arbitrary boundary conditions using 246 S. Liu Fig. 5 Simulation of multiple mixing fluids Fig. 6 Simulation of boundary-free mixing fluids Table 3 Parameters for the simulation of multiple mixing fluids Fluids m (kg) ρ0 (kg/m3 ) k White 1 × 10−3 1000.0 Red 1 × 10−3 Green 1 × 10−3 1000.0 1000.0 μ 2.0 3.5 σ D dt (s) 0.00728 1.5 1 × 10−3 5.0 12.5 0.00728 1.5 1 × 10−3 5.0 12.5 0.00728 1.5 1 × 10−3 them. On the other hand, our new algorithm is a particlebased method. By combining with the specially designed Table 4 Parameters for the simulation of boundary-free mixing fluids Fluids m (kg) ρ0 (kg/m3 ) k μ σ D dt (s) Water 1 × 10−3 1000.0 2.0 5.0 0.00728 1.5 1 × 10−3 Oil 1 × 10−3 850.0 4.0 8.0 0.00728 1.5 1 × 10−3 spatial hashing method, it can easily tackle with arbitrary boundaries. Realistic simulation of mixing fluids 6 Conclusions and future work This paper presents a novel method for realistic simulation of liquid–liquid mixing under a unified framework, which is called LLSPH. This method can deal with both multiple miscible mixing fluids and immiscible mixing fluids. Our algorithm can also be used to simulate mixing fluids in a boundary-free domain such as the marine oil spill, making realistic simulation of mixing phenomena in a large-scale open area possible. LLSPH can simulate the details of the mixing process of multiple fluids very well. This method can also be used to model the fluid–solid coupling by sampling particles on the surface of the solid. However, our method suffers from the high computing cost for simulation of large-scale mixing fluids. LLSPH combined with grid-based method may be a solution, in which grid-based method can be adopted to simulate the areas with little mixing process between different fluids. This is one of the focuses for our future research. Tai equation [35] and the Predictive-Corrective Incompressible SPH described in [36, 37] may further optimize the incompressibility of the fluids in our simulation. Our future work also anticipates the use of the advanced GPUs to further accelerate the algorithms. Acknowledgements This work was supported by Natural Science Foundation of China under Grant No. 60803047, the Specialized Research Fund for the Doctoral Program of Higher Education of China under Grant No. 200800561045, the Open Project Program of the State Key Laboratory of Virtual Reality Technology and System, Beihang University under Grant No. BUAA-VR-10KF-1, the Open Project Program of the State Key Lab of CAD&CG, Zhejiang University under Grant No. A0907. The authors would also like to thank the reviewers for their insightful comments which greatly helped improving the manuscript. Appendix Each fluid particle will be exerted pressure force by other particles surrounding it, which can be expressed by LLSPH as (pi + pj ) mj pressure fi ∇W (ri − rj , h), =− 2 ρj where pi = k(ρi − ρ0 ), pj = k(ρj − ρ0 ), k is a coefficient and ρ0 is the density of the stationary fluid. The friction between fluid molecules reduces the kinetic energy, converting to heat. Internally generated resistance in the fluid is called the viscous force, which is: mj viscosity ∇ 2 W (ri − rj , h), fi =μ (ui − uj ) ρj where μ is the viscous coefficient. The above two forces belong to internal forces. Gravity is a kind of external force 247 gravity = ρi g, g is the accelerawhich can be expressed as fi tion of gravity. The other important external force is surface tension which can be calculated as follows: ni surface · ni , = σ · −∇ fi |ni | where σ is the surface tension coefficient, ni is the outward normal of the fluid surface, which can be obtained as mj W (ri − rj , h). ni = ∇ ρj References 1. Stam, J.: Stable fluids. In: Proceedings of ACM SIGGRAPH, pp. 121–128 (1999) 2. Fedkiw, R., Stam, J., Jensen, H.W.: Visual simulation of smoke. In: Proceedings of ACM SIGGRAPH, pp. 15–22 (2001) 3. Foster, N., Fedkiw, R.: Practical animation of liquids. In: Proceedings of SIGGRAPH, pp. 23–30 (2001) 4. Enright, D., Marschner, S., Fedkiw, R.: Animation and rendering of complex water surfaces. In: Proceedings of SIGGRAPH, pp. 736–744 (2001) 5. Premože, S., Tasdizen, T., Bigler, J., Lefohn, A., Whitaker, R.T.: Particle-based simulation of fluids. In: Proceedings of Eurographics, pp. 401–410 (2003) 6. Nguyen, D.Q., Fedkiw, R., Jensen, H.W.: Physically based modeling and animation of fire. In: Proceedings of SIGGRPAH, pp. 721–728 (2002) 7. Müller, M., Charypar, D., Gross, M.: Particle based fluid simulation for interactive applications. In: Proceedings of ACM SIGGRAPH Symposium on Computer Animation, pp. 154–159 (2003) 8. Kelager, M.: Lagrangian fluid dynamics using smoothed particle hydrodynamics. University of Copenhagen: Department of Computer Science (2006) 9. Stam, J., Fiume, E.: Depicting fire and other gaseous phenomena using diffusion processes. In: Proceedings of ACM SIGGRAPH, pp. 129–136 (1995) 10. Takeshita, D., Ota, S., Tamura, M., Fujimoto, T., Muraoka, K., Chiba, N.: Particle-based visual simulation of explosive flames. In: Proceedings of 11th Pacific Conference on Computer Graphics and Applications, pp. 482–486 (2003) 11. Keiser, R., Adams, B., Gasser, D., Bazzi, P., Dutré, P., Gross, M.: A unified Lagrangian approach to solid–fluid animation. In: Proceedings of Eurographics Symposium on Point-Based Graphics, pp. 125–133 (2005) 12. Premože, S., Tasdizen, T., Bigler, J.: Particle-based simulation of fluids. Comput. Graph. Forum 22(3), 401–410 (2003) 13. Becker, M., Teschner, M.: Weakly compressible SPH for free surface flows. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 209–217 (2007) 14. Mizuono, R., Dobashi, Y., Chen, B.Y., Nishita, T.: Physics motivated modeling of volcanic clouds as a two-fluids system. In: Proceedings of 11th Pacific Conference on Computer Graphics and Application, pp. 434–439 (2003) 15. Zhu, H.B., Liu, X.H., Liu, Y.Q., Wu, E.H.: Simulation of miscible binary mixtures based on lattice Boltzmann method. In: Proceedings of Computer Animation and Social Agents, pp. 403–410 (2006) 16. Hong, J.M., Kim, C.H.: Animation of bubbles in liquid. Comput. Graph. Forum 22(3), 253–262 (2003) 248 17. Hong, J.M., Kim, C.H.: Discontinuous fluids. In: Proceedings of ACM SIGGRAPH, pp. 915–920 (2005) 18. Hong, J.M., Lee, H.Y., Yoon, J.C., Kim, C.H.: Bubbles alive. In: Proceedings of ACM SIGGRAPH, pp. 481–484 (2008) 19. Kim, B., Liu, Y., Llamas, I., Jiao, X., Rossignac, J.: Simulation of bubbles in foam with the volume control method. In: Proceedings of ACM SIGGRAPH, pp. 481–487 (2007) 20. Cleary, P.W., Pyo, S.H., Prakash, M., Koo, B.K.: Bubbling and frothing liquids. In: Proceedings of ACM SIGGRAPH, pp. 971–976 (2007) 21. Thürey, N., Sadlo, F., Schirm, S., Muller-Fischer, M., Gross, M.: Real-time simulations of bubbles and foam within a shallow water framework. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 191–198 (2007) 22. Mihalef, V., Unlusu, B., Metaxas, D., Hussaini, M.Y.: Physicsbased boiling simulation. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 317–324 (2006) 23. Muller, M., Solenthaler, B., Keiser, R., Gross, M.: Particle based fluid-fluid interaction. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 237–244 (2005) 24. Losasso, F., Shinar, T., Selle, A., Fedkiw, R.: Multiple interacting liquids. In: Proceedings of ACM SIGGRAPH, pp. 812–819 (2006) 25. Losasso, F., Talton, J., Kwatra, N., Fedkiw, R.: Two-way coupled SPH and particle level set fluid simulation. IEEE Trans. Vis. Comput. Graph. 14(4), 797–804 (2008) 26. Park, J., Kim, Y., Wi, D., Kang, N., Shin, S.Y., Noh, J.: A unified handling of immiscible and miscible fluids. Comput. Animat. Virtual Worlds 19(3–4), 455–467 (2008) 27. Kang, N., Park, J., Noh, J., Shin, S.Y.: A hybrid approach to multiple fluid simulation using volume fractions. Comput. Graph. Forum 29(2), 685–694 (2010) 28. Lenaerts, T., Dutré, P.: Mixing fluids and granular materials. Comput. Graph. Forum 28(2), 213–218 (2009) 29. Bao, K., Wu, X., Zhang, H., Wu, E.: Volume fraction based miscible and immiscible fluid animation. Comput. Animat. Virtual Worlds 21(3–4), 401–410 (2010) 30. McNaught, A.D., Wilkinson, A.: Compendium of Chemical terminology. Blackwell Scientific Publications, Oxford (1997) 31. Monaghan, J.: Smoothed particle hydrodynamics. Rep. Prog. Phys. 68(8), 1703–1759 (2005) 32. William, E.L., Harvey, E.C.: Marching cubes: a high resolution 3D surface construction algorithm. Comput. Graph. 21(4), 163–169 (1987) 33. Christof, R.S., Markus, H., Timo, R., Patric, L.: Advanced illumination techniques for GPU-based volume ray-casting. In: ACM SIGGRAPH Course (2008) 34. Teschner, M., Heidelberger, B., Mueller, M., Pomeranets, D., Gross, M.: Optimized spatial hashing for collision detection of deformable objects. In: Proceedings of Vision, Modeling, Visualization VMV, Munich, Germany, pp. 47–54 (2003) 35. Becker, M., Tessendorf, H., Teschner, M.: Direct forcing for Lagrangian rigid–fluid coupling. IEEE Trans. Vis. Comput. Graph. 15(3), 493–503 (2009) S. Liu 36. Solenthaler, B., Pajarola, R.: Density contrast SPH interfaces. In: Proceedings of ACM SIGGRAPH/EG Symposium on Computer Animation, pp. 211–218 (2008) 37. Solenthaler, B., Pajarola, R.: Predictive-corrective incompressible SPH. ACM Trans. Graph. 28(3), 1–6 (2009) Shiguang Liu is an Associate Professor at School of Computer Science and Technology, Tianjin University, P.R. China. He graduated from Zhejiang University and received a PhD from State Key Lab of CAD & CG in 2007. His research interests include realistic image synthesis, computer animation and virtual reality, etc. Qiguang Liu is a graduate student at School of Computer Software, Tianjin University, P.R. China. His research interest is computer graphics and computer vision. Qunsheng Peng is a Professor in the State Key Lab of CAD&CG at Zhejiang University. His research interests include realistic image synthesis, virtual reality, infrared image synthesis, Scientific visualization and biological calculation, etc. He graduated from Beijing Mechanical College in 1970 and received a Ph.D. from the Department of Computing Studies, University of East Anglia, in 1983. He is currently the Vice Chairman of the Academic Committee, State Key Lab of CAD&CG, Zhejiang University and is serving as a member of the editorial boards of several international and domestic journals.