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 2D — constructing, visualizing, and understanding streamfunctions for 2D flows in Cartesian coordinates
- Kinematics 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 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 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 — 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 2D — having fun with functions of a complex variable
- Boundary Layers — everything you need to know about Blasius' problem
- Stokes Flows 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
- 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 LaTeX:
- 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.