.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/aerodynamics/boundary_layer/plot_01_reynolds_similarity.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code or to run this example in your browser via JupyterLite. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_aerodynamics_boundary_layer_plot_01_reynolds_similarity.py: Reynolds' dimensionless number and wind-tunnel similarity ========================================================= Osborne Reynolds' dye experiments (1883) showed that pipe flow turns turbulent when :math:`\rho V D/\mu` exceeds a critical value, whatever the individual fluid, speed or diameter. The same number (:func:`~engineeringkit.aerodynamics.reynolds_number`) decides whether a scale model reproduces full-scale flow: matching it at reduced size forces higher speed or denser gas, which is why NACA built a pressurised variable-density tunnel in 1923. .. GENERATED FROM PYTHON SOURCE LINES 15-22 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from engineeringkit.aerodynamics import isa_atmosphere, reynolds_number mu_air = 1.789e-5 .. GENERATED FROM PYTHON SOURCE LINES 23-25 From insects to airliners ------------------------- .. GENERATED FROM PYTHON SOURCE LINES 25-40 .. code-block:: Python cases = { "fruit fly": (1.225, 1.0, 0.002), "sparrow": (1.225, 10.0, 0.05), "glider": (1.225, 30.0, 1.0), "light aircraft": (1.225, 60.0, 1.5), "airliner cruise": (float(isa_atmosphere(11000.0).density), 240.0, 6.0), } names, values = [], [] for name, (rho, V, chord) in cases.items(): Re = float(reynolds_number(rho, V, chord, mu_air)) names.append(name) values.append(Re) print(f"{name:16s} Re = {Re:9.2e}") .. rst-class:: sphx-glr-script-out .. code-block:: none fruit fly Re = 1.37e+02 sparrow Re = 3.42e+04 glider Re = 2.05e+06 light aircraft Re = 6.16e+06 airliner cruise Re = 2.93e+07 .. GENERATED FROM PYTHON SOURCE LINES 41-47 Matching Reynolds number in a 1/10-scale model ---------------------------------------------- At sea-level density the model must fly ten times faster than the aircraft, which puts it in the compressible regime; raising the tunnel pressure (and so the density) is the way out. .. GENERATED FROM PYTHON SOURCE LINES 47-66 .. code-block:: Python full = float(reynolds_number(1.225, 60.0, 1.5, mu_air)) pressure_ratio = np.linspace(1, 25, 100) model_speed = full * mu_air / (1.225 * pressure_ratio * 0.15) speed_20atm = full * mu_air / (1.225 * 20 * 0.15) print(f"required model speed at 1 atm: {model_speed[0]:.0f} m/s; at 20 atm: {speed_20atm:.0f} m/s") assert np.isclose(reynolds_number(1.225 * 20, speed_20atm, 0.15, mu_air), full) fig, axes = plt.subplots(1, 2, figsize=(10, 3.6)) axes[0].barh(names, values) axes[0].set_xscale("log") axes[0].set(xlabel="chord Reynolds number", title="Reynolds numbers in flight") axes[1].plot(pressure_ratio, model_speed) axes[1].axhline(0.3 * 340, color="gray", ls="--", label="Mach 0.3") axes[1].set(xlabel="tunnel pressure [atm]", ylabel="model speed [m/s]", title="1/10 model, matched Re") axes[1].legend() fig.tight_layout() plt.show() .. image-sg:: /api/gallery/aerodynamics/boundary_layer/images/sphx_glr_plot_01_reynolds_similarity_001.png :alt: Reynolds numbers in flight, 1/10 model, matched Re :srcset: /api/gallery/aerodynamics/boundary_layer/images/sphx_glr_plot_01_reynolds_similarity_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none required model speed at 1 atm: 600 m/s; at 20 atm: 30 m/s .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.292 seconds) .. _sphx_glr_download_api_gallery_aerodynamics_boundary_layer_plot_01_reynolds_similarity.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../../../lite/lab/index.html?path=api/gallery/aerodynamics/boundary_layer/plot_01_reynolds_similarity.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_01_reynolds_similarity.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_01_reynolds_similarity.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_01_reynolds_similarity.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_