流出境界条件 — CAE用語解説
流出境界条件
理論と物理
流出境界条件の基本概念
流出境界条件って、具体的にどんな物理的な意味があるんですか?「流れ出ていく」というだけだと、何も設定しなくてもいいような気がします。
それは大きな誤解だ。何も設定しないと、境界で速度や圧力がゼロに固定される「壁」条件になってしまう。流出条件の本質は、「計算領域から出ていく流れに対して、物理的に不自然な反射や乱れを生じさせない」ことだ。例えば、円管内の流れの出口では、流れが完全に発達した状態を仮定し、流出口での法線方向の応力や速度勾配がゼロになるという条件を課す。
「反射」というのは、出口で渦がぶつかって逆流するようなイメージですか?
その通り。特に非定常流れや渦流れでは深刻だ。例えば、自動車の後方のウエイク領域を計算する時、計算領域の後端を壁にすると、渦が壁で反射されて車体近くの流れ場が完全に汚染される。これを防ぐために、流出境界では圧力勾配をゼロ(
圧力勾配ゼロという条件は、出口で圧力が一定という意味ですか?
正確には「法線方向の勾配がゼロ」だ。出口面の垂直方向に圧力が変化しない、つまり出口面内では圧力が一様とは限らないが、領域外に向かっては一定と仮定する条件だ。これは非圧縮性流れの「Pressure Outlet」でよく使われる。一方、圧縮性流れ(亜音速)では、出口静圧を指定する「Pressure Far Field」や「Pressure Outlet」が使われる。この指定圧力と内部計算から求まる特性波の関係で、流出量が決まるんだ。
数値解法と実装
離散化とソルバーへの影響
流出条件を数値的に実装する時、内部のセルとどう違う処理をするんですか?
境界セルに対する流束の計算方法が変わる。例えば有限体積法では、内部界面では両側のセル値から流束を計算するが、流出境界では「ゴーストセル」を仮想的に設定する。流出条件が
「対流流出条件」というのを聞きましたが、これはどう実装されるんですか?
良い質問だ。対流流出条件は、スカラー量φの輸送方程式が流出境界で
質量保存が保証されない?それはまずくないですか?
確かに問題になり得る。そのため、複数の出口がある流路では「Outflow」の使用は推奨されない。代わりに、各出口に流量比を指定できる「Pressure Outlet」を使う。あるいは、全体の質量保存を満たすように流出速度を補正する「平均静圧流出条件」を実装したソルバーもある。Siemens Star-CCM+の「Pressure Outlet」では、指定圧力と質量流量補正を組み合わせたオプションがある。
実践ガイド
設定のワークフローとチェックポイント
実際の解析で流出境界を設定する時、何を基準に「Pressure Outlet」と「Outflow」を選べばいいですか?
まず第一に、出口での静圧が物理的に既知か、あるいは合理的に仮定できるかだ。例えば、大気中に開放された排気口なら、ゲージ圧0 Paとする。これが「Pressure Outlet」だ。一方、出口での流れが完全に発達しており、圧力勾配がほぼゼロだが、正確な圧力値が分からない複雑な内部流れでは「Outflow」が候補になる。ただし、前述の質量保存の問題があるので、単一出口で、かつ流入量が明確に定義されている場合に限る。
出口位置は、どれだけ下流に取れば十分ですか?
これは非常に重要だ。目安として、物体後流であれば、物体後縁から少なくとも10~15倍の代表長さ(例えば車体幅)は下流に取る。円管流れなら、完全発達流になる長さ、つまりレイノルズ数が10^5で管径の約50倍程度、下流に取るのが理想だ。ただし計算コストとのトレードオフなので、感度解析が必須だ。出口位置を5D, 10D, 20D(D:代表長さ)と変えて、関心領域(例えば物体表面の圧力分布)の結果が変わらなくなる位置を探す。
設定後に、流出境界が適切に機能しているかどうかは、どうやって検証するんですか?
最低限、以下の3点をチェックするリストを使え。第一に、流出面での法線速度のコンター図を見て、逆流(流入)が発生していないか。第二に、流出面に垂直な線上での圧力分布をプロットし、境界直前で急激な勾配や不連続が生じていないか。第三に、全体の質量収支レポート(流入質量流量 - 流出質量流量)を確認し、相対誤差が0.1%以下であること。Ansys Fluentの「Flux Reports」や、OpenFOAMの「scalarTransport」ユーティリティで確認できる。
ソフトウェア比較
各ソルバーの実装と特徴
Ansys FluentとSiemens Star-CCM+とOpenFOAMで、流出境界条件の扱いに違いはありますか?
大きな違いがある。まずFluentは、「Pressure Outlet」「Outflow」「Pressure Far Field」など、物理ベースの名前で条件を提供する。「Pressure Outlet」では、逆流が発生した場合の逆流条件(温度、乱流パラメータ)を詳細に設定できるのが強みだ。Star-CCM+は、より工学的で「Outlet」という名前で、その中で「静圧指定」「平均圧力指定」「分岐流量比指定」などのサブオプションが選べる。特に「平均圧力指定」は、出口面全体で一定圧力を強制するのではなく、平均値だけを指定するので、出口面内の圧力変動を許容し、より柔軟だ。
OpenFOAMはどうですか?カスタマイズが自由と聞きますが。
その通りで、基本は「inletOutlet」「pressureInletOutletVelocity」「zeroGradient」といった、より数学的なプリミティブな境界条件を組み合わせて使う。「zeroGradient」はまさにニューマン条件
Abaqus/CFDやCOMSOLのようなマルチフィジックスソフトでは?
COMSOL Multiphysicsでは、「流出」境界は「Outlet」ノードで設定され、デフォルトは圧力条件(ゲージ圧0 Pa)だ。ただし「流出に伴う圧力勾配を無視」するオプションをオンにすると、いわゆる「自然流出条件」
トラブルシューティング
よくあるエラーと対策
解析が発散する時、流出境界の設定が原因であることはどう見分けますか?
発散の初期段階で、残差履歴やモニタポイントを見る。流出面に隣接するセルの圧力や速度が、物理的にあり得ない値(例えば、ゲージ圧が10^6 Paなど)に急激に振動したり、発散したりしている場合、流出条件が不適切な可能性が高い。特に、圧力のリファレンス値が設定されていない(COMSOLなど)か、「Pressure Outlet」で指定した圧力が流入条件と物理的に整合していない(流入速度に対して出口圧力が高すぎる)場合に起こる。
「逆流が検出されました」という警告が出ました。これは問題ですか?
状況による。非定常流れの一過的な現象(例えば、渦の放出に伴う瞬間的な逆流)であれば物理的に正しいかもしれない。しかし、定常解析でこの警告が出続けるなら、それは問題だ。流出面が物理的に「流入面」として機能していることを意味し、計算領域が短すぎるか、出口圧力の設定値が高すぎる。対策は、1) 出口位置をさらに下流に移動させる、2) 「Pressure Outlet」の指定圧力を下げる(例えば、0 Paから-10 Paにする)、3) 逆流時の乱流条件を現実的な値に設定する、だ。
定常解析なのに、流出面での質量流量が時間とともにゆっくりドリフトしていく現象に遭遇しました。
それだ。「Outflow」条件を使っていないか?あるいは、「Pressure Outlet」でも、複数出口がある系で各出口の圧力を同じ値に設定している場合に起こり得る。全体の質量保存が強制されていないため、ソルバーが平衡点に収束しない。対策は、質量流量のドリフトを防ぐために、いずれか一つの出口を「質量流量出口」に変更するか、すべての出口を「Pressure Outlet」にし、そのうちの一つを「目標質量流量付き圧力出口」(Fluentの「Pressure Outlet with Target Mass Flow」)に設定する。これでソルバーが指定流量を満たすように出口圧力を自動調整する。
出口近くで、流線が境界面に対して垂直ではなく、斜めに抜けているのですが、これは異常ですか?
必ずしも異常ではないが、境界の影響を疑うサインだ。理想的な流出条件の下では、出口十分下流では流れは一様になるが、出口位置が不十分だと境界の影響を受ける。まず、出口面の速度ベクトルが、境界面に対してほぼ垂直か確認せよ。大きな接線速度成分が残っているなら、計算領域を延長するか、メッシュを細かくする必要がある。特に、壁面境界層が出口面に達している場合、その影響が残っている可能性が高い。壁面から少なくとも境界層厚さの5〜10倍は離して出口を設定したい。
関連トピック
なった
詳しく
報告