{"id":13732128,"url":"https://github.com/ZeusYang/FluidEngine","last_synced_at":"2025-05-08T06:31:29.523Z","repository":{"id":216135270,"uuid":"206521788","full_name":"ZeusYang/FluidEngine","owner":"ZeusYang","description":"Offline fluid simulation solver adopted from https://github.com/doyubkim/fluid-engine-dev.","archived":false,"fork":false,"pushed_at":"2019-10-31T03:38:39.000Z","size":17130,"stargazers_count":67,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-02T19:21:43.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZeusYang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-09-05T09:08:57.000Z","updated_at":"2024-04-16T11:44:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"bb81f5f5-3ae7-4273-84d3-b38c3cc014d2","html_url":"https://github.com/ZeusYang/FluidEngine","commit_stats":null,"previous_names":["zeusyang/fluidengine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeusYang%2FFluidEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeusYang%2FFluidEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeusYang%2FFluidEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeusYang%2FFluidEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZeusYang","download_url":"https://codeload.github.com/ZeusYang/FluidEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213757417,"owners_count":15634171,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:01:47.108Z","updated_at":"2024-11-14T23:31:22.261Z","avatar_url":"https://github.com/ZeusYang.png","language":"C++","readme":"# FluidEngine\n\nThis is a fluid simulation engine for computer graphics applications. I adopt it from Doyub Kim's [fluid-engine-dev](https://github.com/doyubkim/fluid-engine-dev). It's built on C++11 and compiled with Microsoft Visual Studio 2017. This fluid engine is just for personal learning and interest. \n\n\n\n## Features\n\n- Basic math and geometry operations and data structures\n- Jacobi, Gauss-Seidel, SOR, MG, CG, ICCG, and MGPCG linear system solvers\n- Spherical, SPH, Zhu \u0026 Bridson, and Anisotropic kernel for points-to-surface converter\n- Intel TBB multi-threading backends\n- SPH and PCISPH fluid simulators\n- Converters between signed distance function and triangular mesh\n- Stable fluids-based smoke simulator (Pure Euler fluid solver)\n- Level set-based liquid simulator\n- Fluid solvers have both 2-D and 3-D version\n\n\n\n## Start\n\nJust clone the code and open it with Microsoft Visual Studio 2017.  There are three vs2017 projects. **FluidEngine** is the core of engine.  **Test** is for unit test while **FluidExample** includes several fluid demos.\n\n\n\n## Todo\n\n- PIC, FLIP, and APIC fluid simulators\n- Position based fluid simulator\n- Visualizer based on OpenGL\n- Flame simulator\n- GPU version of SPH Simulator\n- ......\n\n\n\n## Learning Notes(In Chinese)\n\nThese are not documentations for the engine but simulation algorithm notes.\n\n- [流体模拟Fluid Simulation：流体模拟基础](https://yangwc.com/2019/05/01/fluidSimulation/)\n- [流体模拟Fluid Simulation：Level Set \u0026 Marching Cube](https://yangwc.com/2019/07/30/LevelSet/)\n- [流体模拟Fluid Simulation：求解流体不可压缩的泊松方程](https://yangwc.com/2019/08/03/MakingFluidImcompressible/)\n- [流体模拟Fluid Simulation：基于SPH的拉格朗日流体模拟](https://yangwc.com/2019/08/29/SPH/)\n- [流体模拟Fluid Simulation：基于欧拉网格的流体模拟](https://yangwc.com/2019/09/12/Smoke/)\n\n- [流体模拟Fluid Simulation：Free-Surface Flow](https://yangwc.com/2019/09/22/FreeSurfaceFlow/)\n\n\n\n## Example\n\nThe engine is just for simulation and can use some renderers (such as  [Mitsuba renderer](https://www.mitsuba-renderer.org/)) to render it for visualization.\n\n#### PCISPH Simulation Example\n\n![image](pictures/1.jpg)\n\n#### Euler Simulation Solver Example\n\n![image](pictures/2.jpg)\n\n#### Level-set Based Liquid Example\n\n![image](pictures/3.jpg)\n\n\n\n## Reference\n\n[1]    Müller M, Charypar D, Gross M. Particle-based fluid simulation for interactive applications[C]//Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation. Eurographics Association, 2003: 154-159.\n\n[2]​    Becker M, Teschner M. Weakly compressible SPH for free surface flows[C]//Proceedings of the 2007 ACM SIGGRAPH/Eurographics symposium on Computer animation. Eurographics Association, 2007: 209-217.\n\n[3]​    Schechter H, Bridson R. Ghost SPH for animating water[J]. ACM Transactions on Graphics (TOG), 2012, 31(4): 61.\n\n[4]​    Kim, D. (2017). *Fluid engine development*. Boca Raton: Taylor \u0026 Francis, a CRC Press, Taylor \u0026 Francis Group.\n\n[5]​    Adams and Wicke, Meshless approximation methods and applications in physics based modeling and animation, Eurographics tutorials 2009.\n\n[6]​    Dan Koschier, Jan Bender. Smoothed Particle Hydrodynamics Techniques for the Physics Based Simulation of Fluids and Solids, Eurographics Tutorial 2019.\n\n[7]​    Solenthaler B, Pajarola R. Predictive-corrective incompressible SPH[C]// Acm Siggraph. 2009.\n\n[8]​    R. Bridson and M. Müller-Fischer. Fluid simulation: Siggraph 2007 course notes. In ACM SIGGRAPH 2007 Courses, pages 1–81, ACM, 2007.\n\n[10]  Stam J. Stable fluids[J]. Acm Transactions on Graphics, 1999, 1999:121—128.\n\n[11]  A. J. Chorin and J. E. Marsden. A Mathematical Introduction to Fluid Mechanics. Springer-Verlag. Texts in Applied Mathematics 4. Second Edition., New York, 1990.\n\n[12]  Fedkiw R, Stam J, Jensen H W. Visual simulation of smoke[C]// Conference on Computer Graphics \u0026 Interactive Techniques. 2001.\n\n[13]  Solenthaler B , Jürg Schläfli, Pajarola R . A unified particle model for fluid-solid interactions[J]. Computer Animation and Virtual Worlds, 2007, 18(1):69-82. \n\n\n\n## Acknowledgement\n\nThanks very much for Doyub Kim's book, [\"Fluid Engine Development\"](https://www.crcpress.com/Fluid-Engine-Development/Kim/p/book/9781498719926). I highly recommend this book if you are interested in fluid simulation.\n\n","funding_links":[],"categories":["Physics"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeusYang%2FFluidEngine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZeusYang%2FFluidEngine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeusYang%2FFluidEngine/lists"}