シンクから液体を排出します。
ベース
元とするチュートリアルモデルは下記とします。
ひとまず計算できるモデルを作成します。
要素や出力がかなり粗目です。
10秒までアイソメ上下。
使用ツール
| 項目 | 使用ツール | 備考 |
|---|---|---|
| モデル化 | FreeCAD 0.21 | |
| メッシャー | salome 9.9.0 | |
| プリプロセッシング | テキスト編集、OpenFoam | |
| ソルバー | OpenFoam | |
| ポストプロセッシング | ParaView 5.11.0 |
モデル
形状
物性値
| 材質 | 項目 | 設定 |
|---|---|---|
| 空気 | 動粘性係数 | 1.48e-05 m2 /s |
| 密度 | 1 kg/m3 | |
| 水 | 動粘性係数 | 1e-06 m2 /s |
| 密度 | 1000 kg/m3 |
境界条件
結果

作業
ジオメトリ
FreeCADで形状を作成します。
サンプルファイル:B212_geom.step
メッシング(salome)
Geometryモジュールにして、stepファイルをインポートします。境界条件を設定するため、フェイスをグループに分けておきます。板要素をオートで作成して押し出しでソリッド要素にします。
参考:salome
T402 メッシュ作成 salome hex

meshモジュールで作成し、メッシュをエクスポートしてOpenFoamで変換します。
サンプルファイル:B212_mesh.unv
解析ファイル
ベースとするモデル(T721_101 multiPhase damBreak)のファイルを今回のモデル用に変更します。
変更するファイルは以下になります。
B212_model2 ├ 0 │ ├ alpha.water │ ├ p_rgh │ └ U └ system └ setFieldsDict
wall ,outlet1,outlet2に対応するように変更します。
//ファイル:alpha.water の一部抜粋
boundaryField
{
wall
{
type zeroGradient;
}
outlet1
{
type inletOutlet;
inletValue uniform 0;
value uniform 0;
}
outlet2
{
type zeroGradient;
}
}
setFieldsDictについては、水に該当する部分を設定します。
regions
(
boxToCell
{
box (0.5 1 0) (1.5 1.4 1);
fieldValues
(
volScalarFieldValue alpha.water 1
);
}
);
サンプルファイル:B212_model2.zip
計算実行
OpenFoamでコマンドから実行します。
//要素変換 ideasUnvToFoam B212_mesh.unv //フィールド適用 setFields //解析実行 interFoam //ParaView用VTK変換// foamToVTK
結果
ParaViewで確認します。T601 ParaViewについて
ベース 壁開放
outlet2を開放してみた場合です。
側面から液体が流出します。側面を閉じた場合とは違って、液体の落ちる量が増えるようで、液面が速く下がります。
ベース 閉じる
outlet1も壁相当にしてみた場合です。
液体が上面に張り付きます。

alpha.water
boundaryField
{
wall
{
type zeroGradient;
}
outlet1
{
type zeroGradient;
}
outlet2
{
type zeroGradient;
}
}
p_rgh
boundaryField
{
outlet2
{
type fixedFluxPressure;
value uniform 0;
}
wall
{
type fixedFluxPressure;
value uniform 0;
}
outlet1
{
type totalPressure;
p0 uniform 0;
}
}
U
boundaryField
{
outlet2
{
type noSlip;
}
wall
{
type noSlip;
}
outlet1
{
type noSlip;
}
}


コメント