This is a GitHub repository for ME 50900 – Intermediate Fluid Mechanics at Purdue University, as taught by Prof. Ivan C. Christov. The repository mainly consists of Jupyter notebooks used for hands-on demos in lectures, continuous knowledge acquisition, problem-set solutions, and enrichment activities.
🚀 Getting started (rough grouping of notebooks based on course topics):
-
Kinematics:
- Flow visualization — quiver plots, streamlines, pathlines, streaklines.
- Velocity field in polar coords — plotting planar (2D) velocity fields given in terms of polar velocity components.
- Streamfunction in 2D — constructing, visualizing, and understanding streamfunctions for 2D flows in Cartesian coordinates.
- Kinematics and the material derivative — given a flow field, going beyond flow visualization.
-
Dynamics of unidirectional flows:
- Combined PC flow — solution of combined Poiseuille–Couette flow generated by the combination of a pressure gradient and wall motion.
- Startup PC flow — the full transient solution from rest for Poiseuille–Couette flow (to complement Combined PC Flow).
- Slip flow in a channel — a pressure-driven flow with Navier slip in a 2D channel, arising from microfluidics.
- Stokes' 1st problem — similarity solution for the flow caused by the impulsive motion of a plate.
- Stokes' 2nd problem — post-transient solution for the flow caused by an oscillating plate.
- Decay of an ideal vortex — similarity solution for the decay of a point load of vorticity at the origin.
- Womersley flow — flow in a 2D channel and a 3D axisymmetric tube driven by a periodically pulsating pressure gradient, including animations.
- Rectangular duct flow — Fourier series solution for pressure-driven flow in a 3D duct.
-
Flow fields with two velocity components:
- Asymptotic suction flow — a fully-developed flow field with two velocity components.
- Ideal flows in 2D — having fun with functions of a complex variable.
- Boundary layers — everything you need to know about Blasius' problem.
- Stokes flows in 2D — having fun with the biharmonic equation in the plane, from Taylor's scraper to Moffatt's eddies.
- Stokes flow past sphere — heavy-duty calculations in spherical coordinates.
- Wavy channel flow — the pressure drop along a wavy channel from lubrication theory.
- Slipper pad bearing — a classic application of Reynolds' lubrication equation.
-
Dimensional analysis:
-
Dimensional analysis — Buckingham's
$\Pi$ theorem is just the rank–nullity theorem in disguise. - Taylor and the bomb — how G. I. Taylor estimated the energetic yield of the Trinity test.
-
Dimensional analysis — Buckingham's
📝 Also, checkout the handouts folder.
📚 Some resources for self-learning Jupyter, Python and
-
Google Colaboratory lets open Jupyter notebooks from GitHub and run them in the cloud from your browser: https://colab.research.google.com.
- See the getting started with Markdown guide for how to write nice discussion between your computational cells in the Jupyter notebook.
- More advanced programmers may find the following links useful: Introduction to Git in VS Code, Jupyter Notebooks in VS Code.
-
Check out PY4E – Python for Everybody – for free materials for learning how to program in Python.
- The first few lectures of ME 297 - Introduction to Data Science for Mechanical Engineers also cover getting started with Scientific Python.
-
For all your math typesetting needs: D. F. Griffiths and D. J. Higham, Learning LaTeX, 2nd ed, SIAM.