“Compact Poisson Filters for Fast and Accurate Fluid Simulation” by Rabbani, Guertin, Rioux-Lavoie, Schoentgen, Tong, et al. …

  • ©Amir Hossein Rabbani, Jean-Philippe Guertin, Damien Rioux-Lavoie, Arnaud Schoentgen, Kaitai Tong, Alexandre Sirois-Vigneux, and Derek Nowrouzezahrai



    Compact Poisson Filters for Fast and Accurate Fluid Simulation

Program Title:

    Demo Labs



    Poisson equations appear in many graphics settings including, but not limited to, physics-based fluid simulation. Numerical solvers for such problems strike context-specific memory, performance, stability and accuracy trade-offs. We propose a new Poisson filter-based solver that balances between the strengths of spectral and iterative methods. We derive universal Poisson kernels for forward and inverse Poisson problems, leveraging careful adaptive filter truncation to localize their extent, all while maintaining stability and accuracy. Iterative composition of our compact filters improves solver iteration time by orders-of-magnitude compared to optimized linear methods. While motivated by spectral formulations, we overcome important limitations of spectral methods while retaining many of their desirable properties. We focus on the application of our method to high-performance and high-fidelity fluid simulation, but we also demonstrate its broader applicability. We release our source code at https://github.com/Ubisoft-LaForge/CompactPoissonFilters.


    1. A. Ahmadi, F. Manganiello, A. Khademi, and M. C. Smith. 2021. A Parallel Jacobi-Embedded Gauss-Seidel Method. IEEE Transactions on Parallel and Distributed Systems 32, 06 (2021), 1452–1464.
    2. Gonçalo N. P. Amador and Abel João Padrão Gomes. 2010a. A CUDA-Based Implementation of Stable Fluids in 3D with Internal and Moving Boundaries. 2010 International Conference on Computational Science and Its Applications (2010), 118–128.
    3. Gonçalo N. P. Amador and Abel João Padrão Gomes. 2010b. CUDA-Based Linear Solvers for Stable Fluids. 2010 International Conference on Information Science and Applications (2010), 1–8.
    4. Gonçalo N. P. Amador and Abel João Padrão Gomes. 2012. Linear Solvers for Stable Fluids: GPU vs CPU.
    5. Marco Ament, Gunter Knittel, Daniel Weiskopf, and Wolfgang Strasser. 2010. A Parallel Preconditioned Conjugate Gradient Solver for the Poisson Problem on a Multi-GPU Platform. In 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing. 583–592.
    6. John P. Boyd. 2001. Chebyshev and Fourier Spectral Methods(second ed.). Dover Publications, Mineola, NY.
    7. Tian Qi Chen, Yulia Rubanova, Jesse Bettencourt, and David Duvenaud. 2018. Neural Ordinary Differential Equations. CoRR abs/1806.07366(2018). arXiv:1806.07366
    8. Nuttapong Chentanez and Matthias Müller. 2011. A Fluid Pressure Solver Handling Separating Solid Boundary Conditions.83–90.
    9. Keenan Crane, Clarisse Weischedel, and Max Wardetzky. 2017. The Heat Method for Distance Computation. Commun. ACM 60, 11 (2017), 90–99.
    10. Qiaodong Cui, Pradeep Sen, and Theodore Kim. 2018. Scalable Laplacian Eigenfluids. ACM Trans. Graph. 37, 4, Article 87 (2018), 12 pages.
    11. Tyler De Witt, Christian Lessig, and Eugene Fiume. 2012. Fluid Simulation Using Laplacian Eigenfunctions. ACM Trans. Graph. 31, 1, Article 10 (2012), 11 pages.
    12. Lawrence C Evans. 1998. Partial differential equations. Graduate studies in mathematics 19, 4 (1998), 7.
    13. Ronald Fedkiw, Jos Stam, and Henrik Wann Jensen. 2001. Visual simulation of smoke. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques. 15–22.
    14. O. Fialka and Martin Cadik. 2006. FFT and Convolution Performance in Image Filtering on GPU. In Tenth International Conference on Information Visualisation (IV’06). 609 – 614.
    15. Stefan L. Glimberg, Kenny Erleben, and Jens C. Bennetsen. 2009. Smoke Simulation for Fire Engineering using a Multigrid Method on Graphics Hardware. In Workshop in Virtual Reality Interactions and Physical Simulation ”VRIPHYS” (2009), Hartmut Prautzsch, Alfred Schmitt, Jan Bender, and Matthias Teschner (Eds.). The Eurographics Association. https://doi.org/10.2312/PE/vriphys/vriphys09/011-020
    16. Gene H Golub, James M Ortega, 1992. Scientific computing and differential equations: an introduction to numerical methods. Academic press.
    17. Nolan Goodnight, Cliff Woolley, Gregory Lewin, David Luebke, and Greg Humphreys. 2005. A Multigrid Solver for Boundary Value Problems Using Programmable Graphics Hardware. In ACM SIGGRAPH 2005 Courses (Los Angeles, California) (SIGGRAPH ’05). Association for Computing Machinery, New York, NY, USA, 193–es.
    18. Thomas Guillet and Romain Teyssier. 2011. A simple multigrid scheme for solving the Poisson equation with arbitrary domain boundaries. J. Comput. Phys. 230, 12 (jun 2011), 4756–4771. https://doi.org/10.1016/j.jcp.2011.02.044
    19. Francis H Harlow and J Eddie Welch. 1965. Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface. The physics of fluids 8, 12 (1965), 2182–2189.
    20. Ronald D. Henderson. 2012. Scalable Fluid Simulation in Linear Time on Shared Memory Multiprocessors(DigiPro ’12). Association for Computing Machinery, New York, NY, USA, 43–52.
    21. Markus Kettunen, Erik Härkönen, and Jaakko Lehtinen. 2019. Deep Convolutional Reconstruction for Gradient-Domain Rendering. ACM Trans. Graph. 38, 4, Article 126 (jul 2019), 12 pages. https://doi.org/10.1145/3306346.3323038
    22. Stefan Kindermann and Carmeliza Navasca. 2011. Analysis and Approximation of the Canonical Polyadic Tensor Decomposition. arxiv:1109.3832 [math.NA]
    23. Jean Kossaifi, Yannis Panagakis, Anima Anandkumar, and Maja Pantic. 2019. TensorLy: Tensor Learning in Python. Journal of Machine Learning Research 20, 26 (2019), 1–6.
    24. Zongyi Li, Nikola B. Kovachki, Kamyar Azizzadenesheli, Burigede Liu, Kaushik Bhattacharya, Andrew M. Stuart, and Anima Anandkumar. 2020. Fourier Neural Operator for Parametric Partial Differential Equations. CoRR abs/2010.08895(2020). arXiv:2010.08895
    25. Benjamin Long and Erik Reinhard. 2009a. Real-time fluid simulation using discrete sine/cosine transforms. In Proceedings of the 2009 Symposium on Interactive 3D Graphics. ACM, 99–106.
    26. Benjamin Long and Erik Reinhard. 2009b. Real-time fluid simulation using discrete sine/cosine transforms. In Proceedings of the 2009 symposium on Interactive 3D graphics and games. 99–106.
    27. Wojciech Matusik. 2003. A data-driven reflectance model. Ph.D. Dissertation. Massachusetts Institute of Technology.
    28. Aleka McAdams, Eftychios Sifakis, and Joseph Teran. 2010. A Parallel Multigrid Poisson Solver for Fluids Simulation on Large Grids.65–73. https://doi.org/10.2312/SCA/SCA10/065-073
    29. Michael D McCool, Jason Ang, and Anis Ahmad. 2001. Homomorphic factorization of BRDFs for high-performance rendering. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques. 171–178.
    30. Tim Mcgraw. 2015. Fast Bokeh Effects Using Low-Rank Linear Filters. Vis. Comput. 31, 5 (2015), 601–611.
    31. Olivier Mercier and Derek Nowrouzezahrai. 2020. Local Bases for Model-reduced Smoke Simulations. Comput. Graph. Forum 39, 2 (2020), 9–22.
    32. Jeroen Molemaker, Jonathan M. Cohen, Sanjit Patel, and Jonyong Noh. 2008. Low viscosity flow simulations for animation. In SCA ’08.
    33. Jorge Nocedal and Stephen Wright. 2006. Numerical optimization. Springer Science & Business Media.
    34. Steven A. Orszag. 1969. Numerical Methods for the Simulation of Turbulence. The Physics of Fluids 12, 12 (1969), II–250–II–257. arXiv:https://aip.scitation.org/doi/pdf/10.1063/1.1692445
    35. Ari Silvennoinen and Peter-Pike Sloan. 2021. Moving Basis Decomposition for Precomputed Light Transport. Comput. Graph. Forum 40, 4 (2021), 127–137.
    36. Peter-Pike Sloan, Jesse Hall, John Hart, and John Snyder. 2003. Clustered Principal Components for Precomputed Radiance Transfer. ACM Trans. Graph. 22, 3 (jul 2003), 382–391. https://doi.org/10.1145/882262.882281
    37. Jos Stam. 1999. Stable Fluids. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH 1999, Los Angeles, CA, USA, August 8-13, 1999, Warren N. Waggenspack (Ed.). ACM, 121–128.
    38. Jos Stam. 2001. A Simple Fluid Solver based on the FFT. Journal of Graphics Tools 6 (2001), 43–52. https://doi.org/10.1080/10867651.2001.10487540
    39. Jonathan Tompson, Kristofer Schlachter, Pablo Sprechmann, and Ken Perlin. 2016. Accelerating Eulerian Fluid Simulation With Convolutional Networks. CoRR abs/1607.03597(2016). arXiv:1607.03597
    40. Lloyd N. Trefethen. 2000. Spectral Methods in MatLab. Society for Industrial and Applied Mathematics, USA.
    41. Benjamin Ummenhofer, Lukas Prantl, Nils Thuerey, and Vladlen Koltun. 2020. Lagrangian Fluid Simulation with Continuous Convolutions. In International Conference on Learning Representations.
    42. M. Alex O. Vasilescu and Demetri Terzopoulos. 2004. TensorTextures: Multilinear Image-Based Rendering. ACM Trans. Graph. 23, 3 (2004), 336–342.
    43. Cheng Yang, Xubo Yang, and Xiangyun Xiao. 2016. Data-driven projection method in fluid simulation: Data-driven projection method in fluid simulation. Computer Animation and Virtual Worlds 27 (08 2016). https://doi.org/10.1002/cav.1695

ACM Digital Library Publication:

Overview Page: