An open API service indexing awesome lists of open source software.

https://github.com/ichristov/intermediate-fluid-mechanics

ME 50900 - Intermediate Fluid Mechanics
https://github.com/ichristov/intermediate-fluid-mechanics

blasius-equation boundary-layer couette-poiseuille-flow dimensional-analysis fluid-mechanics ideal-flow interactive-visualizations lubrication navier-stokes-equations self-similarity stokes-flow streamfunction teaching-materials tensor-calculus velocity-field vorticity

Last synced: about 1 month ago
JSON representation

ME 50900 - Intermediate Fluid Mechanics

Awesome Lists containing this project

README

          

# ME 50900 – Intermediate Fluid Mechanics

This is a GitHub repository for ME 50900 – Intermediate Fluid Mechanics at Purdue University, as taught by Prof. [Ivan C. Christov](HTTPS://christov.tmnt-lab.org).
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](extras/flow_visualization.ipynb) — quiver plots, streamlines, pathlines, streaklines.
* [Velocity field in polar coords](velocity_field_in_polar_coords.ipynb) — plotting planar (2D) velocity fields given in terms of polar velocity components.
* [Streamfunction in 2D](streamfunction_2D.ipynb) — constructing, visualizing, and understanding streamfunctions for 2D flows in Cartesian coordinates.
* [Kinematics and the material derivative](kinematics_material_derivative.ipynb) — given a flow field, going beyond flow visualization.

* Dynamics of unidirectional flows:
* [Combined PC flow](combined_PC_flow.ipynb) — solution of combined Poiseuille–Couette flow generated by the combination of a pressure gradient and wall motion.
* [Startup PC flow](extras/startup_PC_flow.ipynb) — the full transient solution from rest for Poiseuille–Couette flow (to complement [Combined PC Flow](../combined_PC_flow.ipynb)).
* [Slip flow in a channel](extras/slip_flow_channel.ipynb) — a pressure-driven flow with Navier slip in a 2D channel, arising from microfluidics.
* [Stokes' 1st problem](Stokes_1st_problem.ipynb) — similarity solution for the flow caused by the impulsive motion of a plate.
* [Stokes' 2nd problem](Stokes_2nd_problem.ipynb) — post-transient solution for the flow caused by an oscillating plate.
* [Decay of an ideal vortex](decay_ideal_vortex.ipynb) — similarity solution for the decay of a point load of vorticity at the origin.
* [Womersley flow](extras/Womersley_flow.ipynb) — flow in a 2D channel and a 3D axisymmetric tube driven by a periodically pulsating pressure gradient, including animations.
* [Rectangular duct flow](extras/rectangular_duct.ipynb) — Fourier series solution for pressure-driven flow in a 3D duct.

* Flow fields with two velocity components:
* [Asymptotic suction flow](extras/asymptotic_suction_flow.ipynb) — a fully-developed flow field with two velocity components.
* [Ideal flows in 2D](ideal_flows_2D.ipynb) — having fun with functions of a complex variable.
* [Boundary layers](boundary_layers.ipynb) — everything you need to know about Blasius' problem.
* [Stokes flows in 2D](Stokes_flows_2D.ipynb) — having fun with the biharmonic equation in the plane, from Taylor's scraper to Moffatt's eddies.
* [Stokes flow past sphere](Stokes_flow_past_sphere.ipynb) — heavy-duty calculations in spherical coordinates.
* [Wavy channel flow](wavy_channel.ipynb) — the pressure drop along a wavy channel from lubrication theory.
* [Slipper pad bearing](slipper_pad_bearing.ipynb) — a classic application of Reynolds' lubrication equation.

* Dimensional analysis:
* [Dimensional analysis](dimensional_analysis.ipynb) — Buckingham's $\Pi$ theorem is just the rank–nullity theorem in disguise.
* [Taylor and the bomb](Taylor_and_the_bomb.ipynb) — how G. I. Taylor estimated the energetic yield of the Trinity test.

⚠️ The notebooks are unlikely to be robust and may require updates to run on different platforms, and as underlying Python libraries evolve.

📝 Also, checkout the [handouts](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: .
* See the [getting started with Markdown](https://www.markdownguide.org/getting-started/) 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](https://code.visualstudio.com/docs/sourcecontrol/intro-to-git), [Jupyter Notebooks in VS Code](https://code.visualstudio.com/docs/datascience/jupyter-notebooks).

* Check out [PY4E](https://www.py4e.com) – 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](https://github.com/PurdueMechanicalEngineering/me-297-intro-to-data-science ) also cover getting started with Scientific Python.

* For all your math typesetting needs: D. F. Griffiths and D. J. Higham, [_Learning LaTeX_](https://epubs.siam.org/doi/book/10.1137/1.9781611974423), 2nd ed, SIAM.