基本事項(共通事項)
ここではGELATOモデルにおける基本事項に関して述べる。
GELATOにおけるトレーサーの位置情報の記述方法
GELATOにおいて用いられるトレーサーの位置は流下方向および横断方向の無次元座標を用いて表される。 例えば、河川や水路で境界適合座標を用いた場合、Figure 1 に示すよう、 水路下流方向に \(\xi\)、横断方向に \(\eta\) のいずれも0から1の範囲の 無次元パラメータでトレーサーの位置情報を表すことになる。
Figure 1 :トレーサーの位置の無次元表示方法
乱流の影響を考慮したランダムウォークモデル
Callies(2011)、McDonald and Nelson(2020)によれば、対象トレーサーの 位置ベクトル \(\boldsymbol{r}\) は次式で表される。
\[\boldsymbol{r}(t+\Delta t) = \boldsymbol{r}(t)+ \boldsymbol{U} \Delta t + \boldsymbol{U}_p \Delta t + \boldsymbol{L}\sqrt{2K\Delta t}\]
ここで、 \(\boldsymbol{U}\) は流れの流速ベクトル、\(\boldsymbol{U}_p\) は トレーサーの流速ベクトル(トレーサー自身の持つ推進速度ベクトル)、 \(\boldsymbol{L}\) はその値が、平均値0で標準偏差1になるようなガウス分布ベクトル、\(\Delta t\) は計算時間ステップ、\(K\) は乱流拡散係数である。
\(\boldsymbol{L}\) はBox-Muller変換 (Box and Muller, 1958)を適用すると、 2次元の場合は以下のように表される。
ここで、\(U_1\) と \(U_2\) は互いに独立な0~1の正規乱数であるり、これらを適用することにより、 ゆわゆるRandom Walkモデルとなる。\(K\) 渦動粘性係数 \(\nu_t\) の線形関数とし次式で与える。
GELATOモデルでは、上式の \(a\) および \(b\) をパラメータとして与える。\(\nu_t\) に関しては、 流れの計算結果から自動的に読み込まれる。
トレーサーのクローニングについて
上流から供給されるトレーサーは流れに乗って下流に輸送されるが、流れの状況によってはトレーサーが 十分に流れてこない領域が発生する。特に流れが淀む場所、剥離域、分流した場合の一方などでは、 上流から大量のトレーサーを供給しても、対象領域にはなかなか到達できない場合がある。 一般に、上流からの供給数には上限があり、無限に供給出来る分けではないので、何等かの工夫が必要になる。 そこでGELATOでは、トレーサーの数が少ないセル(もしくはトレーサーが存在しないセル)に新たなトレーサーを 発生させ(分割させ)トレーサーが十分に無い領域でも流れの様子を追跡しつつ、トレーサー濃度を管理する という手法を採用している。
例えば、
あるセルでトレーサーの数が1個になったら、2分割させる.
ただし、重みは1/2とし、これを記憶する
Cloningは何度でも繰り返し可能とするが、所定の世代(Generation)で打ち切ることも可能とする
オプションとして、トレーサーがゼロのセルには1個発生させることも可能とする。この場合のトレーサーの重みはゼロとするが、可視化は可能なので、流れの可視化用のトレーサーとしては有効となる。
トレーサーの分割の様子を模式的に Figure 2 に示す。
Figure 2 :トレーサーの分割(クローニングのイメージ)
最初に投入されたトレーサーを第1世代、初回の分割で発生したものを第2世代、その次を第3世代... と定義すると、第2世代では重みは1/2、第3世代では重みが1/4、第 \(n\) 世代では \(2^{n-1}\) 回の分割を経験していることを考慮すると、その重み \(W=\cfrac{1}{2^{n-1}}\) となる。 これを利用して各セル内の重み付きトレーサーの重み付き総個数をカウントすることにより、 濃度の算定が可能となる。従って、たとえば第10世代では \(n=10\) で \(W=\cfrac{1}{2^9}=0.000195\), \(n=20\) で \(W=\cfrac{1}{2^{19}}=0.00000195\) となる。
GELATOで使用される2次元流れの計算結果
Figure 3 : GELATOによる計算の流れ
GELATOで使用する流れの計算結果が格納されたCGNSファイルはソルバー起動時に表示されるダイアログから指定する。 (Figure 4)
Figure 4 : 流れの計算結果が格納されたCGNSファイルの指定
GELATOで使用される計算格子
Figure 5 : GELATOで使用する計算格子を流れの計算結果CGNSファイルからインポートする。
Figure 6 : 警告メッセージ
Figure 7 : 格子インポートの完了
この後は下記の手順でGELATOによトレーサーの計算と結果の表示がおかなわれるが、 具体的には次節の事例集でその実例を示す。
計算条件設定
計算実行
計算結果を表示