1
乱流の数値解析の基礎
大阪大学 大学院工学研究科
機械物理工学専攻
梶島岳夫
日本機械学会関西支部第261回講習会(2003.5.15)
1.流れの基礎方程式
保存則を数値計算の視点から検討する。
運動に伴う物理量の変化[1]
単位体積あたりの値を f とする。
体積要素 V では
運動(変形、流れ)に伴う変化率は、次のように考える。
∫V dVtf ),(x
∫V dVtfDt
D ),(xV も微分されることに注意!(D/Dtを積分の中に入れて
はいけない)
∇⋅+∂∂
= vtDt
D(2)物質微分
(実質微分)
例えば、木田重雄「なっとくする流体力学」(講談社)参照
運動に伴う物理量の変化[2]
レイノルズの輸送定理
右辺は次のようにも表現できる
ガウスの発散定理を用いれば
∫∫
⋅∇+=
VVdVf
Dt
DfdVf
Dt
Dv (1)
例えば、中村・森「連続体の力学」(コロナ社)参照
∫∫
⋅∇+
∂∂
=
⋅∇+∇⋅+
∂∂
VVdVf
t
fdVff
t
f )( vvv
DtDf /= (3)
V内部での増分 V表面(S)からの出入り
∫∫∫ ⋅+∂∂
=SVV
dSfdVt
ffdV
Dt
Dnv (4)
2
連続の式[1] レイノルズの輸送定理からの導出
領域 V の質量は
質量保存則
レイノルズの輸送定理により
任意の体積 V について成立するので
∫ ρ=V
dVm
0=
ρ= ∫ V
dVDt
D
Dt
Dm(5)
0=
⋅∇ρ+
ρ∫ V
dVDt
Dv (6)
運動とともに体積が変わっても、湧き出し・吸い込みがない限り、質量は不変
0)(
0
=ρ⋅∇+∂ρ∂
=⋅∇ρ+ρ
v
v
t
Dt
D
または
(7)
(8)
連続の式[2] 微小矩形要素の収支からの導出
は単位面積あたりの質量流量
質量の収支 (時間増分=流入の和)
1x
2x
3x
1x∆
3x∆
2x∆ 1vρ
)( 11 vv ρ∆+ρ
=
smkg
sm
mkg
23
vρ
213132321
321
)()()( xxvxxvxxvt
xxx
∆∆ρ∆−∆∆ρ∆−∆∆ρ∆−=∂ρ∂
∆∆∆
3
3
2
2
1
1 )()()(x
v
x
v
x
v
t ∆ρ∆
−∆ρ∆
−∆ρ∆
−=∂ρ∂
∴
0)(=
∂ρ∂
+∂ρ∂
k
k
x
v
t0)( =ρ⋅∇+
∂ρ∂
vt
(8)微小要素なので
運動方程式
任意の体積要素 Vにおける運動方程式
左辺にレイノルズの輸送定理と連続の式
右辺にはガウスの発散定理
応力 σ にはニュートン流体の構成方程式
を用いると・・・
Navier-Stokesの運動方程式
∫∫∫ ρ+⋅=ρVSV
dVdSdVDt
DKnv σ (10)
運動量の時間変化 = 力 ( = 表面積分 + 体積積分)
KDIDv
ρ+
−µ⋅∇+−∇=ρ )(2 tr
31
pDt
D(15)
エネルギー保存式
任意の体積要素 Vにおける全エネルギー
の収支
レイノルズの輸送定理、ガウスの発散定理、連続の式を用いて
∫∫∫∫
⋅ρ+⋅⋅+
⋅−=ρ
VS
SV
dVdS
dSdVEDt
D
)()(
)()(
vKvn
nq
σ
(熱流速)・(外向き法線ベクトル)
体積力による仕事表面応力による仕事
(16)
[ ] vKqv ⋅ρ+−⋅⋅∇=ρ )(σDt
DE(17)
eE += 2
21v
3
保存則のまとめ
CFDの基礎となる保存則の一般形
生成がなく、流束だけで収支が決まる場合、領域内部の総量の増減は境界を通しての流入・流出だけで決まる ・・・ 「保存」の意味
時間的変化 流出(nは外向き法線ベクトル)
∫∫∫ +⋅−=∂∂
VSVdVdSdV
tΓΠΛ n
生成
(21’)
+⋅−ρ−ρ
ρ
=
Mquu
uu
u
σσΠ
E
⋅ρρ=
MKu
K
0
Γ
ρρρ
=
ME
uΛ流束(Flux)
∫∫ ⋅∇−=∂∂
SVdSdV
tΠΛ
2.流体の圧縮性
マッハ数の意味、圧縮解法・非圧縮解法が使い分けられる理由を考える。
音速
音速: 微小振幅波の伝播速度
理想気体の場合
空気中の音速
常温では 340m/s (~1200km/s)
水中の音速
1atm, 300K における純水中の音速は 1500m/s
sd
dpa
ρ
=
ρβ=
ρ=κ=
ρκ
=s
sKRTp
a1
(27)
K は圧縮率β は弾性率
Ta 20≅
マッハ数 [1]
流れのある点における流速とその点における音速の比
圧縮性流体力学における重要な無次元量
「流体の運動エネルギーと分子の熱運動の運動エネルギーの比」の尺度と解釈されている
マッハ数の直観的理解(その1)
Navier-Stokes式中の慣性項の次元
圧縮に要する力(弾性力)の次元
aVM ≡ (28)
( ) LV 2ρ∝ρ⋅∇ vv
LK
22
22M
a
V
K
L
L
V==
ρ
マッハ数は「慣性力と弾性力の比」に対応する
両者の比から
4
マッハ数 [2]
マッハ数の直観的理解(その2)「非圧縮」ベルヌーイの式によれば、流れ u を等エントロピー的に
せき止めたときの圧力変化は
音速の式 を考慮すると
20 2
1uppp ρ=−=∆ (動圧)
ρ= ddpa /2
22
2
21
21
Ma
u=≈
ρρ∆
マッハ数は「圧縮性(密度変化率)」に対応する
「マッハ数が約0.3以下の流れは非圧縮で近似してよい」は、5%以内の密度変化率を無視するという意味である。
マッハ 0.3 ~ 360km/h (標準大気)
非圧縮近似 [1]
運動の間に密度が保たれるという仮定
連続の式は
運動方程式は
0=
ρ∇⋅+
∂ρ∂
=ρ
vtDt
D
密度に分布があっても構わない。(例えば海水の塩分濃度による分布)
ρ = const. は狭義の「非圧縮」
(31)
0=⋅∇ρ+ρ
vDt
D(7) 0=⋅∇ v (32)
(質量流量の収支) (体積流量の収支)
( ) KDv
+µ⋅∇ρ
+ρ
∇−= 2
1p
Dt
D(33)(15)
Kvv
+∇ν+ρ
−∇= 2p
Dt
D(34’)一般に、密度・粘度ともに一定
の場合が扱われることが多い
エネルギー式の扱い運動エネルギーの式
内部エネルギーの式
摩擦による発熱を無視、熱伝達率を一定と仮定できれば
qvv ⋅∇−⋅∇−∇⋅=ρ pDt
De )tr( τ
非圧縮近似 [2]
vKvvv
vKvvv
⋅ρ+⋅∇−∇⋅−⋅⋅∇=
⋅ρ+⋅∇−⋅⋅∇=ρ
p
pDt
D
)tr()(
(2
2
ττ
τ) (18)
粘性摩擦による発熱
(19)
TkDt
DTcv
2∇=ρ (37)温度場の式
⋅
=⋅2vv
vv
Dt
D
Dt
D
運動方程式に v を内積
式(17)と式(18)の差
個別には保存されない
時間発展の比較 [1]
流れの決まり方を比較する
圧縮流れ保存則(密度、運動量、エネルギー)は時間発展型
圧力は熱力学的に決まる
原理的には、適切な初期条件のもとに時間発展すればよい
0
ρρρ
ME
u
0p
初期値
t
E
∆
ρρρ
M
u
tp ∆
t
E
∆
ρρρ
2
M
u
tp ∆2状態方程式
時間発展
・・・・・・
5
時間発展の比較 [2]
非圧縮流れ
運動方程式
連続の式
Kvvvv
+∇ν+ρ
∇−⋅−∇=∂∂ 2)( p
t
0=⋅∇ v
・・・ 速度に関する時間発展型
時間発展型ではない
瞬時の速度場に関する制約を与える
・・・ では、圧力はどのように決まるか?
(32)
(34)
圧力方程式運動方程式(34’)の発散(divergence)に連続の式(32)を適用すれば:
(35)
( ) Kvv ⋅∇+⋅∇⋅−∇=ρ
∇p2 楕円型偏微分方程式の境界値問題
速度場に関する制約を満たす
音速無限大に対応する
圧縮性と数値計算 [1]
圧縮性膨張・収縮してよい
音速で伝播
非圧縮性瞬時に体積を保存しなければならない
音速は無限大
圧縮流れと非圧縮流れでは別の解法
流体の一部に力を加えて移動させた場合を考える
圧縮性と数値計算 [2]
圧縮流れ解法の問題マッハ数が0でない限り、音速は有限であり、原理的には圧縮解法で統一的に計算できそうである。
しかし、現象の伝播速度(流速±音速)時間刻み ∆t の間に格子刻み ∆x に対して過大にならないためには、非常に小さい ∆t を必要
とするため、非効率である。
例: 1次元オイラー方程式(非粘性流体の1次元流れの方程式)
=∂∂
ρ+∂∂
+∂∂
=∂∂
ρ+
∂∂
+∂∂
=∂∂
ρ+∂
ρ∂+
∂ρ∂
0
01
0
2
x
ua
x
pu
t
px
p
x
uu
t
ux
u
xu
t
係数行列の固有値は
auu ±=λ ,
u au +au − t
x
x∆
t∆au <<
∞→a
密度変化効果の近似法
低マッハ数流れでも、密度変化が重要な場合によく用いられる近似解法
低マッハ数近似圧力方程式に密度変動を考慮するタイプ
ブシネスク近似温度変化のある流れ場における浮力(=本来は熱膨張による)を非圧縮の方程式の中で鉛直上向きの力として近似的に与える
dTdpp
dT
αρ−
∂
ρ∂=ρ
0≈
( )
TkDt
DT
TTp
Dt
D
2
02
0
0
∇=
−α+∇ν+ρ
−∇=
=⋅∇
gvvv
(38)
6
3.流体の粘性
レイノルズ数の意味、粘性の役割、乱流モデルを必要とする理由について考える。
粘性の役割 [1]
運動方程式の中での粘性項(式(34)の右辺第2項)の役割
速度分布を平滑化させる
運動量の総和に対しては、境界からの流入・流出のみできまる(内部からの粘性による増減はない)。
「拡散効果」: 総量を変えず、分布を平滑化させる
vv 2∇ν⇐
∂∂t
(上に凸) → 減少
(下に凸) → 増加
>∇<∇
00
2
2
v
v
∫∫∫ ⋅∇µ=∇µ⋅∇⇐ρ∂∂
SVVdSdVdV
tnvvv )()()(
(ガウスの定理)
粘性の役割 [2]
運動エネルギー式の中での粘性項の役割
散逸関数: 常に正の値
運動エネルギーの総和に対する粘性の寄与
dVdVt VV ∫∫ Φ−⇐
ρ∂∂
2
2v 常に負
摩擦発熱として内部エネルギーへ
vKvvv
vKvvv
⋅ρ+⋅∇−∇⋅−⋅⋅∇=
⋅ρ+⋅∇−⋅⋅∇=ρ
p
pDt
D
)tr()(
(2
2
ττ
τ) (18)
= Φ とおく発散形式
( )[ ]23/tr2tr DID −µ=Φ
[ ]DD ⋅µ=Φ 2tr非圧縮の場合
(41)
(42)
レイノルズ数 [1]
レイノルズ数は慣性項と粘性項の比
「レイノルズ数=慣性項/粘性項」 という理解は誤解を招きやすい
高レイノルズ数流れにおいては、粘性項は慣性項よりも小さなスケールの運動で支配的になる
高レイノルズ数流れでは、大きなスケール(レイノルズ数を定義した代表スケールU, L)においては慣性項が粘性項に卓越する
ν=UL
R
=
L
UO
2
= 2νL
UO
非圧縮Navier-Stokes式
uuuu
∆ν+ρ
∇−=⋅∇+∂∂ p
t)( (34)
7
レイノルズ数 [2]
高レイノルズ数では、
慣性項(対流)の代表長さ L に対して
粘性項(拡散)の代表長さ l は異なる
オーダーの再評価
例: 層流境界層
L
l
V
x
y
0
L
U 2∝ 2ν
l
U∝
uuuu
∆ν+ρ
−∇=⋅∇+∂∂ p
t)(
2/1−=ν
∝ RULL
l 境界層厚さの発達を表す式である
レイノルズ数は2つのスケールの比
に対応する
高レイノルズ数においても粘性項が消えるわけではなく、別のスケールを導入して両者が同オーダーであるとすれば
(45)
レイノルズ数 [3]
][ 4/3ROL
=η
UL
U
dt
dk
/
2∝
発生するエネルギー(スケール L )
4
3
ηνε ∝
消滅するエネルギー(スケール η )
高レイノルズ数では大小の乱れのスケール比が大きい
L
V
L
η
平均的にはエネルギーの発生と消滅が均衡しているとすれば
(47)
(46)
乱流モデルの必要性
数値計算に必要な自由度(例えば格子分割数)領域は、最大規模の現象よりも十分に広く
格子幅は、最小規模の現象を十分に解像できるように
する必要がある。
式(45)で見積もると、乱流現象は三次元だから
計算機の現状(WS,PCクラスでは格子数1003程度、スーパーコンピューターでも10003程度)
基礎式(Navier-Stokes式)の直接計算で可能なレイノルズ数は10000程度・・・自然現象・工業装置よりはるかに低い
したがって、大きな流れを解き、小さな乱れには乱流モデルと与えるのが現実的
( ) ][ 4/933 ROLN =η>>
以上のまとめ
流れの基礎方程式は「保存則」で成り立っている。
名目的な精度(後述)を高めるよりも、保存則に対して誤差のない
収支計算を行うことが本質的である。
圧縮性に関する指標は「マッハ数」
マッハ数は慣性力と弾性力の比に対応する。
通常、マッハ0.3以下で、圧縮性が本質的出ない場合には「非圧縮の
近似(=音速無限大の近似)」が適用される。
粘性に関する指標は「レイノルズ数」
レイノルズ数は流れ場の大小のスケール比に対応する
粘性は運動量を拡散させ、運動エネルギーを散逸させる。
8
4.数値解析法の概要
代表的な数値計算法の考え方を示し、精度の意味について考える。
CFDの手順 [1]
CFDの目的:実在の流れを模擬することによって流れの諸現象の解明や予測を行う
CFDの手順:
1.基礎方程式(偏微分方程式)を決める完全Navier-Stokes式を解く必要があるのか、Stokes近似,境界層近似,非粘性近似などを用いてよいのか
必要に応じて乱流モデルなどの物理モデルを選択する
2.数値計算すべき代数方程式を決める計算の格子(メッシュやグリッドともいう)を設定する
あるいは,流体の運動を表す渦や流体粒子などの離散要素を選択する
偏微分方程式を離散化する
CFDの手順 [2]
CFDの手順(つづき):
3.プログラミング代数方程式に対する数値解法を決める
使用する計算機の性能を最大限に引き出すようにプログラムを作成する
4.後処理計算結果(数値群)から流れの現象を把握するため、グラフにしたり、コンピューターグラフィックスやアニメーションによる可視化
市販CFDソフトウェアを用いる場合
手順 2.3.4.はブラックボックス
しかし、ソフトウェアの適切な運用、計算結果の正しい理解のために
は、流体力学だけでなく数理解析や計算機科学の知識も必要
数値計算法の分類
Euler表示法・・・ 流れ場に格子を設定
(有限)差分法
有限体積法
有限要素法
Lagrange表示法・・・ 流れ場に要素を供給
渦法
粒子法
セルオートマトン法
格子気体法
格子ボルツマン法
aaa
t
x
y0=t
tt ∆=
tt ∆= 2
x
y
0=t
tt ∆=
tt ∆= 2tt ∆= 3
Euler表示法
Lanrange表示法
9
保存則の離散化
次の保存則の離散化を考える
微分型
積分型
0=∂∂
+∂∂
+∂∂
y
F
x
E
t
Q
0=+∂∂
∫∫Ω∂Ω
dSEQdVt
n
(有限)差分法
FDM (Finite Difference Method)微分型を基礎とし、格子点上の値の関係で微分を近似する
その間のスペースについては考えない
ji ,1+ji ,1−
1, +ji
1, −ji
ji,y
FFx
EE
y
F
x
E
t
Q
jiji
jiji
∆
+−−
∆
+−−=
∂∂
−∂∂
−=∂∂
+−
+−
2
21,1,
,1,1
実はこの形式は保存則に対して不適切である。・・・参考文献[6]参照
有限体積法
FVM (Finite Volume Method)積分型を基礎とする
セル境界からの流入・流出を考える
ji ,1+
ji ,1−
1, +ji
1, −jiji,
)()(
2/1,2/1,
,2/1,2/1
+−
+−
Ω∂Ω
+−∆−
+−∆−=
−=∂∂
∫∫
jiji
jiji
n
FFx
EEy
dSEdVt
Q
有限要素法
FEM (Finite Element Method)基底関数を乗じて積分した弱形式に基づく
セル内部の状態は頂点上の値を用いた補間関数で与えられる
k
0=⋅φ+
⋅φ∂∂
∫
∫
Ω∂
Ω
dSE
QdVt
n
1+k
2+k 3+k
),,,(),(
321 +++
=
kkkk ffffF
yxf
10
離散化手法の比較
結果的に同じ離散式になることがある。
例えば、デカルト座標、等間隔格子では
選択は、理解のしやすさ、格子との相性で決める。
本質的に保存則に整合することが重要
優劣の議論はあまり意味がない。
y
FF
x
EE
y
F
x
E jijijiji
∆
+−+
∆
+−=
∂∂
+∂∂ +−+−
221,1,,1,1
格子の種類
構造格子 ・・・ 整然と配置され「i,j,k番目」などと指定可能
直交座標
一般曲線座標格子
非構造格子
境界(物体)適合格子BFC (boundary/body-fitted coordinate)を作ることができる
BFC
Structured grid Unstructured grid
格子と離散化方法の対応
格子の集中・追加格子の集中分解の向上の方法
多い少ない1点あたりの計算量
低い高い1点あたりの精度
節約可むだあり格子点数
高い低い境界形状適応性
有限体積法
有限要素法
有限差分法
有限体積法
(よく使われる)
離散化方法
非構造格子構造格子
近似式の作成方法 [1]
離散化(差分)式を導く代表的な方法
Taylor展開
多項式近似
Páde展開(コンパクト差分)
最も直観的な差分近似:
連続な関数 f(x) の微分
に対して ∆x は十分に小さいとすれば
h
hxfhxf
x
fh 2
)()(lim0
−−+=
∂∂
→
x
xxfxxf
x
f
∆∆−−∆+
≅∂∂
2)()(
11
近似式の作成方法 [2]
Taylor展開
を用いると
ステンシル(差分近似のために用いる離散点)の配置が x に関して対称
主要誤差が ∆x2 に比例する
∑∞
=
∆±+=
±′′∆+′∆±=∆±
1
)(
2
)(!)()(
)(2
)()()(
m
mm
xfm
xxf
xfx
xfxxfxxf L
][62
)()( 42
xOfx
x
f
x
xxfxxf
x
∆+′′′∆+
∂∂
=∆
∆−−∆+
主要な誤差 高次の誤差
「二次精度中心差分近似」という
精度次数
差分近似式の誤差の主要項が ∆xn に比例するとき、その近似式は n次精度をもつという。
精度を向上するには:
広いステンシル(多点差分)を用いる
同じ点数ならば中心差分の精度が最も高い
あるいは、後述のコンパクト差分を用いる
log(∆x)
log(
Erro
r)
この傾きがn
高次化
解像度
格子でとらえることのできる様々な波長
区間 2π にある波の数を「波数」という。
計算でとらえられる
最小の波長は 2∆対応する最大の波数は
2∆
4∆
8∆
細かい現象をとらえられるが、解像度は低下する。
∆π
=∆π
=22
ck
・・・「カットオフ波数」という。
差分式の解像度 [1]
微分をフーリエ空間で表現すると
差分をフーリエ空間で表現すると
∑=k k ikxAxf )exp()(
実空間の微分は、フーリエ空間では波数の掛け算
∑=′k k ikxAkixf )exp()(
( )1−=i
∑ ∆=+− +− k kjj ikxAxkiff )exp()sin(211 の関係から
∑ ∆∆
=∆
+−≈′ +−
kk
jj ikxAk
ki
x
ffxf )exp(sin
2)( 11
フーリエ空間での差分演算
12
差分式の解像度 [1]
実効波数: 波数空間での差分に対応する係数
高次精度化は高解像度化につながる
低次の離散化は高波数で解像度が低下するが、低波数では影響が少ない
高次の離散化は高波数で解析的な微分に近づく
6次以上は、計算量の
増加を考慮すれば、効果は少ない
(kc=32)0 8 16 24 320
8
16
24
32
実効波数
K(m
)
波数 k
K(2)
K(4)
K(6)
k
差分精度に関する注意
高次精度
必ずしも高信頼性を意味しない。
細かい変動(高波数)の解像度を高める。
わずかな擾乱により微係数は大きく変動するため、不安定になりやすい。
選択は、
高次化による1点あたりの計算量の増加か、
細分化による格子数の増加か、
・・・ いずれが有利かは扱う問題と計算機に依存する。
「3次風上差分法」は「2次中心差分法」に比べて信頼性が高いとはいえない!
数値計算の信頼性 [1]
「高次精度」の現実精度次数(m)の定義は 「∆→0 に対して誤差が ∆m で減衰すること」
これは理想論で、実際には ∆ はかなり大きい。
あってはならない誤差
保存則に対する漏れは、精度次数にかかわらず、あってはならない。
誤差が ∆m で減衰すればよいという問題ではない。
数値計算の信頼性 [2]
「高次精度風上」スキームの正しい導入法
保存誤差のないスキームを基盤とし、解像度不足(格子サイズ以下の現象)は物理モデルで補うのが原則。
それでも格子が足りない場合、あるいは物理モデルが数値的に不安定である場合に、次善の策として「高次精度風上法」などを用いる。
最も簡便かつ本質的な信頼性チェック根拠は「誤差は解像度に依存する」と「LAXの同等定理」
Euler的方法においては、時間刻みや空間刻みを変化させ、その依存性を調べる。
Lagrange的方法においては、時間刻みと要素数に対する依存性を調べる。