[Re:09] Reboot : ゼロから始める OpenFOAM @ windows ザ・円柱 その2(一様流中の円)

円の周りの二次元流れを計算してみます。

でもその前にちょっとなぞなぞ。

計算対象には、定常と非定常があります。流体工学では、一様、定常、ついでに一定。用語の違いを調べておくといいかもしれません。さて、流れは基本的に、揺れます。時間平均を取れば、ゆらぎは平均化されて、定常な流れに見えます。でも、本当は細かな部分で非定常です。定常性が強いのは、一様流や粘性が強くて揺らぎが抑えられる低レイノルズ数流れでしょうか。でも、一様流ですら高レイノルズ数では、揺らぎがあります。そこには、非定常速度変動により、摩擦が生じて、乱流エネルギー消散を生み出します。

数値計算では、定常流を求めるために、何度も計算して、前との差をとって、設定された値より小さくなったら収束した、と判断させて定常流になったとします。でもそうならなかったら。ある回数で計算を打ち切ります。

では、非定常流れはどうやって計算しているのでしょう。ある時刻の計算して、そのあと、次の時刻を計算します。あ、時刻と時間は同じ意味ですか?どんどん時間を進めて計算します(時間発展)。でもこれって、定常流れの計算と何が違うのでしょうか。定常なら自ずと非定常項はゼロになることでしょう。

まぁ、そんなことを考えておくと、とにかく動かせる確率は上がっていくかもしれません。

今回は、換気の問題とは異なって、物体周りの流れになります。前者は内部流れで、計算領域が流体流路そのものの塀空間になっています。後者は、外部流れといって、関心対象形状周りの流れを計算します。無限領域を計算するわけにはいかないので、適当なところに限界を設定して、そこに計算上問題ない、つまり計算アルゴリズムと舞台周りの流れの状態の両方に問題がないように、境界条件を指定する必要があるようです。

たとえば、アルゴリズムは、流れの原動力として流れの入り口面で流速や流量を指定して、必ずどこかでは圧力の値を定義しなければならない、などのルールです。流れが出ていく面では、圧力をゼロにする、などです。

  • 計算モデルを XSim に渡します。

直径 100、厚さ 5 で記録された 円盤の stl ファイルです。

読み込んだら直ぐに忘れないうちに、図形の編集で 1/1000、座標原点中心で変換し mks 単位系に換算します。

計算領域は、形状追加で行います。流れ方向 x に1.5 m、幅 1 m、厚さ 0.05 mです。円柱中心は上流側 1/3 の0.5 m のところに配置し、ここが原点になっています。

  • メッシュを指定します。

体積メッシュ設定

目標ベースメッシュ数 80000
ベースメッシュ数  146302
最大メッシュ数  100000003
最小座標[m] (-0.65, -0.6, -0.0005)
最大座標[m] (1.15, 0.6, 0.0055)
計算領域[m]
(0.24999999999999994, 0, 0.0024999999999999996)

再分割条件

レベル : 1
範囲タイプ : 直方体
最小座標 : (-0.2, -0.2, 0) m
最大座標 : (0.5, 0.2, 0.05) m

レベル : 2
範囲タイプ : 直方体
最小座標 : (-0.1, -0.1, 0) m
最大座標 : (0.3, 0.1, 0.05) m

レイヤー層数条件

領域 : Disk
層数 : 3

  • そのほかの設定は以下のような感じです。

非定常 / 終了時刻 200秒 / クーラン数は利用せず / 時間感覚 0.002 /
乱流モデルは標準 k-ε モデル / 物性は水 / 初期条件は速度指定で 0.3 m/s /

境界条件

領域 : Disk  条件 : 静止壁
領域 : XMin  条件 : 流速指定  流速 : (0.3, 0, 0) m/s
領域 : XMax  条件 : 静圧指定  静圧 : 0 Pa
他はすべて「すべり壁」

緩和係数

速度 0.7 / 圧力  0.3  / 乱流エネルギー 0.5 / 乱流散逸率 0.5

  • 段取りと実行の時間

snappyHexMesh で15分程度時間がかかって計算が始まります。
1時間ステップが 計算開始当初の数ステップは5-6分。その後は4分強くらいかかります。200秒計算しようとすると一年近くかかりますね。ウエイクが揺れて流下していくまでは数秒でしょうか。5秒なら1週間程度でなんとかなりそうです。

$ allrun
Running blockMesh on /e/0_calc/円柱/円盤/diskUnTurThin
Running surfaceFeatureExtract on /e/0_calc/円柱/円盤/diskUnTurThin
Running snappyHexMesh on /e/0_calc/円柱/円盤/diskUnTurThin
Running pimpleFoam on /e/0_calc/円柱/円盤/diskUnTurThin

  • 結果

今回は水、ということで、レイノルズ数は30半ばあたりの結構低い目のレイノルズ数です。計算結果を見ていると、いまのところまぁボチボチのようです。これを基準に省力化を当たってみます。