% 南山大学 理工学部 ソフトウェア学科 要旨
% 江崎昴
% 2019年10月11日 作成
\documentclass[twoside,twocolumn,10pt]{jsarticle}
\usepackage{latexsym}        % 数学記号を増やすためのパッケージ
\usepackage{amssymb,amsmath} % 複雑な数式を書くためのパッケージ
\usepackage[dvipdfmx]{graphicx} % グラフィクスを使うためのパッケージ
\usepackage{enumerate}       % enumerate環境を高機能にするためのパッケージ
\usepackage{stabst}         % 理工学部の予稿用スタイル
%\english %英語で論文を書く場合に宣言する. jasrticle の代わりに article を使用すること. 


\title{ハミルトニアンを利用した二次元多重領域上の安定非圧縮流の可視化}
%\subtitle{—要旨の場合—} % 副題がない場合はこの行をコメントアウトする．
                        % 副題を囲む横棒は全角ダッシュ文字を使う．
\author{2015SE055 永田 翔也\ \ \ 2016SE006 江崎 昴 \ \ \ 2010SE888 加藤 晴海}
\professor{指導教員：横山哲郎}

\begin{document}
\maketitle

\section{はじめに}
\label{sec:introduction}
流体力学は流体の運動を研究対象とする力学のー分野であり，その解析方法の代表的なものの1つに離散解析がある．離散解析は2次元多重連結領域をトポロジーによって分類することで流体の構造を大まかな見方によるものであるが完全な分類が可能となり，直感的に理解しやすい．その離散解析の研究の1つの例としてトポロジーの分類を極大語によって表現する研究がある．しかし，語表現によって行われる多重連結領域上の安定非圧縮流の流れを記号列で表す方法は区別しにくい流線の位相構造を分類することに優れているが， 語表現の特徴に加えてより多くの流れの向きを考慮した木表現が語表現の発展形としてある．語表現には１つの語表現に対して複数の流線パターンが存在してしまう欠点が生じていたが木表現は1つの流れに対し1つの記号列を対応させることでその欠点が生じることなく流れの向きを表現できるため語表現よりも高い表現力を持つといえる．木表現を用いた流体の特徴の表現力の調査を行った研究では木表現は語表現よりも多くの流れの特徴を捉えることが可能であるという結果が得られた．
本研究では，2次元多重連結領域上の安定非圧縮流の可視化を目指す．流れの可視化は様々な研究で行われているがトポロジカルな流れの可視化の研究は行われていない．流れを可視化する手法として木表現→関数化→可視化の手順を踏む．木表現は既存の研究のもの使用する．木表現の欠点として流れの形状の把握が難しく，複雑な流れの構造の理解がしづらい．そのため，流れの木表現を関数に変換し，変換した関数をもとに可視化を行うことで，木表現だけではとらえきれない流れの形状の把握をできるようにする．さらに，安定非圧縮の流れの変換規則を木文法によって定義する．定義された変換規則に従い流れの遷移グラフを作成し，流れの遷移の可視化を目標とする．流れの遷移を可視化することで，流れの遷移を直感的に理解することができる．

\section{関連研究}
\label{sec:construction}

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

\subsection{初期パターン}
初期パターンとは，障害物，渦構造，停留点の合計 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_{Φ-}}$と表す.

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{syokipattern.png}
 \caption{初期パターン}
\label{fig:diagram}
\end{figure}

\subsection{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_-$}と表す.

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{5control.png}
 \caption{木文法の５つの操作に現れる流線}
\label{fig:diagram}
\end{figure}

\subsection{木文法}
開始記号$S$，非終端記号の集合$N={S,A,B_+,B_-,C_+,C_-,C_+^*,C_-^*}$，終端記
号の集合$F=F_ε \lor F_A \lor F_B \lor F_C \lor {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系の操作によって現れる流線を表して
いる．生成規則は以下のように記述する．

\begin{align*}
&S\rightarrow a_Φ(A^*)|b_{Φ+}(B_+,{C_-^*})|b_{Φ-}(B_-,{C_+^*})\\
&A\rightarrow a_+(B_+)|a_-(B_-)|a_2(C_+^*,C_-^*)\\
&A\rightarrow λ|A・A^*\\
&B_+\rightarrow l|b_{++}{B_+,B_+}|b_{+-}(B_+,B_-)|β_+{C_+^*}\\
&B_-\rightarrow l|b_{--}{B_-,B_-}|b_{+-}(B_-,B_+)|β_-{C_-^*}\\
&C_+\rightarrow c_+(B_+,C_-^*)\\
&C_-\rightarrow c_-(B_-C_+^*)\\
&C_+^*\rightarrow λ|(C_+,C_+^*)\\
&C_-^*\rightarrow λ|(C_-,C_-^*)
\end{align*}

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

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

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{flow.png}
 \caption{流れの場の全体図}
\label{fig:diagram}
\end{figure}

このことを利用して流れ関数を定義することが可能である．流れ関数ψは，2次元座標平面上の流線を表すことが可能であり次のように表すことが出来る．

\begin{equation}
ψ = ψ(x，y)
\end{equation}

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

\begin{equation}
Φ(S)＝∫(V・ds)＝∫(udx+vdy)
\end{equation}

この関数を速度ポテンシャルと呼ぶ．

\subsection{複素速度ポテンシャル}
ここでは，2次元渦無し流れ（ポテンシャル流れ）を，複素速度ポテンシャルで作図する．渦無し流れとは，流れ場のどこをとっても渦度がゼロである流れのことで，2次元渦無し流れには速度ポテンシャルと流れ関数が存在する．これらの間には次の関係式が成り立つ．複素座標 $z=x+iy$で定義された関数で，実数部分が速度ポテンシャル$Φ(x,y)$で複素数部分が流れ関数ψ(x，y)となるような複素数関数を$z=x+iy$のとき

\begin{equation}
f(z)= Φ + iψ
\end{equation}

とする．これを複素速度ポテンシャルと呼ぶ．本研究ではこの式を使用し，流れの木表現を関数に変換していく．

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

\section{流れの可視化}
\label{sec:floats}
本章では，流れの木表現を関数に変換する方法を考える．木表現を関数に変換する際，関連研究で示した流れの初期パターンに5つの操作を加えた流線を関数化させる．

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

\subsection{木文法の5つの操作に現れる流線の関数化}
関連研究で示した木文法の5つの操作に現れる流線を複素速度ポテンシャルで表
現する．A系の$a_+$と$a_-$は図4.1のように一様流と渦の組み合わせで表現でき
る．一様流は複素速度ポテンシャルで$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$となる．

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{A.png}
 \caption{A系のa+}
\label{fig:diagram}
\end{figure}

次にB系は図4.2のように２つの渦を組み合わせることで表現することが出来る．
よって，$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$と表現する．

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{B.png}
 \caption{B系のb++}
\label{fig:diagram}
\end{figure}

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

\subsection{流れの可視化}
木で表現された流線を関数に変換する．例として
$b_{Φ+},b_{++}{b_{++}{l,l},c_-(l,l)},c_-(l,l))$を複素速度ポテンシャル関
数で表現する場合を考える．4.1節で定義した関数に数値を代入したものを
MATLABで描画させ，例とした木の流れをうまく表現できる適した大きさの描画が
できる数値を見つける．そして，例とした木を表現できる式は次のようになる．
\begin{equation*}
\begin{split}
f(z)&=-\frac{7}{5}i\log⁡ (z) -\frac{1}{2}i\log⁡ (z-1.5) -\frac{1}{2}i\log (z+1.5) \\
&\quad+i\log (z-2) +i\log (z-1) +\frac{1}{2}i\log (z-1.8)\\ 
&\quad+i\log (z+1.2)                                  (4)\\
\end{split}
\end{equation*}

式(4)をMATLABに打ち込み描画しようと試みたがうまくいかなかった．しかし式を一項ごと打ち込むことで描画することは出来た．

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

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{henkan1.png}
 \caption{変換規則1}
\label{fig:diagram}
\end{figure}

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{henkan2.png}
 \caption{変換規則2}
\label{fig:diagram}
\end{figure}

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{henkan3.png}
 \caption{変換規則3}
\label{fig:diagram}
\end{figure}

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{henkan4.png}
 \caption{変換規則4}
\label{fig:diagram}
\end{figure}

これらの変換規則を使い，ノードを流線図，エッジを変換とした流れの遷移グラ
フを作成する．ある流れ図4.7の変換規則を使い，流れを遷移させると図4.7のよ
うな遷移グラフになる．トポロジー的な変化のみを考えるため，構造が同じにな
るものは除く．

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{closeflow.png}
 \caption{ある閉円板上の流線図}
\label{fig:diagram}
\end{figure}

\begin{figure}[h]
 \centering
 \includegraphics[height=1.8cm]{transition.png}
 \caption{流れの遷移グラフ}
\label{fig:diagram}
\end{figure}


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

\section{参考文献}
\label{sec:reference}

\begin{enumerate}[{[1]}]
\item Sakajo, T. and Yokoyama, T:
{\em Transitions between streamline topologies of structurally stable
      Hamiltonian flows in multiply connected domains} 
Physica D: Nonlinear Phenomena, Vol.307, pp.22–41 (2015).

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

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

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

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

\end{enumerate}

\end{document}
