Oh boy. The author desperately wants to avoid showing equations (or even correctly naming the Navier Stokes equations), and gets rid of the physics along the way. No, fluids can absolutely be compressible, and incompressible fluids absolutely have pressure differences.
Avoid. There are so many great resources out there that show you how to implement simple fluid solvers while teaching you something physically relevant.
I suspect that you may've skimmed the article a bit fast. The author uses terminology a little differently while developing their explanation.
For example, with respect to compressibility, the author isn't saying that water isn't compressible in the physical sense, but rather that it's not compressible in the mode of its behavior in their prior example (which they refer to as a "Naïve Implementation"). Which they're correct about -- their naive implementation would be more like an ideal-gas at near-vacuum pressures, which would be pretty unrealistic for water under normal conditions. And they also explain that non-compressibility (in the physical sense) is merely an approximation.
Then as for pressure-differences, the author has stuff like a variable called "difference_in_p" and writes about the pressure-field and such. So, no worries, they're not actually confused about incompressible fluids being able to have pressure-differences.
You are right that they typo'd "Navier-Stokes equations" in two different ways: they always seem to miss the last "s" in "Stokes", and sometimes they non-idiomatically put Stokes's name before Navier's. Presumably the author should fix the spelling of Stokes's name -- the latter might be a stylistic quirk (sometimes folks may intentionally re-order a list of names, arguing that it'd be more fair that way).
All that said, I can appreciate how it might be odd to see common terms used in a conceptual-development in a manner inconsistent with their meanings in the standard literature. It might be helpful for the author to include something like a disclaimer that they're taking a constructivist approach, and that the terminology used during construction may vary from the final definitions one'd arrive at once the standard theory is constructed.
You perfectly hit the points that rub me the wrong way when looking at the post: redefining commonly used terminology, lack of a short dose of physics for a background, misspelling Navier-Stokes, etc.
Neither of those should doom a computational project, but I think they have a bigger negative impact on readers than the author realizes. My 2c.
I like where the author is coming from, but maybe having started with the actual physics and/or equation and then explaining what those terms mean in a naive way would have much more impact. Giving an intuitive explanation of a physical term can be a great service to anyone learning a subject.
Starting instead with "here's how I imagine diffusion" from scratch reads like an introduction to homeopathy: "why, you have a bloated belly that feels hard, then you need to drink a (properly diluted) solution of some hard substance, say granite".
The problem with that is that you see all that because you already have a working knowledge of fluid mechanics. Someone reading this from the intended audience, ie someone looking for a gentle introduction, will not realize that absolute statements like “The incompressibility of fluids is the reason why those beautiful curls pop up in fluid bodies.” or “A substance that can not be compressed, can not have areas of higher and lower pressure” are simply and plainly wrong.
The result simply is, as I stated, that the interested reader will not have learned anything physical about fluids, and will not even know the vocabulary to dive deeper afterwards.
Note also, that the “naive” way still requires you to understand the divergence of a vectorfield, at which point the whole approach collapses and I wonder why they don’t simply give us the equations and then we can see for ourselves.
Yes, if you don't jump through all the hoops of Greek codegolf, memorizing dead mathematicians names and ingesting all the generational cruft, you don't deserve to create anything useful.
What can I say, words have meaning. I see that you speak the lingo of your peers, when you write about Rust, Rick & Morty, KYC/AML, SSRI, etc. Fluid mechanics also has a lingo, simple as that.
If you write a 10 page article about using some-framework-or-other, and you invent your own terminology and can't even be bothered write the name correctly of what you're writing about, that's not a good sign in my book. Doesn't matter when it was invented/developed/released.
And that's on top of the plainly wrong statements in the article.
Mathematicians like analytical approach. Technical problems like visualizing water can have many more solutions from all kinds of angles. Admonishing people for taking a creative approach is petty, in such as you lose the goal and make the means your goal.
I happen to be a technical artist, and the first rule of technical art is: cheat. If this upsets physicists and mathematicians, they completely miss the point of the entire endeavor.
Math and physics are merely tools to achieve the end result, not a goal unto themselves.
So, the fact that the faces I draw look like they went through a blender does not mean that I haven't studied drawing enough, it's just proof that I am this generation's Picasso and everyone petty enough to not recognize my genius is simply not acknowledging my creativity? Amazing! After all, was there ever a single serious artist who would go so low as to study anatomy, optics, geometry, perspective, architecture, etc. ?
I'll take a wild guess here that your technical artistry isn't in the field of fluid mechanics. There is a whole, very mature, very developed, field of fluid dynamics for visualizations out there. Just check out what people present at SIGGRAPH every year. It's amazing. They know exactly what they're doing. The thing with the visualization of many physical systems is that humans are really good at spotting discrepancies, e.g. if things don't bounce off well, or the smoke looks like honey - then it just looks really bad (like my blended face drawings) - but producing bad results doesn't automatically make me a great artist.
Interestingly the known physics of fluid dynamics are more or less limited to viscous fluids. That’s why wind tunnels[1] are still a critical engineering tool.
This is great, I was just working on a forked fluid simulation and this has definatly helped me understand why the pressure calc is found a 25 iteration loop!
Any good resources for non-grid simulation methods? I would like to implement an un-bounded 3D simulation (water can spread anywhere) using as little CPU resources as possible. In this case the precision/realism is not important, I'd just like to get fancy vortices.
Avoid. There are so many great resources out there that show you how to implement simple fluid solvers while teaching you something physically relevant.