Blender: 2D Pyro Solver - Geometry Nodes
Current Version: 2.0
This is a fully functioning 2D pyro solver (smoke simulator) created entirely using Geometry Nodes in Blender. The inspiration behind this project was the video 'Tide' by the 3d Studio Panoply, which uses a 2D pyro solver in houdini to create a mesmerizing liquid effect, then uses the density field from the pyro sim as the height attribute on a heighfield, yielding a very abstract and organic result. Unfortunately at the moment, geometry nodes are not super fast at calculating large simulation loops such as this one, so although it is technically possible to convert this 2D solver into a 3D solver (it has already been tested), the simulation times are incredibly slow and unstable. I will continue to improve both this 2D pyro solver and the 3D pyro solver. Over time I will update the 2D pyro solver here, and will upload the 3D solver as a seperate item once it is ready.
Version 2.0 Updates:
- MacCormack Advection (as well as options to choose Upwind advection or Single Stage advection)
- Improved Advection Trace Modes - Single Step, Trace Midpoint, Trace RK3, RK4, and CFL Adaptive Trace
- Multi-step non divergence calculation - with exposed pressure iteration control
- Overall new structure making the solver more similar to houdini's pyro solve
- In-built Wind Force, Turbulence Force, Buoyancy, and Drag Force
Explainer video to get you started:
https://www.youtube.com/watch?v=GmbANHNMDDk&ab_channel=AlbosX
A .blend file containing all the group nodes required to run the 2D Pyro Solver.