Skip to main content
Log in

Incompressibility-preserving deformation for fluid flows using vector potentials

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. 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

  1. Bhatia, H., Norgard, G., Pascucci, V., Bremer, P.: The Helmholtz–Hodge decomposition—a survey. IEEE Trans. Vis. Comput. Graph. 19(8), 1386–1404 (2013)

    Article  Google Scholar 

  2. Bridson, R.: Fluid Simulation for Computer Graphics. AK Peters (2008)

  3. Cottet, G.H., Koumoutsakos, P.D.: Vortex Methods: Theory and Practice. Cambridge University Press, Cambridge (2000)

    Book  Google Scholar 

  4. Fattal, R., Lischinski, D.: Target-driven smoke animation. ACM Trans. Graph. 23(3), 439–446 (2004)

    Article  Google Scholar 

  5. Fedkiw, R., Stam, J., Jansen, H.W.: Visual simulation of smoke. In: Proceedings of ACM SIGGRAPH 2001, pp. 15–22 (2001)

  6. Feldman, B.E., O’Brien, J.F., Arikan, O.: Animating suspended particle explosions. In: Proceedings of ACM SIGGRAPH 2003, pp. 708–715 (2003)

  7. Foster, N., Fedkiw, R.: Practical animation of liquids. In: Proceedings of ACM SIGGRAPH 2001, pp. 23–30 (2001)

  8. 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)

  9. 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)

  10. Hong, W., House, D.H., Keyser, J.: Adaptive particles for incompressible fluid simulation. Vis. Comput. 24(7–9), 535–543 (2008)

    Article  MATH  Google Scholar 

  11. Jakob, W.: Mitsuba Renderer (2010). http://www.mitsuba-renderer.org

  12. Kim, T., Delaney, J.: Subspace fluid re-simulation. ACM Trans. Graph. 32(4), article 62 (2013)

  13. 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)

  14. Lamorlette, A., Foster, N.: Structural modeling of flames for a production environment. ACM Trans. Graph. 21(3), 729–735 (2002)

    Article  Google Scholar 

  15. Nguyen, D.Q., Fedkiw, R., Jensen, H.W.: Physically based modeling and animation of fire. ACM Trans. Graph. 21(3), 721–728 (2002)

    Article  Google Scholar 

  16. 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)

  17. 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)

  18. 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)

  19. Schaefer, S., McPhail, T., Warren, J.: Image deformation using moving least squares. ACM Trans. Graph. 25(3), 533–540 (2006)

    Article  Google Scholar 

  20. 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)

  21. Stam, J.: Stable fluids. In: Proceedings of ACM SIGGRAPH 1999, Annual Conference Series, pp. 121–128 (1999)

  22. Tong, Y., Lombeyda, S., Hirani, A.N., Desbrun, M.: Discrete multiscale vector field decomposition. ACM Trans. Graph. 22(3), 445–452 (2003)

    Article  Google Scholar 

  23. Treuille, A., Lewis, A., Popovic, Z.: Model reduction for real-time fluids. ACM Trans. Graph. 25(3), 826–834 (2006)

    Article  Google Scholar 

  24. Treuille, A., McNamara, A., Popovic, Z., Stam, J.: Keyframe control of smoke simulations. ACM Trans. Graph. 22(3), 716–723 (2003)

    Article  Google Scholar 

  25. Wicke, M., Stanton, M., Treuille, A.: Modular bases for fluid dynamics. ACM Trans. Graph. 28(3), article 39 (2009)

  26. 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)

  27. 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

    Google Scholar 

Download references

Acknowledgments

This work was supported in part by the JSPS Postdoctoral Fellowships for Research Abroad.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Syuhei Sato.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-015-1122-y

Keywords

Navigation