Abstract
Physically based fluid simulations usually require expensive computation cost for creating realistic animations. We present a technique that allows the user to create various fluid animations from an input fluid animation sequence, without the need for repeatedly performing simulations. Our system allows the user to deform the flow field in order to edit the overall fluid behavior. In order to maintain plausible physical behavior, we ensure the incompressibility to guarantee the mass conservation. We use a vector potential for representing the flow fields to realize such incompressibility-preserving deformations. Our method first computes (time-varying) vector potentials from the input velocity field sequence. Then, the user deforms the vector potential, and the system computes the deformed velocity field by taking the curl operator on the vector potential. The incompressibility is thus obtained by construction. We show various examples to demonstrate the usefulness of our method.
Similar content being viewed by others
Notes
Or, we could consider \(\tilde{{\mathbf {g}}}({\mathbf {x}}) = \frac{\partial {\mathbf {x}}}{\partial {\mathbf {X}}} {\mathbf {g}}({\mathbf {X}})\) if we want to apply local rotation, stretch, and shear to reorient the vector valued function.
References
Bhatia, H., Norgard, G., Pascucci, V., Bremer, P.: The Helmholtz–Hodge decomposition—a survey. IEEE Trans. Vis. Comput. Graph. 19(8), 1386–1404 (2013)
Bridson, R.: Fluid Simulation for Computer Graphics. AK Peters (2008)
Cottet, G.H., Koumoutsakos, P.D.: Vortex Methods: Theory and Practice. Cambridge University Press, Cambridge (2000)
Fattal, R., Lischinski, D.: Target-driven smoke animation. ACM Trans. Graph. 23(3), 439–446 (2004)
Fedkiw, R., Stam, J., Jansen, H.W.: Visual simulation of smoke. In: Proceedings of ACM SIGGRAPH 2001, pp. 15–22 (2001)
Feldman, B.E., O’Brien, J.F., Arikan, O.: Animating suspended particle explosions. In: Proceedings of ACM SIGGRAPH 2003, pp. 708–715 (2003)
Foster, N., Fedkiw, R.: Practical animation of liquids. In: Proceedings of ACM SIGGRAPH 2001, pp. 23–30 (2001)
Fuller, A.R., Krishnan, H., Mahrous, K., Hamann, B., Joy, K.I.: Real-time procedural volumetric fire. In: Proceeding of the 2007 Symposium on Interactive 3D Graphics and Games, pp. 175–180 (2007)
Gamito, M.N., Lopes, P.F., Gomes, M.R.: Two-dimensional simulation of gaseous phenomena using vortex particles. In: Proceedings of the 6th Eurographics Workshop on Computer Animation and Simulation, pp. 3–15. Springer, New York (1995)
Hong, W., House, D.H., Keyser, J.: Adaptive particles for incompressible fluid simulation. Vis. Comput. 24(7–9), 535–543 (2008)
Jakob, W.: Mitsuba Renderer (2010). http://www.mitsuba-renderer.org
Kim, T., Delaney, J.: Subspace fluid re-simulation. ACM Trans. Graph. 32(4), article 62 (2013)
Kim, Y., Machiraju, R., Thompson, D.: Path-based control of smoke simulations. In: Proceedings of the 2006 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 33–42 (2006)
Lamorlette, A., Foster, N.: Structural modeling of flames for a production environment. ACM Trans. Graph. 21(3), 729–735 (2002)
Nguyen, D.Q., Fedkiw, R., Jensen, H.W.: Physically based modeling and animation of fire. ACM Trans. Graph. 21(3), 721–728 (2002)
Park, S.I., Kim, M.J.: Vortex fluid for gaseous phenomena. In: Proceedings of the 2005 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 261–270 (2005)
Pighin, F., Cohen, J., Shah, M.: Modeling and editing flows using advected radial basis functions. In: Proceedings of the 2004 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 223–232 (2004)
Sato, S., Dobashi, Y., Iwasaki, K., Yamamoto, T., Nishita, T.: Deformation of 2D flow fields using stream functions. In: Proceedings of SIGGRAPH Asia 2014 Technical Briefs, article 4 (2014)
Schaefer, S., McPhail, T., Warren, J.: Image deformation using moving least squares. ACM Trans. Graph. 25(3), 533–540 (2006)
Shi, L., Yu, Y.: Taming liquids for rapidly changing targets. In: Proceedings of the 2005 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 229–236 (2005)
Stam, J.: Stable fluids. In: Proceedings of ACM SIGGRAPH 1999, Annual Conference Series, pp. 121–128 (1999)
Tong, Y., Lombeyda, S., Hirani, A.N., Desbrun, M.: Discrete multiscale vector field decomposition. ACM Trans. Graph. 22(3), 445–452 (2003)
Treuille, A., Lewis, A., Popovic, Z.: Model reduction for real-time fluids. ACM Trans. Graph. 25(3), 826–834 (2006)
Treuille, A., McNamara, A., Popovic, Z., Stam, J.: Keyframe control of smoke simulations. ACM Trans. Graph. 22(3), 716–723 (2003)
Wicke, M., Stanton, M., Treuille, A.: Modular bases for fluid dynamics. ACM Trans. Graph. 28(3), article 39 (2009)
Yaeger, L., Upson, C., Myers, R.: Combining physical and visual simulation–creation of the planet Jupiter for the film “2010”. In: Proceedings of ACM SIGGRAPH ’86, pp. 85–93 (1986)
Zhang, X., Bridson, R.: A PPPM fast summation method for fluids and beyond. ACM Trans. Graph. 33(6), 206:1–206:11 (2014). doi:10.1145/2661229.2661261
Acknowledgments
This work was supported in part by the JSPS Postdoctoral Fellowships for Research Abroad.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
371_2015_1122_MOESM1_ESM
Appendices
Appendix A: \(\nabla p = {\mathbf {0}}\) for an incompressible vector field \({\mathbf {v}}\)
Taking the divergence of both sides of Eq. (2), we have \(0 = \nabla \cdot {\mathbf {v}}= \nabla ^2 p\). Because \({\mathbf {v}}\) and \(\nabla \,\times \,{\varvec{\Psi }}\) are both tangential to the boundary, we have \((\nabla p) \cdot {\mathbf {n}}= 0\) at the boundary. Therefore, the solution to \(p\) is \(p = \mathrm{const.}\), hence \(\nabla p = {\mathbf {0}}\).
Appendix B: Equivalence between Eq. (4) and Eq. (7)
Equation (7) can be rewritten as \(\nabla \,\times \,(\nabla \,\times \,{\varvec{\Psi }}- {\mathbf {v}}) = 0\). Let \({\mathbf {A}}= \nabla \,\times \,{\varvec{\Psi }}- {\mathbf {v}}\). Since \(\nabla \cdot \nabla \,\times \,{\varvec{\Psi }}= \nabla \cdot {\mathbf {v}}= 0\), we have \(\nabla \cdot {\mathbf {A}}= 0\). In addition, since \((\nabla \,\times \,{\varvec{\Psi }}) \cdot {\mathbf {n}}= 0\) and \({\mathbf {v}}\cdot {\mathbf {n}}= 0\), we have \({\mathbf {A}}\cdot {\mathbf {n}}= 0\). From \(\nabla \,\times \,{\mathbf {A}}= {\mathbf {0}}\), \(\nabla \cdot {\mathbf {A}}= 0\), and \({\mathbf {A}}\cdot {\mathbf {n}}= 0\), we have \({\mathbf {A}}= {\mathbf {0}}\), which gives Eq. (4).
Appendix C: Equivalence between Eq. (7) and Eq. (10)
First, we show \(\nabla \cdot {\varvec{\Psi }}= 0\) given Eq. (10) and the corresponding boundary conditions. From Eq. (10), we have \(\nabla \cdot (-\nabla ^2 {\varvec{\Psi }}) = \nabla \cdot \nabla \,\times \,{\mathbf {v}}= 0\). Since \({\varvec{\Psi }}\) is sufficiently smooth, \(\nabla \cdot (-\nabla ^2 {\varvec{\Psi }}) = - \nabla ^2 (\nabla \cdot {\varvec{\Psi }})\). Hence we have \(\nabla ^2 (\nabla \cdot {\varvec{\Psi }}) = 0\). Writing \(G = \nabla \cdot {\varvec{\Psi }}\), we have \(\nabla ^2 G = 0\). Since \(\nabla \cdot {\varvec{\Psi }}= 0\) at the boundary, we have \(G=0\) at the boundary. Therefore, the solution to \(G\) is \(G=0\) for the entire domain, which yields \(\nabla \cdot {\varvec{\Psi }}= 0\). Next, from \(\nabla \cdot {\varvec{\Psi }}= 0\), Eqs. (8) and (10), we obtain Eq. (7).
Rights and permissions
About this article
Cite this article
Sato, S., Dobashi, Y., Yue, Y. et al. Incompressibility-preserving deformation for fluid flows using vector potentials. Vis Comput 31, 959–965 (2015). https://doi.org/10.1007/s00371-015-1122-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-015-1122-y