卒 業 論 文

ハミルトニアンを利用した二次元多重領域上の安定非圧縮流の可視化

2015SE055 永田翔也
2016SE006 江崎昴
2016SE031 加藤晴海
指導教員横山哲郎

20yy 年 mm 月

南山大学理工学部ソフトウェア工学科

Title Foo and Bar

2015SE055 NAGATA Syoya
2016SE006 ESAKI Subaru
2016SE031 KATO Harumi
Supervisor YOKOYAMA Tetsuo

Month 20yy

Department of Software Engineering Faculty of Science and Engineering

Nanzan University

要約

ここに本論文の要約を書く。要約は論文のエッセンスを抜き出したものであるので、ここで取り扱う問題、その問題を解決するための手法、および主な成果が書かれていなければならない。要約を読むだけで、論文の概要が分かり、読者にとって興味を抱く内容か否かが分かるようになっている必要がある。

日本語と英語の両言語で要約を書くが、必ずしも 1 対 1 に対応する文章になっている必要はない。それぞれにふさわしい表現があるからである。

Abstract

In this part, the abstract of this paper is described. Since ‘abstract’ means the essence or summary of the paper, the abstract should include the description on the problems treated in the paper, the author’s approach for solving those problems, and the main results. Readers will understand the outline of the paper, without reading other parts, and be able to decide whether they will have interests in the paper or not.

目次

– ii –

第 1 章

はじめに

1.1 背景

流体力学は流体の運動を研究対象とする力学のー分野であり，その解析方法の代表的なものの 1 つに離散解析がある．離散解析は 2 次元多重連結領域をトポロジーによって分類することで流体の構造を大まかな見方によるものであるが完全な分類が可能となり，直感的に理解しやすい．その離散解析の研究の 1 つの例としてトポロジーの分類を極大語によって表現する研究がある．しかし，語表現によって行われる多重連結領域上の安定非圧縮流の流れを記号列で表す方法は区別しにくい流線の位相構造を分類することに優れているが，語表現の特徴に加えてより多くの流れの向きを考慮した木表現が語表現の発展形としてある．語表現には１つの語表現に対して複数の流線パターンが存在してしまう欠点が生じていたが木表現は 1 つの流れに対し 1 つの記号列を対応させることでその欠点が生じることなく流れの向きを表現できるため語表現よりも高い表現力を持つといえる．木表現を用いた流体の特徴の表現力の調査を行った研究では木表現は語表現よりも多くの流れの特徴を捉えることが可能であるという結果が得られた．

1.2 アプローチ

本研究では， 2 次元多重連結領域上の安定非圧縮流の可視化を目指す．流れの可視化は様々な研究で行われているがトポロジカルな流れの可視化の研究は行われていない．流れを可視化する手法として木表現→関数化 →可視化の手順を踏む．木表現は既存の研究のもの使用する．木表現の欠点として流れの形状の把握が難しく，複雑な流れの構造の理解がしづらい．そのため，流れの木表現を関数に変換し，変換した関数をもとに可視化を行うことで，木表現だけではとらえきれない流れの形状の把握をできるようにする．さらに，安定非圧縮の流れの変換規則を木文法によって定義する．定義された変換規則に従い流れの遷移グラフを作成し，流れの遷移の可視化を目標とする．流れの遷移を可視化することで，流れの遷移を直感的に理解することができる.

1.3 役割分担

永田は,2 章及び 4.1 節を執筆した. 江崎昴は,3 章,4.2 節,4.2 節,4.3 節を執筆した. 加藤晴海は,4,5 節を執筆した。 (仮)

第 2 章

関連研究

2.1 前提条件

本研究は前提条件を多重連結領域上で非圧縮性，非粘性の性質を持つ構造安定な流れであることとし，以下に前提条件についての説明をする． 1 つの障害物を持つ領域を単連結領域，複数の障害物を持つ領域のことを多重連結領域という．非圧縮性は連続体の密度が変形の前後で変化せず常に−定である性質，非粘性は力に対する抵抗のない性質である．構造安定性は小さな乱れが加わっても構造が変化しない性質で流れの研究においては流れのトポロジーが変化しないことをいう．トポロジーは形を変形させても変わらない性質のことで例を上げると浮輪とカップはトポロジー的にいえば変形すれば同じといえるが，浮輪は変形してもボールにはならない．

2.2 流れの構成要素

2.1 節の前提条件を満たす流線は、軌道と点によって構成されている. その軌道と点には名称が付けられており、文献 [6] をもとに作成した図 2.1 にしたがってその名称を記述する。また, 障害物が存在したり流れが発生しない領域外の部分は黒く塗りつぶして表現されている. この塗りつぶされている部分と塗りつぶされていない部分の堺を境界と呼ぶ. まず、吸い込み湧き出し対から出て境界上につながる軌道を (b)ss − δ − saddle connection とし, 吸い込み湧き出し対から出て同じ吸い込み湧き出し対に戻ってくる軌道を (a)ss−orbit とする. そして ss−orbit の軌道につながっている境界上の点を (c)ss−δ−saddle とする. 次に, 図 2.1 の (h) の様な点を (h)saddle point と呼ぶ. この saddle point から出て同じ saddlle point に戻ってくるような軌道を (i)homoclinic saddle connection とし, 吸い込み湧き出し対から出て saddle point につながるような軌道を (f)ss − saddle − connection とする. 境界上の点から出て同じ境界上につながる軌道を (e)δ − saddle − contion, この軌道とつながっている境界上の点を (d)δ − saddle とする. 最後に、境界や渦の周りにできる閉曲線軌道を (g)closed orbit とする. 構造安定な流れはこれらの組み合わせで全て説明することが出来る.

2.3 初期パターン

初期パターンとは，障害物，渦構造，停留点の合計 M が 0 または 1 個の構造安定な流れの初期構造となるもので M が 0 個の構造安定な流れはパターンとパターンの 2 パターン存在する．パターン I は吸い込み湧き出し対から出る 2 つの ss − δ − saddle connections を持つ．パターン II は吸い込み湧き出し対から出る 2 つの ss − δ − saddle connections に加え homoclinic saddle point を持つ．また，吸い込み湧き出し対を持たない流れの他に M が 1 個の構造安定な流れパターン O が存在する．パターン O は closed orbits を持つ流れである．以上の 3 つのパターンを初期パターンとする．この初期パターンに木文法の構成要素を対応させるとパターン I を a_{Φ}, (a_{2})，パターン II を a_{Φ}(a_{+}), a_{Φ}(a_{−})，パターン O を b_{Φ +}， b_{Φ−}と表す.

図 2.1 初期パターン

2.4 5 つの操作

構造安定な流れの流線に対して M を 1 つとそれに伴う流れの構造を追加することで新たに構造安定な流れを維持しながらこれらを可能にする操作は A0， A2， B0， B2， C の 5 つのみとされている．木文法では A0 を a_{+}, a_{−}， A2 を a_{2}， B0 を b_{++}, b_{−−}, b_{+−}, b_{−}c_{+}， B2 をβ_{+}c_{+}, β_{−}c_{−}， C を c_{+}, c_{−} と表す.

図 2.2 木文法の５つの操作に現れる流線

2.5 木文法

開始記号 S，非終端記号の集合 N = S, A, B_{+}, B_{−}, C_{+}, C_{−}, C_{+}^{∗}, C_{−}^{∗}，終端記号の集合 F = F_{ε}∨ F_{A} ∨ F_{B} ∨ F_{C} ∨l, λ, cons(,)，生成規則 R である．終端記号 F は F = F_{ε}a(), b_{+}(,), b_{−}(,), F_{A} = a_{+}(), a_{−}(), a2(), F_{B} = b_{++},, b_{+−}, (,), b_{−−},, b_{−+}(,), β_{+}, β_{−}, F_{C} = c_{+}(,), c_{−}(,) とそれぞれが初期パターン， A 系， B 系， C 系の操作によって現れる流線を表している．生成規則は以下のように記述する．

S → a_{Φ}(A^{∗})|b_{Φ +}(B_{+}, C_{−}^{∗})|b_{Φ−}(B_{−}, C_{+}^{∗})
A → a_{+}(B_{+})|a_{−}(B_{−})|a_{2}(C_{+}^{∗}, C_{−}^{∗})
A → λ |A ・ A^{∗}
B_{+} → l|b_{++}B_{+}, B_{+}|b_{+−}(B_{+}, B_{−})| β_{+}C_{+}^{∗}
B_{−} → l|b_{−−}B_{−}, B_{−}|b_{+−}(B_{−}, B_{+})| β_{−}C_{−}^{∗}
C_{+} → c_{+}(B_{+}, C_{−}^{∗})
C_{−} → c_{−}(B_{−}C_{+}^{∗})
C_{+}^{∗} → λ |(C_{+}, C_{+}^{∗})
C_{−}^{∗} → λ |(C_{−}, C_{−}^{∗})

第 3 章

準備

3.1 準備

木で表現された流れを関数で表現するために複素速度ポテンシャルを使用し流れの定義を行う．本章では流れ関数と速度ポテンシャルを足した複素数ポテンシャルがどのようなものか解説を行う．また，複素速度ポテンシャルで定義した関数を可視化する方法として，描画ソフト MATLAB を利用する．

3.2 流れ関数

流れ関数とは，ある流線を基準とし，他の流線の流量を尺度（スケール）とする関数である．図??のような 2 次元多重連結領域上の非圧縮流について考える． 2 つの基準となる流線を s1， s2 とし，この 2 つの流線の間を e〜e’や f〜 f’のような任意の断面積を通過する流量は常に等しくなる．

図 3.1 流れの場の全体図

このことを利用して流れ関数を定義することが可能である．図 3.1(a) の流れ場の拡大図を (b) に示す．任意の流線を表す流れ関数を ψ とし，この流線上の点 A から垂直に Δk 移動させた点 B を通る流線を表す流れ関数を ψ + Δψ とする．図に示すように，線分 Δk と速度 V の方向は直角となり，流れ関数の定義より

ψ = ψ(x， y)  (3.1)

次に図 (b) に示すように V を u,v に、 Δk を −Δx， Δy に分解する．分解した値を (3.1) に代入して考えると

Δψ＝ V Δk ＝ uδy ＋ v(−δx) ＝ uΔy − vΔx  (3.2)

となり，これの極限をとると

dψ = udy − vdx  (3.3)

となる．この流れ関数 ψ は，二次元座標平面上の流線を表すので座標 (x,y) の関数として次のように表すことが可能である．

ψ = ψ(x, y)  (3.4)

となる．これを全微分すると

dψ = (δψ/δx)dx + (δψ/δy)dy  (3.5)

式 (3.3) と (3.5) より dx と dy の係数は等しくなる．よって

u = δψ/δy, v = −δψ/δx  (3.6)

となる．

3.3 速度ポテンシャル

速度ポテンシャルとは，流体力学において渦無し流れの解析する場合に用いられる．渦無し流れとは流れのいたるところで渦度がゼロである流れのことであり流れの中に渦の存在を調べる際に使用する概念を循環という．循環は, 流れ場の閉曲線に沿う速度の線積分である．速度成分を u， v として, 循環を次に定義する

L ＝ ∫ (udx + udy)  (3.7)

渦無し流れ場では，任意の閉曲線の循環はどこをとってもゼロとなる．流れ場中にある二点 A1,P を通る閉曲線を A1,A2,S,A3,A1 を図 3.2 に示す。流れ場が渦無し流れの場合，循環がゼロになるため次の式が成り立つ．

L ＝ ∫_{A1A2P A3A1}(udx + udy) = ∫_{A1A2P} (udx + udy) + ∫_{P A3A1}(udx + udy) ＝ 0  (3.8)

つまり

∫_{A1A2P} (udx + udy) = − ∫_{P A3A1}(udx + udy) ＝ ∫_{A1A3P} (udx + udy)  (3.9)

である．

∫ V ・ ds ＝ ∫ (udx10）  (3.10)

この関数を速度ポテンシャル（velocity potential）とす. 次,、点 P(x,y) から Δx だけ x 軸の正方向に移動させた点 T(x + Δx, y)， Δy だけ y 軸の正方向に移動させた点 U(x, y + Δy) を用意する。点 S において x 方向の速度成分を u,y 方向の速度成分を v とし,Δx， Δy は十分小さい場合， ST 間の速度ポテンシャルは uΔx となり， SU 間の速度ポテンシャルは vΔy となる. よって ST 間の速度ポテンシャル ϕ の増加量は

Δϕ＝ uΔx  (3.11)

となり， SU 間の速度ポテンシャルの増加量は

Δϕ＝ vΔy  (3.12)

となる．よって二つの式（3.11）（3.12）の Δx と Δy を 0 に収束させると

u = δϕ/δx, v = δϕ/δy  (3.13)

を得る．

3.4 複素速度ポテンシャル

ここでは， 2 次元渦無し流れ（ポテンシャル流れ）を，複素速度ポテンシャルで作図する．渦無し流れとは，流れ場のどこをとっても渦度がゼロである流れのことで， 2 次元渦無し流れには速度ポテンシャルと流れ関数が存在する．これらの間には 3.1.1 節の (3.6) と 3.1.2 節より次の関係式が成り立つ．

∂ϕ/∂x = ∂ψ/∂y, ∂ϕ/∂y = −∂ψ/∂x  (3.14)

複素座標 z=x+i*y で定義された関数で、実数部分が速度ポテンシャル ϕ(x,y) で複素数部分が流れ関数 ψ(x,y) となるような複素数関数を

f(z) = ϕ + i ∗ ψz = x + i ∗ y  (3.15)

とする．これを複素速度ポテンシャルと呼ぶ．また，複素速度ポテンシャル f に対して z に関する微分を行うと

df/dz = −u + i ∗ v  (3.16)

となり，実数部分が x 方向の流速成分-u，虚数部分が y 方向の流速成分 v となる．

3.5 MATLAB の使用

MATLAB とは，関数やデータの可視化が可能な数値解析ソフトウェア，またはその中で使うプログラム言語の総称である．今回は，この MATLAB に複素速度ポテンシャル関数を打ち込み描画させ，作った関数が正しく流れを表現できているかを確認する．

第 4 章

流れの可視化

本章では，流れの木表現を関数に変換する方法を考える．関連研究で示した流れの初期パターンに 5 つの操作を加えた流線をハミルトン関数で表現し，それを元に描画をする．ハミルトン関数用いた描画する方法として複素速度ポテンシャル関数を利用した方法と等高線図を利用した方法の二つを考える．さらに可視化をする前段階として木表現の列挙をし重複する流れのパターンを予め取り除くことで，重複する流れのパターンを可視化してしまう無駄が無いようにする．また、流れの変換規則も考える。

4.1 木表現の列挙

2.4 節の生成規則に従い木の葉になり得る B 系から開始記号までを再帰的に列挙を行う． B 系には全く同じ構造の木表現の場合の重複に加え，生成規則の波括弧を用いた流れ構造の要素は反転しても円順序が流線図においてー致するものは同一視することができるため，同一視順序対であるものの重複とは異なる重複も存在する. つまり，要素の順を考慮しない B 系の流れ b_{++}b_{++}l, l, l と b_{++}l, b_{++}l, l は重複しているとみなされる．この木表現の重複は流れの可視化する場合に同じ構造を持つ流線図を描画してしまう原因となる．

4.2 複素速度ポテンシャルを使用した流れの関数化

関連研究で示した木文法の 5 つの操作に現れる流線を複素速度ポテンシャルで表現する．複素速度ポテンシャルで A 系の a_{+} と a_{−} は図??のように一様流と渦の組み合わせで表現できる．一様流は複素速度ポテンシャルで Uz と表現でき，左回りの渦は −im log z，右回りの渦は im log z と表現することが出来る．よって， a_{+} と a_{−} をそれぞれ Uz − im log z と Uz + im log z とすることが出来る．また， log z − a とすることで渦の中心点を acm 移動させることが可能である． A 系の a2 は障害物の半径 acm で中心点 (0， 0) の円とするという条件のもと Uz + im log z となる．

図 4.1 A 系の a+

次に B 系は図??のように２つの渦を組み合わせることで表現することが出来る．よって， b_{++} と b_{−−} をそれぞれ −im log z + a − m log z − a と im log z + a + m log z − a で表現し， b_{+−} は a¡b としたとき im log z + a − in log z + b となり， b_{−+} は a¿b のとき im log z + a − in log z + a となる．β_{+} とβ_{−} は障害物を半径 acm で中心点 (0， 0) の円とするという条件のもと −im log z と im log z と表現する．

図 4.2 B 系の b++

C 系は C_{+} と C_{−} は障害物を半径 acm で中心点 (0， 0) の円とし， −im log z ± c と im log z ± c とする．しかし，これらの表現のみだと渦が多き過ぎて障害物上に渦がかからない場合やその逆が起こる問題点がある．

4.3 複素速度ポテンシャルの流れの可視化

木で表現された流線を関数に変換する．例として b_{ϕ+}, b_{++}b_{++}l, l, c_{−}(l, l), c_{−}(l, l)) を複素速度ポテンシャル関数で表現する場合を考える． 4.1 節で定義した関数に数値を代入したものを MATLAB で描画させ，例とした木の流れをうまく表現できる適した大きさの描画ができる数値を見つける．そして，例とした木を表現できる式は次のようになる．

f(z) = −\frac{7}{5}i log (z)− \frac{1}{2}i log (z−1.5)− \frac{1}{2}i log(z+1.5)+i log(z−2)+i log(z−1)+ \frac{1}{2}i log(z−1.8)+i log(z+1.2)

(4.1)

式 (4) を MATLAB に打ち込み描画しようと試みたがうまくいかなかった．関数に log を用いており log の値は無限に続くため他の流れに影響を及ぼしてしまうことが原因と考えられる．現状、一項ずつ描画し後で図を重ねあわせる方法でしか表現ができていない．

4.4 等高線図を利用した流れの可視化

２つ目の描画方法として等高線図を利用した可視化の方法を考える。等高線図では Z 軸の値が大きいほど明るい色になり、小さい値になるほと暗い色になる。流れの向きの判断方法として、右手で明るい色の値を触れながら動く方向を流れの向きとする。複素速度ポテンシャルを利用した描画方法と同様、流れを重ねあわせると

4.5 流れの遷移

閉円板上での構造安定で非圧縮な流れの変換規則を木文法によって定める．ここでは淀み点の個数が保存されるようなトポロジー的な変化のみを考えているので，淀み点同士がくっついたり分裂したりして淀み点の数が増減する場合は考えない．しかし一般に，閉円板上の非圧縮流の遷移は，淀み点同士がくっつくこと，または異なる 2 つの淀み点を繋ぐ軌道がくっつくことにより起こる．そのため，ある構造安定な流れを構造安定でない流れに変化した後，他の構造安定な流れにしなければならない．流れの変換規則は図??〜??が挙げられる．

これらの変換規則を使い，ノードを流線図，エッジを変換とした流れの遷移グラフを作成する．ある閉円板

図 4.3 変換規則 1 図 4.4 変換規則 2

上の流線図図??を図??の変換規則を使い，流れを遷移させると??のような遷移グラフになる．トポロジー的な変化のみを考えるため，構造が同じになるものは除く．

図 4.5 変換規則 3 図 4.6 変換規則 4

図 4.7 ある閉円板上の流線図図 4.8 流れの遷移グラフ

第 5 章

おわりに

流れの可視化するための手法として木表現を関数化させ，その関数を描画ソフトに書きこむことで可視化させる方法を考えた．木表現を関数化させる方法として木表現の 5 つの操作に現れる流線をすべて関数で定義し，その組み合わせによって複雑な流れも関数で表現できるようにした．可視化の手法として MATLAB という描画ソフトを利用した．上手く流れを表現できるよう手作業で適切な数値を関数に代入し．流れに対応する式を作成した．流れの変換規則を木文法によって定義し，流れの遷移グラフを作成したことによりある流れの遷移を可視化することができた．

謝辞

本研究を進めるにあたり、筆者は何もしてこず、ひとえに周囲の皆様の手とり足とりのご指導によるもので、関係諸氏に深く感謝します。

参考文献

[1] Sakajo, T. and Yokoyama, T: Transitions between streamline topologies of structurally stable Hamiltonian flows in multiply connected domains Physica D: Nonlinear Phenomena, Vol.307, pp.2241 (2015).

[2] 加藤舞，内藤綾香：多重連結領域上の安定非圧縮流の解析．南山大学 2018 年度卒業論文 (2019).

[3] 坂上貴之，横山知郎，澤村陽一: 二次元多重領域内における構造安定な非圧縮流れの文字表現アルゴリズム. 数理解析研究所講究録， Vol.1900， pp.1125(2014)．

[4] 内藤綾香，加藤舞，横山哲郎ほか: 円板上の非圧縮流の反転の解析. 情報処理学会第 81 回全国大会講演論文集， pp.319320(2019)．

[5] 横山哲郎，横山知郎: ハミルトン曲面流に対応する流れの向きを考慮した極大語の列挙アルゴリズム. 電子情報通信学会論文誌 D， Vol.J101-D， No.8， pp.12201222(2018)．