レイノルズ数と相似則をわかりやすく解説

レイノルズ数は、流体力学で最も重要な無次元数です。流れが層流(滑らか)か乱流(不規則)かを判別する指標として使われ、風洞試験の模型設計や配管設計の基本パラメータとなります。

本記事では、レイノルズ数の物理的意味を明らかにし、ナビエ・ストークス方程式の無次元化から相似則の考え方まで解説します。

本記事の内容

  • レイノルズ数の定義と物理的意味
  • 層流と乱流の遷移
  • ナビエ・ストークス方程式の無次元化
  • 相似則とモデル実験の考え方
  • Pythonによる層流・乱流の速度分布の可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

レイノルズ数の定義

定義式

レイノルズ数 $\text{Re}$ は、慣性力と粘性力の比で定義されます。

$$ \boxed{\text{Re} = \frac{\rho V L}{\mu} = \frac{VL}{\nu}} $$

ここで、 * $\rho$: 流体の密度 [kg/m$^3$] * $V$: 代表速度 [m/s] * $L$: 代表長さ [m] * $\mu$: 粘性係数(動粘性係数)[Pa·s] * $\nu = \mu/\rho$: 動粘度 [m$^2$/s]

物理的意味

$$ \text{Re} = \frac{\text{慣性力}}{\text{粘性力}} \sim \frac{\rho V^2 / L}{\mu V / L^2} = \frac{\rho V L}{\mu} $$

  • $\text{Re}$ が大きい: 慣性力が支配的 → 乱流になりやすい
  • $\text{Re}$ が小さい: 粘性力が支配的 → 層流が維持される

層流と乱流

レイノルズの実験(1883年)

レイノルズは、管内にインクの筋を流し入れることで流れの様子を観察しました。

  • 低流速: インクの筋は真っ直ぐ(層流)
  • 高流速: インクが乱れて拡散(乱流)

遷移レイノルズ数

流れの種類 代表長さ 遷移 $\text{Re}$
円管内流れ 管直径 $D$ $\text{Re}_c \approx 2300$
平板上の境界層 上流端からの距離 $x$ $\text{Re}_c \approx 5 \times 10^5$
球まわりの流れ 球直径 $D$ $\text{Re}_c \approx 2 \times 10^5$

管内流れの速度分布

層流(ハーゲン・ポアズイユ流れ)

円管内の完全発達層流の速度分布は放物線形です。

$$ v(r) = v_{\max}\left(1 – \frac{r^2}{R^2}\right) $$

ここで $R$ は管半径、$v_{\max}$ は管中心の最大速度です。

平均速度は $\bar{v} = v_{\max}/2$ です。

乱流

乱流の速度分布は経験的な べき乗則 で近似されます。

$$ \frac{v(r)}{v_{\max}} = \left(1 – \frac{r}{R}\right)^{1/n} $$

通常 $n = 7$(1/7乗則)が使われます。乱流では速度分布が平坦化し、管壁近傍で急激に変化します。

ナビエ・ストークス方程式の無次元化

ナビエ・ストークス方程式

非圧縮性ニュートン流体の運動方程式(ナビエ・ストークス方程式)は、

$$ \rho\left(\frac{\partial \bm{v}}{\partial t} + (\bm{v} \cdot \nabla)\bm{v}\right) = -\nabla P + \mu\nabla^2\bm{v} + \rho\bm{g} $$

無次元化

代表速度 $V_0$、代表長さ $L_0$、代表時間 $T_0 = L_0/V_0$ で無次元化します。

$$ \bm{v}^* = \frac{\bm{v}}{V_0}, \quad \bm{x}^* = \frac{\bm{x}}{L_0}, \quad t^* = \frac{t}{T_0}, \quad P^* = \frac{P}{\rho V_0^2} $$

代入して整理すると、

$$ \frac{\partial \bm{v}^*}{\partial t^*} + (\bm{v}^* \cdot \nabla^*)\bm{v}^* = -\nabla^* P^* + \frac{1}{\text{Re}}\nabla^{*2}\bm{v}^* + \frac{1}{\text{Fr}^2}\hat{\bm{g}} $$

ここで $\text{Fr} = V_0/\sqrt{gL_0}$ はフルード数です。

この式からわかるように、$\text{Re}$ が同じならば無次元化された方程式は同じ形になります。これが相似則の数学的根拠です。

相似則

力学的相似

2つの流れが力学的に相似であるためには、以下の条件が必要です。

  1. 幾何学的相似: 形状が相似(縮尺比が一定)
  2. 運動学的相似: 速度場が相似
  3. 力学的相似: 作用する力の比が等しい

模型実験の設計

実機のレイノルズ数と模型のレイノルズ数を一致させます。

$$ \text{Re}_{\text{model}} = \text{Re}_{\text{prototype}} $$

$$ \frac{V_m L_m}{\nu_m} = \frac{V_p L_p}{\nu_p} $$

模型の縮尺を $\lambda = L_m / L_p$ とし、同じ流体を使う場合($\nu_m = \nu_p$)、

$$ V_m = \frac{V_p}{\lambda} $$

模型を小さくするほど、流速を大きくする必要があります。

Pythonでの実装

層流と乱流の管内速度分布を比較し、レイノルズ数による流れの分類を可視化します。

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 2, figsize=(14, 6))

# --- (1) 層流 vs 乱流の速度分布 ---
R = 0.05  # 管半径 [m]
r = np.linspace(-R, R, 500)

# 層流(放物線)
v_max_lam = 2.0  # 最大速度 [m/s]
v_laminar = v_max_lam * (1 - (r / R)**2)

# 乱流(1/7乗則)
v_max_turb = 2.0
n_exp = 7
v_turbulent = v_max_turb * (1 - np.abs(r) / R)**(1 / n_exp)

axes[0].plot(v_laminar, r * 1e3, 'b-', linewidth=2, label='Laminar (Poiseuille)')
axes[0].plot(v_turbulent, r * 1e3, 'r-', linewidth=2, label='Turbulent (1/7 power law)')
axes[0].set_xlabel('Velocity [m/s]')
axes[0].set_ylabel('Radial position $r$ [mm]')
axes[0].set_title('Velocity Profiles in Pipe Flow')
axes[0].legend()
axes[0].grid(True)

# 管壁を表示
axes[0].axhline(y=R * 1e3, color='gray', linewidth=3)
axes[0].axhline(y=-R * 1e3, color='gray', linewidth=3)

# --- (2) レイノルズ数 vs 摩擦係数(ムーディ線図の一部) ---
Re_lam = np.linspace(500, 2300, 100)
Re_turb = np.linspace(3000, 1e6, 500)

# 層流: f = 64/Re
f_laminar = 64 / Re_lam

# 乱流(滑面管): Blasiusの式 f = 0.316/Re^0.25
f_turbulent = 0.316 / Re_turb**0.25

axes[1].loglog(Re_lam, f_laminar, 'b-', linewidth=2, label='Laminar: $f = 64/Re$')
axes[1].loglog(Re_turb, f_turbulent, 'r-', linewidth=2, label='Turbulent: $f = 0.316/Re^{0.25}$ (Blasius)')

# 遷移領域
axes[1].axvspan(2300, 4000, alpha=0.2, color='yellow', label='Transition region')
axes[1].axvline(x=2300, color='gray', linestyle='--', alpha=0.7)

axes[1].set_xlabel('Reynolds number $Re$')
axes[1].set_ylabel('Friction factor $f$')
axes[1].set_title('Moody Diagram (Smooth Pipe)')
axes[1].legend()
axes[1].grid(True, which='both', alpha=0.3)

plt.tight_layout()
plt.show()

# 具体例の計算
rho = 998      # 水の密度 [kg/m^3]
mu = 1.0e-3    # 水の粘度 [Pa·s]
D = 0.05       # 管直径 [m]
velocities = [0.01, 0.05, 0.1, 0.5, 1.0, 5.0]

print("管内流れのレイノルズ数(水, D=50mm):")
print(f"{'速度 [m/s]':>12} {'Re':>10} {'流れの状態':>12}")
print("-" * 38)
for v in velocities:
    Re = rho * v * D / mu
    state = "層流" if Re < 2300 else ("遷移" if Re < 4000 else "乱流")
    print(f"{v:>12.2f} {Re:>10.0f} {state:>12}")

左図から、層流では放物線分布、乱流では壁面近傍を除きほぼ平坦な速度分布になることがわかります。右図のムーディ線図では、層流と乱流で摩擦係数の挙動が全く異なることが確認できます。

まとめ

本記事では、レイノルズ数と相似則について解説しました。

  • レイノルズ数 $\text{Re} = \rho VL/\mu$ は慣性力と粘性力の比
  • $\text{Re}$ が小さいと層流、大きいと乱流。円管では $\text{Re}_c \approx 2300$
  • ナビエ・ストークス方程式の無次元化により、$\text{Re}$ が流れの支配パラメータであることが示される
  • 相似則: $\text{Re}$ を一致させれば力学的に相似な流れが実現でき、模型実験の基盤となる

次のステップとして、以下の記事も参考にしてください。