Hi all! I defended my Ph.D. thesis back in 2019 and I also served as the creator and moderator for the subreddit r/FluidMechanics for a long time. I think with that I have gathered enough experience and courage to answer some of your queries. Some broad topics that I can answer questions on are:
- computation fluid mechanics
- scientific programming and HPC
- nonlinear shallow water equations
- statistical description of turbulence: spectra, energy budget etc.
- experimental methods: PIV
- stratified turbulence
- academia
- navigating your career pre- and post-Ph.D.
Ask away!
What is stratified turbulance?
A stratified fluid has some layers stacked vertically due to changing temperature (as is the case in atmosphere) and changing density or both (as is the case in ocean). Typically the temperature or density decreases as we go up, in which case we say the fluid is “stably stratified”. However since these system experience a lot of external energy input (think radiation, waves or circulation), the fluid is pushed around and is essentially in a turbulent state. This idealized system can be studied theoretically / computationally (in a periodic box) and experimentally (in a salty water tank) as an analogue for the atmosphere and ocean.
Do you ever stare at a crowd of moving people through a busy street, and think “I could model this”?
Not really, maybe it is a bit random like Brownian Motion.
I had thougt of automobile traffic on roads to be similar to 1D compressible flows, where traffic jams are like shock waves. As a graduate student I thought the idea was novel, but turns out others had thought about it. 🤣
I have been wanting to learn about computational fluid mechanics because I think fluid flow simulations look cool and would be a great programming project. But at the same time, water never really behaves like water in video games. I imagine because it is a hard problem to solve. What resources (textbooks, videos, etc.) would you recommend for someone who is interested in learning about fluid mechanics but has only dealt with fluids in an introductory engineering course many years ago?
In games what I think they do is a technique called smooth partical hydrodynamics, which simply put does not solve the Navier Stokes equations (the preferred classical model for fluids), but moves solid spheres around which collide and interact.
The right way would be to solve the full 3D NS equations, but like you said it is very expensive to do. But doing a 2D simulation on a laptop is very much possible. This hands on series is a good start
https://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/
There are also other models like a lattice boltzmann equations which this web app solves
https://physics.weber.edu/schroeder/fluids/
For more detailed study a theoretical book would be Fluid Mechanics by Kundu and Cohen and a computational book would be CFD 3 volume series by Hoffmann and Chiang.
Thanks! The Jupyer notebooks seem like a good starting point. I had used Burger’s equation but it was from the point of view of using it as a nonlinear dynamical system for state estimation, rather than from a fluid mechanics understanding of it. Are the textbooks you mentioned the recommended standards for this field?
Kundu and Cohen is defintely universally acclaimed to hit the right balance between being concise, readable while allowing the reader to gain a deep understanding of the fundamentals.
Hoffman is a good book for understanding some numerical methods, but there may be other books.
Hi and thanks for doing an AMA! Is fluid dynamics always about solving the Navier-Stokes equation or are there other models as well? I think I remember some article from years ago on progress to analytical solutions of Navier-Stokes. What is the situation there?
You’re welcome 😀
Navier Stokes is the most common model for most phenomena when the fluid can be assumed to be a continuum. But when
- it involves particles / multiphase flows / phase change / chemical reactions, extra equations are needed
- in microsccopic regime (small devices like a DNA sequencing machine) / rarefied regime (hypersonic fluids) the fluid molecules are too far apart, so it is no longer a continuum. Other models like Molecular dynamics or Monte Carlo methods or Lattice Boltzmann methods work best here.
- in highly turbulent flows, you can’t simulate the full Navier Stokes due to limitations in computational resources. Then some turbulence modelling is needed to mimic diffusion at small scales.
For geophysical CFD, what are typical values you deal with?
- Viscosity
- Density
- Velocity
- Reynolds number
- Simulation timestep
- Total simulation elapsed time
- Total number of simultaneous unknowns solved for
There are two kinds of geophysical flow studies one can do. 2D simulations where you use models like shallow water equations. Then you deal with
- Velocity
- Reynolds number (which implies some viscosity)
- Froude number (or gravity)
- Rossby number (or Coriolis force from Earth’s rotation)
- Total energy (so you know when it is in a statistically steady state)
- Density only if you add many layer
- Boundary conditions (only if it matters, can be avoided)
You can also do a 3D simulation, but often we use the Boussinesq equations, in which density is approximated as a passive scalar.
This is only the setup, but there is a rich set of phenomena one can aim to simulate with.
So are you treating the Earth’s crust as a shallow fluid layer? Or the mantle underneath? I would think the mantle is too thick for shallow water equations.
Usually for the troposphere or even the atmosphere and the ocean this can be a good model. As you said, I doubt if it can be used to represent lava flows under the earth - something a geologist would know and I am not one. 😀