この記事は著者が韓国語で書いた原文の翻訳です。 原文(한국어)を読む
渦の二つの顔 — 自由渦・強制渦、そしてヘルムホルツ
葉が排水口へ同じ面を向けたままなら、その領域は公転だけです。自転の2ωは黄色いコアにあります。
風呂の栓を抜くと水がぐるぐる回ります。その光景を「水が回転している」と呼びます。流体力学者は、同じ領域の大部分について「ここでは回転は起きていない(irrotational)」と答えます。矛盾に見えるこの言い方の中に、渦(vortex)の姿があります。同じ絵に自由渦(free vortex、 速度)と強制渦(forced vortex、 速度)が同居します。渦度(vorticity、流体粒子の自転角速度の二倍)が測るのは、その差です。ヘルムホルツの定理は、その渦がなぜ簡単に消えないのかまで押し進めます。
風呂の渦は本当に「回転」なのか
「回転」という一語に二つの層が重なります。一つは 公転 です。ある点のまわりを円で動きます。もう一つは 自転 です。粒子自身が回ります。
風呂の渦で水の粒子は公転します。排水口から離れた領域の自転は、ほとんどありません。水面の小さな葉は円をたどりますが、体は回りません。いつも同じ面が排水口を向きます。
流体力学で「回転」とは自転のことです。自由渦は中心の特異点を除く全域で「回転なし」です。
コア半径 を小さくすると黄色い自転領域が狭まり、 を上げるとコア渦度 が大きくなります。
黄色い粒子は場で自転します。青い粒子は排水口側の面を保ったまま公転し、右上の曲線は で直線、その外では です。
強制渦と自由渦:同じ絵、違う魂
回転する容器の水を長く混ぜると、液体全体が剛体のように回ります。これを 強制渦 と呼びます。粒子は公転と同時に自転します。
ここで は接線速度、 は剛体回転の角速度、 は中心からの距離です。速度が距離に比例します。
粘性を無視した理想流体で自然に生じる渦は 自由渦(ポテンシャル渦)です。
は 循環(circulation)です。閉じた経路に沿った速度の線積分です。速度は で減り、中心では発散します。この特異点を実流体では粘性が和らげます。
| 強制渦 | 自由渦 | |
|---|---|---|
| 速度 | ||
| 自転 | あり | なし |
| エネルギー供給 | 連続的 | 最初の一度だけ |
| 身近な例 | かき混ぜたカップ | 風呂・竜巻 |
同じ円形の流れでも自転の有無が逆です。この差を一つの量で測るのが渦度です。
渦度が測るもの
渦度 は速度場の回転(curl)です。
二次元では 成分だけが残り
となります。 はそれぞれ 方向の速度成分です。この値は 流体粒子の自転角速度の二倍 に等しいです。
強制渦に代入すると で一定です。領域全体が自転しています。自由渦に代入すると、中心以外では です。同じ丸い流線でも、自転は正反対です。
ランキン組合せ渦 — 竜巻の青写真
現実の渦は片方だけには従いません。中心付近では粘性が強く剛体のように回り、遠方では粘性が落ちて自由渦の法則に従います。両者をつないだ模型が ランキン組合せ渦 です。
はコア半径、 はコア境界での最大接線速度です。二式は で滑らかにつながります。竜巻の風速、翼端渦、排水口の吸い込み渦は、この形に近いです。コア内は回転領域、コア外は非回転領域です。
コードの初期値を式へそのまま入れます。、 です。境界 では内側も外側も です。 なら内側は です。 なら外側は です。中心から同じ距離でも、速度の数字だけが同じで、傾きは逆です。
外側ループの循環は、半径を大きくしても変わりません。 では なので、 です。数字を入れると です。コア渦度は です。コア面積 にこの渦度を掛けると です。面積積分と周回積分が同じ循環で閉じます。この が揚力に変わる道は 回転する球 に続きます。
ヘルムホルツの定理 — 渦の不滅
粘性を無視すれば、粒子に働く力は圧力だけです。圧力は粒子中心を向くので、トルクを生みません。したがって 自転していない粒子は永遠に自転を始めず、自転している粒子は永遠に止まりません。これがヘルムホルツの渦定理を一行にしたものです。
より精密なのは ケルビンの定理 です。閉じた物質曲線に沿った循環 は、時間が経っても変わりません。
は物質微分です。流体粒子に追随します。渦管は切れず、分かれず、引き伸ばすほど速く回ります。フィギュアスケートで腕を縮めるのと同じです。実流体には粘性があるので渦はやがて拡散しますが、水や空気では数日生き残ります。航空機の通った跡に凝結渦が長く見えるのはこのためです。
速度ポテンシャルが開く扉
非回転領域()では、ベクトル恒等式が一行を渡します。
スカラー関数 を 速度ポテンシャル と呼びます。さらに非圧縮 なら
ラプラス方程式です。非粘性・非回転・非圧縮の流れは、一つのスカラーに帰着します。19世紀の流体力学が翼やソース・シンクを解析的に扱えた理由がここです。自由渦自身は です。角度 に比例するポテンシャルです。
コードで見る二つの渦
ランキン渦の速度と離散渦度を描けば、違いが一目でわかります。
import numpy as np
def rankine_speed(r, R_core, U_max):
"""ランキン組合せ渦の接線速度"""
speed = np.where(r <= R_core,
U_max * r / R_core,
U_max * R_core / np.maximum(r, 1e-9))
return speed
def vorticity_field(u, v, dx, dy):
"""2次元の離散curl: omega_z = dv/dx - du/dy"""
dvdx = (v[1:-1, 2:] - v[1:-1, :-2]) / (2 * dx)
dudy = (u[2:, 1:-1] - u[:-2, 1:-1]) / (2 * dy)
return dvdx - dudy
# 200x200 格子でサンプリング
N, L = 200, 2.0
x = np.linspace(-L, L, N)
y = np.linspace(-L, L, N)
X, Y = np.meshgrid(x, y)
R = np.hypot(X, Y)
THETA = np.arctan2(Y, X)
U_max, R_core = 1.0, 0.5
u_theta = rankine_speed(R, R_core, U_max)
u = -u_theta * np.sin(THETA)
v = u_theta * np.cos(THETA)
dx = dy = x[1] - x[0]
omega = vorticity_field(u, v, dx, dy)
# コア内とコア外の平均渦度
mask_in = R[1:-1, 1:-1] < R_core
mask_out = R[1:-1, 1:-1] > 1.5 * R_core
print(f"コア内 平均 omega_z ~ {omega[mask_in].mean():.3f}") # ~ 2 * U_max / R_core
print(f"コア外 平均 omega_z ~ {omega[mask_out].mean():.3f}") # ~ 0コア内では でほぼ一定、コア外ではゼロに近いです。同じ丸い流れの中に、自転を分ける境界が半径 に描かれます。
格子も同じ数字です。、 なので領域は から まで、間隔は です。コア半径 は中心から約二十五セルです。外側マスクは から開きます。 と の間は平均から外します。中心差分のステンシルが境界をまたぐと、 が でも でもない値になるためです。注釈の期待値は、コア内 、外側 です。
コア半径をどこに残すか
コアを小さく切りすぎると が格子を超えます。、 では渦度は です。 を半分にすると同じ式は を返します。境界をまたぐ中心差分は、平均を でも でもない値で汚します。外側マスクを から開く理由です。
コアを領域の端まで押し出すと、 の尾が消えます。循環 は残っても、葉が同じ面を保つ非回転区間がなくなります。その尾でベルヌーイ定数が流線を横切って一定かどうかは、全圧が落ちた計算 が別に扱います。
関連記事
役に立ったらシェアしてください。