“Loki: a unified multiphysics simulation framework for production” by Lesser, Stomakhin, Daviet, Wretborn, Edholm, et al. …

  • ©Steve Lesser, Alexey Stomakhin, Gilles Daviet, Joel Wretborn, John Edholm, Noh-Hoon Lee, Eston Schweickart, Xiao Zhai, Sean Flynn, and Andrew Moffat

Conference:


Type:


Title:

    Loki: a unified multiphysics simulation framework for production

Presenter(s)/Author(s):



Abstract:


    We introduce Loki, a new framework for robust simulation of fluid, rigid, and deformable objects with non-compromising fidelity on any single element, and capabilities for coupling and representation transitions across multiple elements. Loki adapts multiple best-in-class solvers into a unified framework driven by a declarative state machine where users declare ‘what’ is simulated but not ‘when,’ so an automatic scheduling system takes care of mixing any combination of objects. This leads to intuitive setups for coupled simulations such as hair in the wind or objects transitioning from one representation to another, for example bulk water FLIP particles to SPH spray particles to volumetric mist. We also provide a consistent treatment for components used in several domains, such as unified collision and attachment constraints across 1D, 2D, 3D deforming and rigid objects. Distribution over MPI, custom linear equation solvers, and aggressive application of sparse techniques keep performance within production requirements. We demonstrate a variety of solvers within the framework and their interactions, including FLIPstyle liquids, spatially adaptive volumetric fluids, SPH, MPM, and mesh-based solids, including but not limited to discrete elastic rods, elastons, and FEM with state-of-the-art constitutive models. Our framework has proven powerful and intuitive enough for voluntary artist adoption and has delivered creature and FX simulations for multiple major movie productions in the preceding four years.

References:


    1. Muzaffer Akbay, Nicholas Nobles, Victor Zordan, and Tamar Shinar. 2018. An Extended Partitioned Method for Conservative Solid-Fluid Coupling. ACM Trans. Graph. 37, 4, Article 86 (jul 2018), 12 pages.Google ScholarDigital Library
    2. Ryoichi Ando and Christopher Batty. 2020. A Practical Octree Liquid Simulator with Adaptive Surface Resolution. ACM Trans. Graph. 39, 4, Article 32 (jul 2020), 17 pages.Google ScholarDigital Library
    3. R. Barrett, M.W. Berry, T.F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and H. van der Vorst. 1994. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. Society for Industrial and Applied Mathematics. https://books.google.co.kr/books?id=8IkWgiZ8kOwCGoogle Scholar
    4. Christopher Batty, Florence Bertails, and Robert Bridson. 2007. A Fast Variational Framework for Accurate Solid-Fluid Coupling. In ACM SIGGRAPH 2007 Papers (SIGGRAPH ’07). Association for Computing Machinery, New York, NY, USA, 100–es.Google ScholarDigital Library
    5. Jan Bender, Kenny Erleben, and Jeff Trinkle. 2014. Interactive Simulation of Rigid Body Dynamics in Computer Graphics. Comput. Graph. Forum 33, 1 (feb 2014), 246–270.Google Scholar
    6. Miklós Bergou, Basile Audoly, Etienne Vouga, Max Wardetzky, and Eitan Grinspun. 2010. Discrete Viscous Threads. In ACM SIGGRAPH 2010 Papers (SIGGRAPH ’10). Association for Computing Machinery, New York, NY, USA, Article 116, 10 pages.Google Scholar
    7. Miklós Bergou, Max Wardetzky, Stephen Robinson, Basile Audoly, and Eitan Grinspun. 2008. Discrete Elastic Rods. In ACM SIGGRAPH 2008 Papers (SIGGRAPH ’08). Association for Computing Machinery, New York, NY, USA, Article 63, 12 pages.Google Scholar
    8. Gilbert Louis Bernstein, Chinmayee Shah, Crystal Lemire, Zachary Devito, Matthew Fisher, Philip Levis, and Pat Hanrahan. 2016. Ebb: A DSL for Physical Simulation on CPUs and GPUs. 35, 2, Article 21 (may 2016), 12 pages. Google ScholarDigital Library
    9. Morten Bojsen-Hansen, Michael Bang Nielsen, Konstantinos Stamatelos, and Robert Bridson. 2021. Spatially Adaptive Volume Tools in Bifrost. In ACM SIGGRAPH 2021 Talks (SIGGRAPH ’21). Association for Computing Machinery, New York, NY, USA, Article 2, 2 pages. Google ScholarDigital Library
    10. Eddy Boxerman and Uri Ascher. 2004. Decomposing Cloth. In Proceedings of the 2004 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’04). Eurographics Association, Goslar, DEU, 153–161. Google ScholarDigital Library
    11. Christopher Brandt, Leonardo Scandolo, Elmar Eisemann, and Klaus Hildebrandt. 2019. The Reduced Immersed Method for Real-Time Fluid-Elastic Solid Interaction and Contact Simulation. ACM Trans. Graph. 38, 6, Article 191 (nov 2019), 16 pages. Google ScholarDigital Library
    12. George E. Brown, Matthew Overby, Zahra Forootaninia, and Rahul Narain. 2018. Accurate Dissipative Forces in Optimization Integrators. ACM Trans. Graph. 37, 6, Article 282 (dec 2018), 14 pages.Google ScholarDigital Library
    13. Gilles Daviet. 2020. Simple and Scalable Frictional Contacts for Thin Nodal Objects. ACM Trans. Graph. 39, 4, Article 61 (jul 2020), 16 pages.Google ScholarDigital Library
    14. Gilles Daviet and Florence Bertails-Descoubes. 2016. A Semi-Implicit Material Point Method for the Continuum Simulation of Granular Materials. ACM Trans. Graph. 35, 4, Article 102 (jul 2016), 13 pages.Google ScholarDigital Library
    15. Gilles Daviet, Florence Bertails-Descoubes, and Laurence Boissieux. 2011. A Hybrid Iterative Solver for Robustly Capturing Coulomb Friction in Hair Dynamics. ACM Trans. Graph. 30, 6 (dec 2011), 1–12.Google ScholarDigital Library
    16. Denis Demidov. 2020. AMGCL – A C++ library for efficient solution of large sparse linear systems. Software Impacts 6 (2020), 100037.Google ScholarCross Ref
    17. Pradeep Dubey, Pat Hanrahan, Ronald Fedkiw, Michael Lentine, and Craig Schroeder. 2011. PhysBAM: Physically Based Simulation. In ACM SIGGRAPH 2011 Courses (SIGGRAPH ’11). Association for Computing Machinery, New York, NY, USA, Article 10, 22 pages.Google ScholarDigital Library
    18. David Eberle. 2018. Better Collisions and Faster Cloth for Pixar’s Coco. In ACM SIGGRAPH 2018 Talks (SIGGRAPH ’18). Association for Computing Machinery, New York, NY, USA, Article 8, 2 pages. Google ScholarDigital Library
    19. François Faure, Christian Duriez, Hervé Delingette, Jérémie Allard, Benjamin Gilles, Stéphanie Marchesseau, Hugo Talbot, Hadrien Courtecuisse, Guillaume Bousquet, Igor Peterlik, and Stéphane Cotin. 2012. SOFA: A Multi-Model Framework for Interactive Physical Simulation. In Soft Tissue Biomechanical Modeling for Computer Assisted Surgery, Yohan Payan (Ed.). Studies in Mechanobiology, Tissue Engineering and Biomaterials, Vol. 11. Springer, 283–321.Google Scholar
    20. 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 (SIGGRAPH ’01). Association for Computing Machinery, New York, NY, USA, 15–22.Google ScholarDigital Library
    21. Yun (Raymond) Fei, Christopher Batty, Eitan Grinspun, and Changxi Zheng. 2018. A Multi-Scale Model for Simulating Liquid-Fabric Interactions. ACM Trans. Graph. 37, 4, Article 51 (jul 2018), 16 pages.Google ScholarDigital Library
    22. Yun (Raymond) Fei, Henrique Teles Maia, Christopher Batty, Changxi Zheng, and Eitan Grinspun. 2017. A Multi-Scale Model for Simulating Liquid-Hair Interactions. ACM Trans. Graph. 36, 4, Article 56 (jul 2017), 17 pages.Google ScholarDigital Library
    23. Gene H. Golub and Charles F. van Loan. 2013. Matrix Computations (fourth ed.). JHU Press. http://www.cs.cornell.edu/cv/GVL4/golubandvanloan.htmGoogle Scholar
    24. Eitan Grinspun, Anil N Hirani, Mathieu Desbrun, and Peter Schröder. 2003. Discrete shells. In Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation. Citeseer, 62–67.Google ScholarDigital Library
    25. Eran Guendelman, Andrew Selle, Frank Losasso, and Ronald Fedkiw. 2005. Coupling Water and Smoke to Thin Deformable and Rigid Shells. In ACM SIGGRAPH 2005 Papers (SIGGRAPH ’05). Association for Computing Machinery, New York, NY, USA, 973–981.Google ScholarDigital Library
    26. Yuanming Hu, Tzu-Mao Li, Luke Anderson, Jonathan Ragan-Kelley, and Frédo Durand. 2019. Taichi: A Language for High-Performance Computation on Spatially Sparse Data Structures. ACM Trans. Graph. 38, 6, Article 201 (nov 2019), 16 pages. Google ScholarDigital Library
    27. Ales Janka. 2007. Smoothed aggregation multigrid for incompressible flows. PAMM 7 (12 2007), 1025901 — 1025902.Google Scholar
    28. Chenfanfu Jiang, Theodore Gast, and Joseph Teran. 2017. Anisotropic Elastoplasticity for Cloth, Knit and Hair Frictional Contact. ACM Trans. Graph. 36, 4, Article 152 (jul 2017), 14 pages.Google ScholarDigital Library
    29. Chenfanfu Jiang, Craig Schroeder, Joseph Teran, Alexey Stomakhin, and Andrew Selle. 2016. The Material Point Method for Simulating Continuum Materials. In ACM SIGGRAPH 2016 Courses (SIGGRAPH ’16). Association for Computing Machinery, New York, NY, USA, Article 24, 52 pages.Google Scholar
    30. Richard Jones and Richard Southern. 2017. Physically-Based Droplet Interaction. In Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’17). Association for Computing Machinery, New York, NY, USA, Article 5, 10 pages.Google ScholarDigital Library
    31. Theodore Kim and David Eberle. 2020. Dynamic Deformables: Implementation and Production Practicalities. In ACM SIGGRAPH 2020 Courses (SIGGRAPH ’20). Association for Computing Machinery, New York, NY, USA, Article 23, 182 pages. Google ScholarDigital Library
    32. Fredrik Kjolstad, Shoaib Kamil, Jonathan Ragan-Kelley, David I. W. Levin, Shinjiro Sueda, Desai Chen, Etienne Vouga, Danny M. Kaufman, Gurtej Kanwar, Wojciech Matusik, and Saman Amarasinghe. 2016. Simit: A Language for Physical Simulation. ACM Trans. Graph. 35, 2, Article 20 (mar 2016), 21 pages. Google ScholarDigital Library
    33. Gergely Klár, Theodore Gast, Andre Pradhana, Chuyuan Fu, Craig Schroeder, Chenfanfu Jiang, and Joseph Teran. 2016. Drucker-Prager Elastoplasticity for Sand Animation. ACM Trans. Graph. 35, 4, Article 103 (jul 2016), 12 pages.Google ScholarDigital Library
    34. Frank Losasso, Tamar Shinar, Andrew Selle, and Ronald Fedkiw. 2006. Multiple Interacting Liquids. ACM Trans. Graph. 25, 3 (jul 2006), 812–819.Google ScholarDigital Library
    35. Frank Losasso, Jerry Talton, Nipun Kwatra, and Ronald Fedkiw. 2008. Two-Way Coupled SPH and Particle Level Set Fluid Simulation. IEEE Transactions on Visualization and Computer Graphics 14, 4 (2008), 797–804. Google ScholarDigital Library
    36. Chaoyang Lyu, Wei Li, Mathieu Desbrun, and Xiaopei Liu. 2021. Fast and Versatile Fluid-Solid Coupling for Turbulent Flow Simulation. ACM Trans. Graph. 40, 6, Article 201 (dec 2021), 18 pages. Google ScholarDigital Library
    37. Miles Macklin and Matthias Müller. 2013. Position Based Fluids. ACM Trans. Graph. 32, 4, Article 104 (jul 2013), 12 pages.Google ScholarDigital Library
    38. Miles Macklin, Matthias Müller, and Nuttapong Chentanez. 2016. XPBD: Position-Based Simulation of Compliant Constrained Dynamics. In Proceedings of the 9th International Conference on Motion in Games (MIG ’16). Association for Computing Machinery, New York, NY, USA, 49–54.Google ScholarDigital Library
    39. Miles Macklin, Kier Storey, Michelle Lu, Pierre Terdiman, Nuttapong Chentanez, Stefan Jeschke, and Matthias Müller. 2019. Small Steps in Physics Simulation. In Proceedings of the 18th Annual ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’19). Association for Computing Machinery, New York, NY, USA, Article 2, 7 pages.Google ScholarDigital Library
    40. Sebastian Martin, Peter Kaufmann, Mario Botsch, Eitan Grinspun, and Markus Gross. 2010. Unified Simulation of Elastic Rods, Shells, and Solids. In ACM SIGGRAPH 2010 Papers (SIGGRAPH ’10). Association for Computing Machinery, New York, NY, USA, Article 39, 10 pages.Google ScholarDigital Library
    41. A. McAdams, E. Sifakis, and J. Teran. 2010. A Parallel Multigrid Poisson Solver for Fluids Simulation on Large Grids. In Proceedings of the 2010 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’10). Eurographics Association, Goslar, DEU, 65–74.Google ScholarDigital Library
    42. Aleka McAdams, Yongning Zhu, Andrew Selle, Mark Empey, Rasmus Tamstorf, Joseph Teran, and Eftychios Sifakis. 2011. Efficient Elasticity for Character Skinning with Contact and Collisions. ACM Trans. Graph. 30, 4, Article 37 (jul 2011), 12 pages.Google ScholarDigital Library
    43. Eder Miguel, Rasmus Tamstorf, Derek Bradley, Sara C. Schvartzman, Bernhard Thomaszewski, Bernd Bickel, Wojciech Matusik, Steve Marschner, and Miguel A. Otaduy. 2013. Modeling and Estimation of Internal Friction in Cloth. ACM Trans. Graph. 32, 6, Article 212 (nov 2013), 10 pages.Google ScholarDigital Library
    44. Matthias Müller, Bruno Heidelberger, Marcus Hennix, and John Ratcliff. 2007. Position Based Dynamics. J. Vis. Comun. Image Represent. 18, 2 (apr 2007), 109–118.Google ScholarDigital Library
    45. Ken Museth. 2013. VDB: High-Resolution Sparse Volumes with Dynamic Topology. ACM Trans. Graph. 32, 3, Article 27 (jul 2013), 22 pages. Google ScholarDigital Library
    46. Ken Museth. 2021. NanoVDB: A GPU-Friendly and Portable VDB Data Structure For Real-Time Rendering And Simulation (SIGGRAPH ’21). Association for Computing Machinery, New York, NY, USA, Article 1, 2 pages. Google ScholarDigital Library
    47. Rahul Narain, Jonas Zehnder, and Bernhard Thomaszewski. 2019. A Second-Order Advection-Reflection Solver. Proc. ACM Comput. Graph. Interact. Tech. 2, 2, Article 16 (jul 2019), 14 pages.Google ScholarDigital Library
    48. Saket Patkar, Mridul Aanjaneya, Dmitriy Karpman, and Ronald Fedkiw. 2013. A Hybrid Lagrangian-Eulerian Formulation for Bubble Generation and Dynamics. In Proceedings of the 12th ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’13). Association for Computing Machinery, New York, NY, USA, 105–114.Google ScholarDigital Library
    49. Avi Robinson-Mosher, Tamar Shinar, Jon Gretarsson, Jonathan Su, and Ronald Fedkiw. 2008. Two-Way Coupling of Fluids to Rigid and Deformable Solids and Shells. ACM Trans. Graph. 27, 3 (aug 2008), 1–9.Google ScholarDigital Library
    50. Andrew Selle, Ronald Fedkiw, ByungMoon Kim, Yingjie Liu, and Jarek Rossignac. 2008. An Unconditionally Stable MacCormack Method. J. Sci. Comput. 35 (06 2008), 350–371.Google Scholar
    51. Rajsekhar Setaluri, Mridul Aanjaneya, Sean Bauer, and Eftychios Sifakis. 2014. SPGrid: A Sparse Paged Grid Structure Applied to Adaptive Smoke Simulation. ACM Trans. Graph. 33, 6, Article 205 (nov 2014), 12 pages. Google ScholarDigital Library
    52. Morten Silcowitz, Sarah Niebe, and Kenny Erleben. 2010. Projected Gauss-Seidel Subspace Minimization Method for Interactive Rigid Body Dynamics – Improving Animation Quality using a Projected Gauss-Seidel Subspace Minimization Method. GRAPP 2010 – Proceedings of the International Conference on Computer Graphics Theory and Applications 229, 38–45.Google Scholar
    53. Breannan Smith, Fernando De Goes, and Theodore Kim. 2018. Stable Neo-Hookean Flesh Simulation. ACM Trans. Graph. 37, 2, Article 12 (mar 2018), 15 pages.Google ScholarDigital Library
    54. Jos Stam. 1999. Stable Fluids. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’99). ACM Press/Addison-Wesley Publishing Co., USA, 121–128.Google Scholar
    55. Jos Stam. 2009. Nucleus: Towards a unified dynamics solver for computer graphics. In 2009 11th IEEE International Conference on Computer-Aided Design and Computer Graphics. 1–11. Google ScholarCross Ref
    56. Alexey Stomakhin, Andrew Moffat, and Gary Boyle. 2019. A Practical Guide to Thin Film and Drips Simulation. In ACM SIGGRAPH 2019 Talks (SIGGRAPH ’19). Association for Computing Machinery, New York, NY, USA, Article 72, 2 pages.Google ScholarDigital Library
    57. Alexey Stomakhin, Craig Schroeder, Lawrence Chai, Joseph Teran, and Andrew Selle. 2013. A Material Point Method for Snow Simulation. ACM Trans. Graph. 32, 4, Article 102 (jul 2013), 10 pages.Google ScholarDigital Library
    58. Alexey Stomakhin, Craig Schroeder, Chenfanfu Jiang, Lawrence Chai, Joseph Teran, and Andrew Selle. 2014. Augmented MPM for Phase-Change and Varied Materials. ACM Trans. Graph. 33, 4, Article 138 (jul 2014), 11 pages.Google ScholarDigital Library
    59. Alexey Stomakhin, Joel Wretborn, Kevin Blom, and Gilles Daviet. 2020. Underwater Bubbles and Coupling. In ACM SIGGRAPH 2020 Talks (SIGGRAPH ’20). Association for Computing Machinery, New York, NY, USA, Article 2, 2 pages.Google Scholar
    60. Tetsuya Takahashi and Christopher Batty. 2020. Monolith: A Monolithic Pressure-Viscosity-Contact Solver for Strong Two-Way Rigid-Rigid Rigid-Fluid Coupling. ACM Trans. Graph. 39, 6, Article 182 (nov 2020), 16 pages.Google ScholarDigital Library
    61. Tetsuya Takahashi and Christopher Batty. 2021. FrictionalMonolith: A Monolithic Optimization-Based Approach for Granular Flow with Contact-Aware Rigid-Body Coupling. ACM Trans. Graph. 40, 6, Article 206 (dec 2021), 20 pages.Google ScholarDigital Library
    62. Rasmus Tamstorf, Toby Jones, and Stephen F. McCormick. 2015. Smoothed Aggregation Multigrid for Cloth Simulation. ACM Trans. Graph. 34, 6, Article 245 (oct 2015), 13 pages.Google ScholarDigital Library
    63. Alessandro Tasora, Radu Serban, Hammad Mazhar, Arman Pazouki, Daniel Melanz, Jonathan Fleischmann, Michael Taylor, Hiroyuki Sugiyama, and Dan Negrut. 2016. Chrono: An Open Source Multi-physics Dynamics Engine. In Lecture Notes in Computer Science. Springer International Publishing, 19–49.Google Scholar
    64. Yun Teng, David I. W. Levin, and Theodore Kim. 2016. Eulerian Solid-Fluid Coupling. ACM Trans. Graph. 35, 6, Article 200 (nov 2016), 8 pages. Google ScholarDigital Library
    65. Maxime Tournier, Matthieu Nesme, Benjamin Gilles, and François Faure. 2015. Stable Constrained Dynamics. ACM Trans. Graph. 34, 4, Article 132 (jul 2015), 10 pages.Google ScholarDigital Library
    66. Pascal Volino, Nadia Magnenat-Thalmann, and Francois Faure. 2009. A simple approach to nonlinear tensile stiffness for accurate cloth simulation. ACM Transactions on Graphics 28, 4, Article 105 (2009).Google ScholarDigital Library
    67. Joel Wretborn, Sean Flynn, and Alexey Stomakhin. 2022. Guided Bubbles and Wet Foam for Realistic Whitewater Simulation. ACM Trans. Graph. 41, 4, Article 117 (jul 2022). Google ScholarDigital Library
    68. Tao Yang, Jian Chang, Bo Ren, Ming C. Lin, Jian Jun Zhang, and Shi-Min Hu. 2015. Fast Multiple-Fluid Simulation Using Helmholtz Free Energy. ACM Trans. Graph. 34, 6, Article 201 (oct 2015), 11 pages. Google ScholarDigital Library
    69. David M. Young. 1971. Chapter 4 – CONVERGENCE OF THE BASIC ITERATIVE METHODS. In Iterative Solution of Large Linear Systems, David M. Young (Ed.). Academic Press, 106–139.Google Scholar
    70. Yongning Zhu and Robert Bridson. 2005. Animating Sand as a Fluid. ACM Trans. Graph. 24, 3 (jul 2005), 965–972.Google ScholarDigital Library


ACM Digital Library Publication: