Skip to content
cfd-lab:~/ja/posts/2026-05-28-streamline-pa…online
NOTE #057DAY THU 유체역학DATE 2026.05.28READ 4 min readWORDS 2,111#Flow-Visualization#Streamline#Material-Derivative#Euler-Lagrange#유동현상

流れの三つの肖像 — 流線・流跡線・流脈線はなぜ食い違うのか

非定常流で分かれる三つの曲線と物質微分の話

川にインクを一筋たらして写真を撮りました。同じ瞬間、横で木の葉を一枚浮かべて軌跡を描きました。二本の線は別の形になりました。流れは一つのはずなのに、姿が二つに分かれるのです。本記事では、流線・流跡線・流脈線という三つの曲線がなぜ食い違うのか、そしてその食い違いが物質微分(流体に乗って見る変化率)とどう結びつくのかを示します。読み終えると、川の写真一枚に隠れた時間の痕跡が読めるようになります。

同じ流れ、異なる三枚の絵#

流れを絵に残す方法は一つではありません。研究室では普通、三つを使います。

第一に、ある瞬間に全点の速度の向きをつないで描きます。第二に、粒子一つに目印を付けてその足跡を追います。第三に、一か所から染料を流し続けてできる帯を撮ります。三つの方法は同じ流れを見ますが、結果はいつも一致するわけではありません。

鍵は時間です。流れが時間とともに変われば(非定常流)、三枚の絵は食い違います。変わらなければ(定常流)、三つはぴたりと重なります。この差が今日のテーマです。

流線・流跡線・流脈線 — 三つの定義#

三つの曲線を式で切り分けてみましょう。速度場を u(x,t)\mathbf{u}(\mathbf{x}, t) とします。

流線(streamline):固定したある瞬間 tt に、全点で速度に接する曲線です。

dxu=dyv\frac{dx}{u} = \frac{dy}{v}

ここで u,vu, v はその瞬間の速度成分です。時間を止めたスナップ写真です。

流跡線(pathline):粒子一つを時間に沿って積分した実際の足跡です。

dxdt=u(x,t)\frac{d\mathbf{x}}{dt} = \mathbf{u}(\mathbf{x}, t)

木の葉一枚の旅の記録だと考えてください。

流脈線(streakline):同じ点 x0\mathbf{x}_0 を通り過ぎたすべての粒子が、いま どこにいるかをつないだ線です。煙突から立ちのぼる煙やインクの帯がまさにこれです。

定常流でのみ三つが重なる#

定常流とは、速度場が時間に依存しない流れ、すなわち u/t=0\partial \mathbf{u} / \partial t = 0 の場合です。このとき、粒子が一度ある点を通れば、後から来る粒子も同じ道をたどります。道が時間とともに変わらないからです。

そのため流跡線と流脈線が一致します。流線も毎瞬間同じなので、三つすべてが重なります。教科書で見る「きれいな流線図」は、実は定常流という暗黙の仮定の上に立っています。

非定常流ではこの仮定が崩れます。先に通った粒子の道と後の粒子の道が違い、瞬間の接線方向も毎瞬間変わります。だから三つの曲線は離れていきます。

オイラーとラグランジュ、そして物質微分#

この食い違いの根には二つの視点があります。オイラー視点(空間の固定点で観察)とラグランジュ視点(粒子を追って観察)です。流線はオイラー的、流跡線はラグランジュ的です。

二つの視点をつなぐ橋が物質微分です。

DϕDt=ϕt+(u)ϕ\frac{D\phi}{Dt} = \frac{\partial \phi}{\partial t} + (\mathbf{u}\cdot\nabla)\phi

ここで ϕ\phi は任意の物理量、右辺の第一項は局所変化率、第二項は対流変化率です。前者は「固定点での時間変化」、後者は「粒子が場所を移したことで生じる変化」を意味します。

直感がつまずきやすいのがここです。定常流で u/t=0\partial \mathbf{u}/\partial t = 0 でも、粒子は加速できます。狭まるノズルを思い浮かべてください。固定点で見れば速度は時間とともに変わりません。しかし粒子がのどへ吸い込まれるにつれてどんどん速くなります。その加速をすべて作るのが対流項 uu/xu\,\partial u/\partial x です。

下のシミュレーションで収縮比を操作してみましょう。

Nothing in this field depends on time, so ∂u/∂t = 0 at every fixed point. Yet the pink parcel still accelerates into the throat — all of it from the convective term u·∂u/∂x.

収縮比を0.25まで下げると、のど付近で粒子速度が4倍に跳ね上がります。それでも u/t\partial u/\partial t の棒はゼロに張り付いたままです。すべての加速が水色の対流項から出ているということです。

Python — 振動する流れで三つの曲線を描く#

三つの曲線を一度に描いてみましょう。横方向速度が下流へ伝わる波である流れを使います。u=Uu = Uv=V0cos(ωtkx)v = V_0\cos(\omega t - k x)、ここで k=ω/Uk = \omega/U です。この流れでは三つの曲線がきれいに異なる形を持ちます。

import numpy as np
 
U, V0, omega = 1.0, 0.6, 2.0
k = omega / U
 
def velocity(x, t):
    """下流へ伝わる横波: (u, v) を返す"""
    return U, V0 * np.cos(omega * t - k * x)
 
def pathline(t0, t_end, dt=0.01):
    """t0 に原点から出た粒子の足跡(数値積分)"""
    x, y, t = 0.0, 0.0, t0
    xs, ys = [x], [y]
    while t < t_end:
        u, v = velocity(x, t)
        x += u * dt; y += v * dt; t += dt
        xs.append(x); ys.append(y)
    return np.array(xs), np.array(ys)
 
def streakline(t_now, n=400):
    """t_now 時点の染料帯: s<=t_now に放出した粒子の現在位置"""
    s = np.linspace(0.0, t_now, n)
    x = U * (t_now - s)
    y = V0 * np.cos(omega * s) * (t_now - s)   # この流れでの厳密解
    return x, y
 
def streamline_snapshot(t_now, x_max=10.0, n=400):
    """t_now の瞬間、原点を通る流線"""
    x = np.linspace(0.0, x_max, n)
    y = (V0 / omega) * (np.sin(omega * t_now) - np.sin(omega * t_now - k * x))
    return x, y
 
t_now = 6.0
xp, yp = pathline(0.0, t_now)
xs, ys = streakline(t_now)
xl, yl = streamline_snapshot(t_now)
print(f"流跡線の終点 : ({xp[-1]:.2f}, {yp[-1]:.2f})")
print(f"流脈線 y 範囲: [{ys.min():.2f}, {ys.max():.2f}]")
print(f"流線   y 範囲: [{yl.min():.2f}, {yl.max():.2f}]")

出力は、三つの曲線がまったく異なる領域を占めることを示します。流跡線は直線に伸び、流線は振幅 V0/ωV_0/\omega の浅い波、流脈線はそれより大きく揺れます。同じ流れ、異なる三枚の絵です。

非定常性を自分で揺らす#

では時間を生かして、三つの曲線がどう分かれるかを見ましょう。下のシミュレーションで振幅 V0V_0 と周波数 ω\omega を操作してみましょう。

Field: u = U, v = V₀·cos(ωt − kx) with k = ω/U. Drag V₀ to 0 and the three curves collapse onto the axis — they only ever agree when the flow is steady.

V0V_0 をゼロに下げると、三つの曲線が軸の上に重なります。定常流に戻ったのです。V0V_0ω\omega を上げると、黄色の流線は速く波打ち、ピンクの流跡線はまっすぐ伸び、シアンの流脈線はまた別の波形を描きます。非定常性が強いほど、三つの肖像は遠ざかります。

川をもう一度見るとき#

一つの流れから三枚の絵が出る理由は、ただ一つ、時間です。流線は時間を止めた断面、流跡線は一粒子の一代記、流脈線は一か所を通り過ぎた全員の現在です。

三つを一行ずつ持ち帰りましょう。

  • 三つが重なれば流れは定常です。違えば流れが時間とともに変わっている合図です。
  • 物質微分 D/Dt=/t+uD/Dt = \partial/\partial t + \mathbf{u}\cdot\nabla の対流項は、定常流でも加速を生みます。
  • 実験写真がインクの帯なら、それは流脈線であって流線ではありません。二つを混同すると速度の向きを読み違えます。

役に立ったらシェアしてください。