Treat this as a "what do I need to do to make fluid flow that looks okayish in graphics" post rather than "how do I implement physics accurate CFD for industrial/scientific purposes" post.
Lots of points in there like
> "Air is an example of a compressible fluid; you squish it and it gets smaller. Water is an example of an incompressible fluid; you squish it and it pushes back, and doesn't get any smaller" (this only really depends on the Mach number, Ma>~0.3 and you are in compressible territory for any fluid. Incompressibility usually means we assume the divergence of velocity of zero)
> "Incompressible fluids are simpler to simulate because their density and pressure is always constant." (This is only true if you choose to adopt a grad P = 0 approximation)
are incorrect from a physics perspective.
If you look at what real incompressible Navier-Stokes solvers do [1], it's mathematically totally different from what this post shows. In fact, the part that this post omits (handle the pressure gradient term by first approximate time stepping the velocity term by ignoring the pressure term and then correct by solving a Poisson equation for the pressure residual, and then correct the velocity) is the most expensive step in incompressible solvers by far.
Hate it when incompressible fluids are mentioned like it’s literally true with any qualification or explanation.
Iiuc water might compress ~50% at the right place in the Earth’s mantle, maybe just not looking much like liquid.
usrnm 30 minutes ago [-]
Every science including physics consists of models that are just good enough for a particular use case. It's implied
otterdude 4 hours ago [-]
This is an ok introduction to CFD in that you discretize a problem, but it is not insightful and not scientific in its approach. The author routinely admits he doens't know how certain portions of the code work.
Agreed. I started from this article a few years ago, and was frustrated enough by:
> So that means, while I know what it does, I don't really know how, since all the work is in that mysterious function.
that I spent the time to work it out myself. (answer: It arises from discretising the Laplacian -- 6 is the number of direct neighbours in 3D)
wiz21c 3 hours ago [-]
CFD start to become really painful when the fluid leaves the cells...
jlhawn 4 hours ago [-]
The title should be updated to note this is from 2006.
Has there been anything like this published in the past 20 years but for compressible fluids? I have wanted to make a simple atmospheric model for years but have been unable to because of the complexity and probably my lack of complete understanding.
I'm curious what you want to model; what's an example phenomenon you'd like to be able to demonstrate?
jlhawn 19 minutes ago [-]
Atmospheric circulation. hadley cell, polar cell, and mid-latitude cells. It would also be interesting to see how new bands would occur if we increased the rotational speed of the earth, thus increasing the strength of the coriolis effect. It would also be neat to draw your own continents and orography and see how that impacts climate. which places become more wet/dry, etc. Change how much long wave radiation is absorbed by the atmosphere as the composition of the atmosphere changes. I'm not interested in actually making weather or climate predictions but using it as a tool to educate people on how the climate works.
jp191919 27 minutes ago [-]
Reminds me of The Structural Dynamics of Flow by Leslie Claret
briandw 4 hours ago [-]
I don't know about the CFD, but I really enjoyed reading this blog back in my iOS days. Friday Q&A was especially good. He would take some part of Obj-C or Cocoa and build a simple version from scratch.
makach 3 hours ago [-]
article is good, comments are fantastic!
Rendered at 21:27:18 GMT+0000 (Coordinated Universal Time) with Vercel.
Lots of points in there like
> "Air is an example of a compressible fluid; you squish it and it gets smaller. Water is an example of an incompressible fluid; you squish it and it pushes back, and doesn't get any smaller" (this only really depends on the Mach number, Ma>~0.3 and you are in compressible territory for any fluid. Incompressibility usually means we assume the divergence of velocity of zero)
> "Incompressible fluids are simpler to simulate because their density and pressure is always constant." (This is only true if you choose to adopt a grad P = 0 approximation)
are incorrect from a physics perspective.
If you look at what real incompressible Navier-Stokes solvers do [1], it's mathematically totally different from what this post shows. In fact, the part that this post omits (handle the pressure gradient term by first approximate time stepping the velocity term by ignoring the pressure term and then correct by solving a Poisson equation for the pressure residual, and then correct the velocity) is the most expensive step in incompressible solvers by far.
[1] https://en.wikipedia.org/wiki/Projection_method_(fluid_dynam...
Iiuc water might compress ~50% at the right place in the Earth’s mantle, maybe just not looking much like liquid.
This is a much better approach to CFD / Navier-Stokes and will help you understand the various phenomenon along the way. https://lorenabarba.com/blog/cfd-python-12-steps-to-navier-s...
> So that means, while I know what it does, I don't really know how, since all the work is in that mysterious function.
that I spent the time to work it out myself. (answer: It arises from discretising the Laplacian -- 6 is the number of direct neighbours in 3D)
Has there been anything like this published in the past 20 years but for compressible fluids? I have wanted to make a simple atmospheric model for years but have been unable to because of the complexity and probably my lack of complete understanding.