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 heightfield, 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 update this 2D pyro solver here, by adding more nodes/features/forces, and better organization to create more complex simulations. In future, when geometry nodes become faster and more stable I will also release the 3D pyro solver.
Explainer video to get you started:
https://www.youtube.com/watch?v=Nj_3rFdp_4s&ab_channel=AlbosX