Animation (0 SpS) :

Parameters :

Pulse :

Barriers :

This is a very rudimentary Computational Fluid Dynamics (CFD) simulation based on the Lattice Boltzmann Methods.
Most of the hard work comes from here, and most of the work done was to convert the code to typescript with a smidge of cosmetics ;).
FaQ
Can it be used for something ?
HELL NO ! hhhmmm, sorry, no not really, you can't do much except have some giggles with it :
  • There is no notion of time.
  • You are limited in the fluid speed.
  • As of now it is painfully slow as it is CPU only, I started using GPU.js but my implementation is buggy and it's taking me forever, I might finish that and publish it in the future.
It could give you a better idea of what is happening or do quick and dirty test as you can plop an SVG or a PNG and test stuff.
It keeps crashing !
Yeah, like I said, limited. You could try a few things to help though :
  • reduce flow speed
  • sharp angles tend to accelerate fluid dramatically in this simulation, try rounding off the edges ;)
  • if you are using pulse, reduce speed, stick to pressure close to 1, pulse for a shorter time, space out pulses.
Why..., why did you do that 0_o ??!

TLDR : I couldn't run a single CFD simlation easily on a design I created and I just wanted to see if it was kind of the begining of an idea (no, it was not) so I found something I could use and modified it for my purposes.

Long story, I follow Integza on youtube and he's working on pulsejet and wanted to use a Tesla valve as an inlet, it didn't work as expected.
BUUUUT, It gave me a "revolutionary idea"™ for a better Tesla valve that I was going to call "hyper-diodicitic conduit", I sent him a enthousiast email and set ou to design the thing on Fusion.
Couple of hours and a prototype design I just needed to run CFD simulation and it was going to be awesome !
Riiiight, one small problem though.... none of the software I found worked, local or online.... obviously, I needed to learn how to use them...
wooooh, look at that shinny toy, it's in javascript, I speak that, I'll probably spend less time modifing it than learning proper CFD, and it's for testing purposes anyway.
You know the rest as you are here ;)