メインコンテンツに移動

パラメータの設定

無次元変数

WebMixでは, 無次元変数を用いて解析を行います.難しい話ではなく,単に,

  • 基準となる長さ\(L\)・温度\(T_0\)・圧力\(p_0\)を定める
    • DSMCの場合,基準となる成分(ヘリウムとか窒素とか)も,一つ定める必要がある
  • すべての量を, 基準量に対する比率で述べる
    • 気体分子の量(分子半径など)は, 基準成分に対する比率で与える

だけです.

実機に合わせて解析を行う場合, 計算で設定する幾何形状に,実際に基準長さ\(L\)が含まれている必要はありません.例えば, MEMSで作成したマイクロ流路内の流れを実機にあわせて計算する場合, \[L = 1 \mu{\text m}\]としてはいかがでしょう? 出来上がったデバイスの流路サイズが\[10(\mu {\text m}) \times 12.5 (\mu {\text m}) \times 2.2 (\mu {\text m})\]ならば, 領域サイズを\[10 \times 12.5 \times 2.2\]に設定すれば良い. 実機における適当な圧力\(p_0\)・温度\(T_0\)から平均自由行程\(\ell_0\)を計算し,Knudsen 数\[{\rm Kn} = \frac{\ell_0}{L}=\frac{\ell_0}{1 (\mu{\text m})}\] を計算すれば良いだけです. 真空機器内部の希薄気流を計算するならば, \[L = 1 ({\text{mm}}),\]宇宙機外部の希薄気流を計算するなら\[L = 1 ({\text m}),\]惑星大気の熱遷移を解析するなら\[L = 1000 ({\rm km}),\]太陽系外縁部の希薄気流を調べるのなら\[L = 1 ({\text{au}})\]等が代表長さの一案です. この場合, 実機の形状を少々変更しても, Knの設定が変わりません. Knの変化とは基準圧力の変化である, ということになります.

一方, 理論的な解析の場合には, 領域の大きさを様々に変えることがないでしょうから, 例えば領域サイズに1が含まれる\[20 \times 1 \times 1\]などで固定し(1となっている部分が「代表長さ」となる), 希薄度Knを様々に変えて解析するのが通例です.

どちらの方法を採用しても解析は可能です.


BGKのパラメータ設定

パラメータの設定は,【プロパティ】【ケース】で起動します.(【ツール】【実行ウィザード】の【基本設定】も同じです)

BGKモードでは次の画面が現れます.

parm-bgk

  • セル設定     計算領域を, 現在のところ,等分割して計算を行います.【幅】は,X軸(物体表示の赤色軸), Y軸(黄色), Z軸(緑)方向のセル幅です.
    • BGKでは, 気体領域を線形変換して矩形領域に変換してから分割します.従って, 分割のセル幅\(\Delta X\), \(\Delta Y\), \(\Delta Z\)は, 物理空間上のセル幅と異なります.
    • 【分割】コラムは, BGKでは利用していません.
  • 時間設定     時間ステップに関する設定を行います.
    • 【dt】時間ステップ\(\Delta t\)を無次元量で指定します.基準の時間は\[ \frac{L}{\sqrt{2\kappa T_0/m}}.\]
      • 基準時間自身が,基準長さ\(L\)を, ほぼ音速の速さ\(\sqrt{2\kappa T_0/m}\)で通過する,という, かなり短い時間(例えば, \(L= 1\) mmならば常温で㎲ec程度)ですので注意.
      • dtが小さい方が精度は向上しますが, 定常状態を求めるだけであれば, 時間の無駄になります.
      • 新開発手法のBGKで, どの程度大きい\(\Delta t\)が許容されるのか, が, 不明です.
      • \(\Delta t > \Delta X, \Delta Y, \Delta Z\)となるにつれ, 計算速度が低下していくことはわかっています.
      • \( \Delta t < {\rm Kn}\) が必要という可能性もありますが, 絶対的に必要な条件でもなさそうです. 
    • 【nt】  時間ステップの現在の値です.初期値であれば0にしてください.
    • 【最大nt】上記時間ステップを, 何回繰り返すかを指定します. 結局, 無次元時刻 \( t = {\rm nt}\times\Delta t\) まで計算を行うことになります. 
      • 経験的には, Kn = 1 程度であれば, \( t \sim 2/{\rm Ma} \)程度で定常状態に到達することが多いです. Maは, 流れのMach数(=流速 / 音速)です.
      • Knが大きいと少し早めに定常になることが多い. Knが小さいと1/Kn倍程度, あるいはもっと時間がかかり, 定常に到達せず周期解となることもあります.
      • 後から変更可能です.計算実行中にふっと変更しても,効かないかもです.
    • 【平均回数】 (ラベルが間違っている) BGK計算では, 一定時間間隔で, その時刻の流速や密度などを保存します. その保存間隔を指定します. 平均と書いてありますが,時間平均は行いません.
      • \(t=0\)近辺では, 自動的に細かく時間データを保存しますので, ここでは, 十分時間が経った後に必要な保存間隔を指定してください.
      • あまり頻繁にデータを保存すると計算が遅くなり, ディスク領域も非常に消費しますので, 注意してください.
    • 【CPU時】    WebMixは, 計算開始後,一定の実時間が経過すると時間切れで自動的に保存・終了します.その時間をHourで指定します.0にすると時間切れ判定をしなくなります(その場合,ジョブタイムアウトで計算センターによって強制停止・データロスする可能性があります.)
  • 分子速度設定   Knudsen数, 分子速度の格子数, 最大分子速度などを設定します.
    • 【1/Kn】  Knudsen数の逆数を数値で指定します.
      • 逆数であることに十分注意してください. 
      • 逆数ですので,連続体に近い流れでは,この数値は大きくなります.
      • 逆数ですので,0は自由分子流になります.
    • 分子速度の格子点数は, 多い方が正確ですが, 計算は遅くなります.
    • 通常は, デフォルトで十分・・・と期待しています.
    • 【1:】【2:】欄は, 開発中の数値です. 図に示す数値のままにしておいてください.   
  • コメント欄    計算ケースの数が増えると, 識別が困難になってきます. コメントやキーワードを入れておくと, 便利です.
  • 状態フラッグ    誤動作を防ぐための安全装置です.計算がバグなどで停止すると, ここを操作する必要があります.

結局, \(\Delta X\), \(\Delta t\), 最大ntと 1/Kn 程度しか設定するところはありません. 設定が完了したら【保存】してから,ウィンドウを消してください.次は実効ウィザードの実行です.


DSMCのパラメータ設定

パラメータの設定は,【プロパティ】【ケース】で起動します.DSMCモードでは次の画面が現れます.

parm-dsmc

  • セル設定     計算領域を, 等分割して計算を行います.
    • 【幅】      は,X軸(物体表示の赤色軸), Y軸(黄色), Z軸(緑)方向のセル幅です.
    • 【分割】   が1以上であると, 分子衝突の計算だけでは, 上記のセルを分割した「サブセル(衝突セルとも呼ばれる)」で計算します.サブセルでは密度や流速を計算しません.巨視的量のデータ量を減らすことができます.
  • 時間設定     時間ステップに関する設定を行います.
    • 【dt】時間ステップ\(\Delta t\)を無次元量で指定します.基準の時間は\[ \frac{L}{\sqrt{2\kappa T_0/m}}.\]
      • 基準時間自身が,基準長さ\(L\)を, ほぼ音速の速さ\(\sqrt{2\kappa T_0/m}\)で通過する,という, かなり短い時間(例えば, \(L= 1\) mmならば常温で㎲ec程度)ですので注意.
      • dtが大きくしても, 必ずしも計算は高速になりません.DSMCの1ステップに必要な計算時間\(t_\text{CPU}\)が, \[t_\text{CPU}=C\Delta t\]だからです. 例えば, 時刻\(t_\text{max}\)まで計算するならば, \[\frac{t_\text{max}}{\Delta t}\]ステップ必要なので, 計算に必要な実時間は\[\frac{t_\text{max}}{\Delta t}\times C\Delta t=Ct_\text{max}\]となり, \(\Delta t\)に依存しません.なお, \(\Delta t\)が小さい方が計算精度が良いです.
      • とはいえ, 数学ではないので, \(\Delta t\)を小さくしすぎると, 雑務が増えて計算時間が増大します.
      • 経験では, dtをセル幅の1--10%に設定することが多いです. 
    • 【平均回数】 DSMC計算は, 確率論的計算法ですので, 一定時間間隔にわたっての流速や圧力の平均量を求める必要があります. その平均間隔を指定します.
      • \(t=0\)近辺では, 自動的に細かく時間データを保存しますので, ここでは, 十分時間が経った後に必要な保存間隔を指定してください.
      • あまり頻繁にデータを保存すると計算が遅くなり, ディスク領域も非常に消費しますので, 注意してください.
    • 【nt】上記時間ステップを, 何回繰り返すかを指定します. 結局, 無次元時刻 \( t = {\rm nt}\times\Delta t\) まで計算を行うことになります. 
      • 流れが定常状態に至る時刻\(t\)が過ぎても, 上記【平均回数】で指定した回数を過ぎるまでは計算が必要です. 平均回数を十分上回る回数を指定してください.
    • 【CPU時】    WebMixは, 計算開始後,一定の実時間が経過すると時間切れで自動的に保存・終了します.その時間をHourで指定します.0にすると時間切れ判定をしなくなります(その場合,ジョブタイムアウトで計算センターによって強制停止・データロスする可能性があります.)
  • 粒子設定   Knudsen数と, DSMCのシミュレーション粒子数を設定します.
    • 【1/Kn】  Knudsen数の逆数を数値で指定します. 0は自由分子流になります.
    • 【粒子/サブセル】  サブセル1個あたりの粒子数を指定します.
      • Intel社CPUでは, 3000程度以上で, キャッシュ溢れにより計算速度が劇的に低下.
    • 【Tbase】LJ, VHS, VSS分子モデルでは, 無次元化の基準温度をここにで指定する必要があります. 単位はKです.
    • 【Cutoff】LJ, IPLのように無限に伸びる分子間力モデルでは, アンギュラー・カットオフにより計算を行います. カットオフレベルを指定します. LJであれば, 3で十分です. 計算時間は, Cutoffの2乗に比例して増大します.
    • 【Tbase】LJ, VHS, VSS分子モデルでは, 無次元化の基準気体をここで選択する必要があります.   
  • コメント欄    計算ケースの数が増えると, 識別が困難になってきます. コメントやキーワードを入れておくと, 便利です.
  • 分子運動欄    DSMCでは, 直交座標以外に, 以下の座標系で計算を行うことができます.
    • 軸対称問題   Y軸を中心軸とする軸対称問題を解析
    • 極座標問題   Y軸を中心軸とする極座標で解析(予定)
    • 1次関数外力  X,Y,Zの1次関数で表される外力のもとでの流れを解析(予定)
  • 状態フラッグ    誤動作を防ぐための安全装置です.計算がバグなどで停止すると, ここを操作する必要があります.

設定が完了したら【保存】してから,ウィンドウを消してください.次は実効ウィザードの実行です.