2006
浅水長波流れ解析のための CIVA- 格子ボルツマン法の構築研究
Studies on Development of CIVA - Lattice Boltzmann Method for Shallow Water Flow Analysis
土木工学専攻
3号 石川 裕士
ISHIKAWA Yuji1.
研究目的
海岸,河川における水害による被害や水辺環境の変化 の予測を行う上で数値シミュレーションは有効な手段と なっている.これらの予測数値シミュレーションは,一 般に大規模計算となることが多いため,高精度かつ高速 な数値解析手法の構築は重要である.これまで,浅水長 波流れの解析手法としては,有限差分法,有限体積法及 び有限要素法などが主流であるが,近年新しい数値解析 手法として格子ボルツマン法
1) 2)が注目されている.格 子ボルツマン法は,アルゴリズムが簡便なため,計算が 高速に処理可能であり,大規模計算に対して有効な手法 であるといえる.
しかし,格子ボルツマン法は構造格子に基づく手法で あるため,自然地形を取り扱うことが多い浅水長波流れ 解析においては,その適用性に難点がある.これまで,
非構造格子へ拡張する試みとして,
Navier-Stokes流れ に対して,非構造格子における移流方程式に対する高精 度スキームである
CIVA法
3)を導入した
CIVA-格子ボ ルツマン法が立石らにより提案された
4).
そこで本論文は,
CIVA-格子ボルツマン法に着目し,
それによる非構造格子に基づく浅水長波流れ解析手法を
提案する
5) 6)と共に,水深変化を有する場合の精度,開
境界条件処理及び並列化について検討を行うものであ る.本手法は,本来の格子ボルツマン法の特徴である計 算の局所性を有しており,陽的な計算となるため,計算 機容量や並列計算の点で優れた解法であると期待でき る.本手法を突起のある開水路流れ問題及び東京湾潮流 解析に適用し,本手法の解析精度及び並列化効率の観点 から,本手法の妥当性と有効性を検討した.
2. CIVA-
格子ボルツマン法
格子ボルツマン法
1) 2)は,流体を有限個の速度をもつ 多数の仮想粒子の集合体で近似し,各粒子の衝突と並進 とを計算する手法である.流体の巨視的変数は,求めら れた粒子分布関数を用いて質量保存・運動量保存により 算出される.
2.1
離散ボルツマン方程式
粒子分布関数の時間発展は,以下の離散ボルツマン方 程式で表される.
∂fα
∂t +eα
∂fα
∂x =−1 τ h
fα(x, t)−fαeq(x, t)i + ∆t
6e2eαiFi
(1)
上式において,左辺は粒子の並進過程を表しており,
CIVA-
格子ボルツマン法では粒子分布関数の並進計算に
CIVA
法を導入し,非構造格子への計算を可能としてい る.また,右辺の
1項目は格子
BGKモデルに基づく衝 突演算項,
2項目は力に関する項をそれぞれ示している.
fα
は
α方向の粒子がどのくらい存在するかということ を表す粒子分布関数,
fαeqは局所平衡分布関数である.
また,
eαは図
-1に示す粒子の並進速度ベクトルであり,
本論文で用いた
2次元
9速度モデルでは以下の式によっ て表される.
eα=
[0,0], α= 1
e[cos(α−41)π,sin(α−41)π], α= 2,· · ·,5 p2e[cos(α−41)π,sin(α−41)π], α= 6,· · ·,9
(2)
1 2
3
5 4
6 7
9 8
図
– 1 2次元
9速度モデル
式
(1),
(2)の
eは
e= ∆x∆tで定義され,
∆tは微小時間 増分量,
∆xは格子サイズである.式
(1)の支配方程式 により粒子の計算を局所的に行い,陽的に未知量
fαを 求める.また,
Fiは力に関する項であり,以下のように 与えられる.
Fi =−gh∂zb
∂xi
+τwi ρ −τbi
ρ +Ei (3)
上式において,
ρは流体密度,
zbは河床高度,
τbiは底面 でのせん断応力,
τwiは自由表面でのせん断応力,
Eiは コリオリ力である.詳細は参考文献
2)を参照されたい.
なお,式
(3)における
zbの定義は図
-2のようになって いる.
また,式
(1)において,
τは単一時間緩和係数と呼ばれ る定数であり,
1タイムステップの衝突で粒子が格子点 上において一定の割合
1τで局所的な平衡状態に近づい ていくことを示している.
τは,鉛直方向に積分された 渦動粘性係数
νeと以下のような関係にある.
τ = 3νe
e2∆t +1
2 (4)
図
– 2水深定義図
2.2局所平衡分布関数
局所平衡分布関数
fαeqとは,格子点上において流体が 平衡状態に達したときの粒子分布であり,巨視的変数で ある全水深及び速度を用いて以下のように求められる.
fαeq=
h−5gh6e22 −3e2h2uiui α= 1
gh2
6e2 +3eh2eαiui
+2eh4eαieαjuiuj−6eh2uiui α= 2,· · ·,5
gh2
24e2 +12eh2eαiui
+8eh4eαieαjuiuj−24eh2uiui α= 6,· · ·,9 (5)
上式において,
hは全水深,
uiは流速,
gは重力加速度 である.なお,上式の係数は,巨視的速度においてべき 級数をとり,質量保存,運動量保存,エネルギー保存を 満たすように決定されている
2).
2.3
流れの巨視的変数
流体の巨視的変数である全水深及び速度は,その粒子 分布関数と式
(2)の粒子の並進速度ベクトルを用いて以 下のように計算される.
h= X9
α
fα, u= 1 h
X9 α
eαfα (6)
2.4
力に関する項の取り扱い
前述したように,格子ボルツマン方程式における力に 関する項は以下のようになる.
Fi=−gh∂zb
∂xi
+τwi
ρ −τbi
ρ +Ei (7)
上式において,第
1項目の河床勾配の評価は,まず三角 形格子毎の河床勾配を算出し,それを用いて,最小二乗 法により各格子点における河床勾配を算出している.な お,この値は,固定床の場合には毎ステップ更新をする 必要はない.一方,第
2項から第
4項はいずれも流速に 関わる項なので,毎ステップ更新する必要がある.
2.5
並進過程の計算(
CIVA法)
本研究では,高精度で分散誤差の少ない
CIVA法
3)を 並進過程に用いて計算する.
CIVA法は,移流方程式の 高精度かつ安定な解法である
CIP法を三角形及び四面 体に拡張した手法である.
CIP法や
CIVA法では,各 節点の局所厳密解を上流側の格子内に張った
3次の補間 曲面により求める.
2.6
境界条件処理
計算過程において,衝突及び並進計算が終了した際に 境界外から計算領域に入る方向の粒子分布関数
fαを決 定する必要がある.すなわち,境界上の領域に向かう法 線ベクトルを
nαとすると,
eα·nα >0を満たす
fαを 算出しなければならない.例えば,図
-1において下部に 壁面があるとするならば,
f3,
f6,
f7を算出しなければ ならないことになる.
non-slip
境界条件処理としては
Bounce-back条件,
slip
境界条件処理としては
Mirror条件,流入流出境界 条件としては,粒子分布関数の
0勾配条件,平衡分布な どが挙げられる.以下にそれらの計算方法を示す.
2.6.1 Bounce-back
条件
non-slip
境界条件処理としては,
Bounce-back条件 が広く用いられている.この境界条件処理は
,粒子が 来た方向に
180◦跳ね返るという条件である.以下の 式によって,
non-slip境界条件を満たすことになる.
(図
-3(a))
f3=f5, f6=f8, f7=f9 (8)
2.6.2 Mirror
条件
slip
境界条件処理としては,
Mirror条件が広く用い られている.この境界条件処理は,壁に向かう方向の粒 子が鏡面反射する条件であり,以下のように表される.
(図
-3(b))
f3=f5, f6=f9, f7=f8 (9)
2.6.3
粒子分布関数の
0勾配条件
流入・流出境界条件としては,解析領域内に向かう方 向の粒子分布関数の勾配を
0にする境界条件処理
2)が 提案されている.例えば,図
-1において左から右へ流体 が流入する場合を考えるならば,以下の式により算出さ れる. (図
-3(c))
f2in=f2d, f6in=f6d, f9in=f9d (10)
上式において,
fiinは流入部,
fidはその風下方向の隣接 する格子点である.流出に関しても同様に処理する.
2.6.4
平衡分布条件
流入・流出境界条件としては,未知粒子分布関数を平 衡分布にする条件がある.この境界条件は,巨視的変数 である水深及び流速から算出するため,より質量保存及 び運動量保存を満たすようになる.
2.7
並列計算法
本研究では,分散メモリ型並列計算機を対象とした領 域分割法に基づく並列計算手法を導入する.
計算領域を,グラフ理論に基づく自動領域分割システ
ムである
Metisを用いて分割し,分散メモリ型並列計
算機の各ノードに割り当てる.通常の有限要素法の並列
計算においては,要素の重ね合わせを行うための相互の
ო㕙 ო㕙
wall wall
5
9 8 7 3 6
ო㕙 ო㕙
wall wall
5
9 8 7 3 6
ო㕙 ო㕙
wall wall
ო㕙 ო㕙
wall wall
5
9 8 7 3 6
(a)Bounce-back scheme
㪮㪸㫃㫃 㪮㪸㫃㫃
in d 6 2 9 in d
6 2 9
(b)Mirror scheme
(c)Zero gradient
図
– 3境界条件処理
通信が必要になるが,
CIVA法を用いた場合の並列計算 では,上流側で求めた補間値を下流側へ通信する一方向 の通信のみで計算が行える.ここでは,一例として図
-1の
2番目の方向の場合について説明する.図
-4の左側 の領域が上流側とすると,下流側への通信のみとなり,
右側領域から左側領域への通信はない.しかし,左側領 域から右側領域への通信節点数と右側領域から左側領 域への通信節点数が移流方向によって決まるため,デー タの作成が複雑になる.格子ボルツマン法の並進過程で は,移流方向は格子ベクトルの
8方向に固定されてい るため,計算の前に通信データを作成することができ,
タイムステップの間に通信データを変更する必要はな い.なお,通信ライブラリには
MPI(
Message Passing Interface)を使用した.また,並列計算機として,
20台 の
PC(
CPU:
Xeon3.06GHz,メモリ:
2GB,キャッ シュ:
512kB)を
Gigabit Ethernetにより結合した
PCクラスタ型並列計算機を用いた.
図
– 4並列通信
3.
数値解析
3.1
突起のある開水路定常流れ
水深変化を有する場合の解析精度を検討するために,
突起のある開水路流れを取りあげる.図
-5に解析モデル を示す.
図
-5の左側から単位幅あたりの流量
Q= 4.42[m2/s]を流入させ,右側の流出側では,
h= 2.0[m]を課すもの とし,側面は
slip条件とする.なお,渦動粘性係数
νeは,
νe= 0.01[m2/sec]を与えた.
水深変化を有する場合において,解像度による解析精 度と厳密解の差である誤差の収束性について検討するた めに,構造格子を用い,格子サイズが
0.01,
0.05,
0.1,
0.2の場合について,解像度による収束性について検討 した.
解析結果として,図
-6(
a)に,各格子サイズにおける 定常時での水面形状を示す.この図より,解像度を上げ ることにより,より厳密解に近づいてるいることが確認 できる.次に,図
-6(
b)に解像度と誤差の関係を示す.
図より,解像度と誤差にはほぼ
1次精度であることがわ かる.
X Z Y
25.0 m
5.0 m 2.0 m
0.2 m
Q
図
– 5解析モデル
0 10 20
1.8 1.9 2 2.1
x [m]
WaterElevation[m]
Size=0.2 Size=0.1 Size=0.05 Size=0.01 Analytical Solution
(a)
定常時における水面形状
10-3 10-2 10-1 100
10-3 10-2 10-1 100
Mesh size [m]
Error
1 1
10-3 10-2 10-1 100
10-3 10-2 10-1 100
Mesh size [m]
Error
1 1
(b)
解像度と誤差の関係 図
– 6格子サイズの差異による検討
3.2
東京湾潮流解析
実際の潮流現象の解析として,複雑な境界形状と水深 変化を有する東京湾潮流解析を取りあげた.なお,開境 界処理に平衡分布と粒子分布関数の
0勾配条件を適用 し,比較検討を行う.有限要素分割図は図
-7(
a)に示 すとおりであり,格子数は
5839,要素数は
10340であ る.境界条件としては,壁面は
bounce-back条件を用い
non-slip条件とし,開境界には
M2分潮として以下のよ うな入射条件を与えた.
ζ=Asin2π
Tt, ui= rg
hζn+i (11)
上式において,振幅
Aは
0.21[m],周期
Tは
12.42[h]とする.なお,渦動粘性係数
νeは
10[m2/sec]と仮定す
る.また,図
-7(
b)に領域を
20分割した領域分割図を
示す.
解析結果として,図
-8に上げ潮時と下げ潮時におけ る流速ベクトル図を示す.図より,本手法は東京湾のよ うに複雑な境界形状を有する場合においても,解析可能 であることが示された.また図
-9に,開境界処理の差異 による検討を行うため,姉崎における水位の時刻歴を示 す.図より,開境界に粒子分布関数
0勾配を適用すると 波高のピークが合わなく,周期性が見られないが,開境 界に平衡分布を適用すると,実測値と良い一致を示して いることが確認できる.なお,
1周期目の波は初期条件 の影響をうけるため,波高を過大に評価している.
また,図
-10に演算速度倍率と並列化効率を示す.図 より,大規模計算となる
Fine mesh(総節点数
:18,887) では高い並列化効率が得られており,本手法の有効性が 確認できる.一方,
Coarse mesh(総節点数
:5,839)に おいて,プロセッサ数が増えると並列化効率が下がって いるのは,格子が粗いために,計算負荷に比べて通信負 荷が卓越したことに起因する.
4.
結論と今後の課題
本論文は,
CIVA-格子ボルツマン法による非構造格子 に基づく浅水長波流れ解析手法を提案すると共に,水深 変化を有する場合の精度,開境界条件処理及び並列化に ついて検討を行った.数値解析例を通じ,以下の結論を 得た.
•
並進過程に
CIVA法を導入した
CIVA-格子ボル ツマン法を用いることにより,浅水長波流れに対 する格子ボルツマン法の非構造格子への拡張が可 能となった.
•
水深変化を有する場合において,本手法の解析精 度は
1次精度で収束していくことがわかった.
•
開境界処理には,平衡分布が適切であることがわ かった.
•
本手法は,高い並列化効率を得ており,大規模計 算に有効であることが明らかとなった.
今後は,潮流以外の浅水長波流れ問題への適用,移動 境界手法の導入などが挙げられる.
参考文献
1)
蔦原道久,高田直樹,片岡武: 格子気体法・格子ボルツ マン法
-新しい数値流体力学の手法
-,コロナ社,
1999.2) J.G.Zhou: Lattice Boltzmann Methods for Shallow Water Flows, Springer, 2003.
3)
田中伸厚
:数値流体力学のための高精度メッシュフリー手 法の開発,機論,
64-620B, pp.1071-1078, 1998.4)
立石絢也,樫山和男:
CIVA-格子ボルツマン法による非 構造格子を用いた非圧縮性粘性流体の解析,応用力学論文 集,土木学会,
Vol.7,
pp.323-329, 2004.
5)
石川裕士,立石絢也,樫山和男:
CIVA-格子ボルツマン法 を用いた並列浅水長波流れ解析,第
20回数値流体力学シ ンポジウム講演論文集(
CD-ROM) ,
2006.6)
石川裕士,立石絢也,樫山和男:非構造格子に基づく
CIVA-格子ボルツマン法による浅水長波流れ解析,応用力学論文 集,土木学会,
Vol.9,
pp.231-238,
2006.80 90 100 110 120 130
20 40 60
x [km]
y[km]
Anesaki Funabashi
Yokohama
80 90 100 110 120 130
20 40 60
x [km]
y[km]
Anesaki Funabashi
Yokohama
(a)
概観図
(b)領域分割図 図
– 7東京湾有限要素分割図
(a)
上げ潮時
(b)下げ潮時 図
– 8流速図
0 10 20 30 40
-0.5 0 0.5
Equilibrium Zero Gradient Observed data
Time [h]
WaterElevation[m]
図
– 9姉崎における水位の時刻歴
2 4 6 8 10 12 14 16 18 20 2
4 6 8 10 12 14 16 18 20
Speedupratio
Number of processors Ideal
Coarse mesh Fine mesh
2 4 6 8 10 12 14 16 18 20 0
20 40 60 80 100 120
ParallelEfficiency[%]
Number of processors