いきなりOpenFOAM (30)

河川への汚染物質拡散の解析

解析モデル

 今回は、河川への汚染物質の広がりをOpenFOAMで解析してみます。河川は幅100m、深さ10mとして、長さ1kmに渡って解析してみます。汚染物質は上流から10mの箇所にある幅10m、奥行き10mの領域から河川の流れに乗って流入します。XSimでサイズ変更を行わなければ、インポートした座標値をmとして認識するため、今回CADでは図1に示すようなmm単位の寸法で作図します。一般的にstlデータは単位を持ちませんが、CADソフトによっては出力時に変換されるものもあるので、お使いのCADで確認をお願いします。

図1 解析モデル

 河川の上流をinlet1、汚染物質の発生個所をinlet2、河川の下流をoutletとして、stlファイルを出力します。その他の面はwallとして、すべり壁にします。今回はすべり壁での速度勾配はないため、層流モデルで解析します。

XSimでの設定

 図2に示すように、モデルをインポートし、サイズ変更なしで登録すると、図に示すように長さ1kmのモデルとなります。

図2 モデルのインポート

 汚染物質は流入側の河岸に沿って下流に流れると予想されるため、再分割領域は図3に示すように、汚染物質の流入側に適当な幅でモデル長さ分の大きさで設定します。すべり壁のため、レイヤーメッシュの設定は不要です。

図3 再分割領域の設定

 図4に示すように境界条件を設定します。河川の流速は1m/sとし、汚染物質の流入と出口は自然流入出とします。もちろん、汚染物質の流入口に任意の流速を与えることもできます。基本設定では、乱流のチェックを外し、物性はWaterを選択します。その他の設定方法については、いきなりOpenFOAM第7回第12回を参考にしてください。

図4 境界条件の設定
OpenFOAMでの計算

 XSimでエクスポートしたzip形式の解析ファイルを右クリック→展開として、ファイルを展開します。展開したフォルダ内で、マウス右クリック→端末を開くを選択し、ターミナルを起動します。Allrunファイルに実行権限を与えます。次いで、./Allrunと入力すると、メッシュ分割と計算が自動で行われます。
 OpenFOAMでの計算手順はこれまでと同じですが、ファイル操作などの詳細については、いきなりOpenFOAM第2回第8回を参照してください。

 図5は汚染物質の流入部分での流線を表示したものです。キャビティ流れと同様な流れとなっています。河川の流れと接する上部から汚染物質が河川に拡散すると予想されます。

図5 汚染物質の流入部での流れ
拡散解析の準備と実行

 次に、拡散解析を行います。拡散解析用フォルダ内の0フォルダ内のUファイルを流れ解析の最終サイクルの結果で上書きします。Tファイルのinlet1はvalueが0、inlet2はvalueが1とします。constantフォルダ内のpolyMeshフォルダを流れ解析のpolyMeshフォルダで上書きします。
 transportPropertiesファイルの拡散係数を1e-9に設定します。拡散係数は空気中で10-5程度、水中で10-9程度です。
 Sytemフォルダ内のcontrolDictファイルで終了時間、時間刻み、出力タイミングを設定します。
 Systemフォルダ内のcontrolDictファイルで、終了時間、時間刻み、出力タイミングを設定します。流速1m/sで1km先の下流まで到達するには1000秒必要となるため、終了時間は1000秒とします。メッシュの寸法が大きくなるため、時間刻みは0.1秒と大きくしても、クーラン条件を満足します。
 ファイルの修正が終わったら、scalarTransportFoamを実行して拡散計算を行います。ファイル修正や計算実行の詳細は、いきなりOpenFOAM第27回第28回を参照してください。

ParaViewでの結果の可視化

 図6に高さ方向中心断面での汚染物質の濃度分布を示します。高い濃度の汚染物質は、キャビティ内に留まっていますが、河岸に沿って下流まで、汚染物質が流されることがわかります。

図6 汚染物質の濃度分布

 濃度1%の等値面を表示させた結果が図7です。図を見ると、汚染物質は河幅方向では、川岸近傍に限定されるものの、流れに沿って、下流まで広がることがわかります。

図7 濃度1%の等値面

 今回は、河川の汚染物質拡散の計算を行いました。実務上は水面や地形の影響や乱流も考慮する必要があります。また場合によっては汚染物質の比重なども考慮します。
 次回は煙突からの汚染物質の広がりをOpenFOAMで解析してみます。

 このページでは、各アプリケーションの操作説明は省略しています。FreeCADの具体的な操作については、いきなりOpenFOAM第5回および第7回、OpenFOAMでの計算実行は第8回、ParaViewの操作については第3回第4回および第8回を参考にしてみてください。

おことわり
 本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
 本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
 本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。