解析作業R

B212 排水 drainage

この記事は約5分で読めます。

シンクから液体を排出します。

ベース

元とするチュートリアルモデルは下記とします。

ひとまず計算できるモデルを作成します。
要素や出力がかなり粗目です。

10秒までアイソメ上下。

使用ツール

項目使用ツール備考
モデル化FreeCAD 0.21
メッシャーsalome 9.9.0
プリプロセッシングテキスト編集、OpenFoam
ソルバーOpenFoam
ポストプロセッシングParaView 5.11.0

モデル

形状

図はmmですが、計算ではmとなります。 outlet2は壁のこの計算では壁としています。

物性値

材質項目設定
空気動粘性係数1.48e-05 m2 /s
密度1  kg/m3
動粘性係数1e-06 m2 /s
密度1000 kg/m3
他の設定についてはモデルファイルを参照。

境界条件

上部が空いている条件にします。

他の部分は壁とします。

結果

作業

ジオメトリ

FreeCADで形状を作成します。

参考:
T131 モデリング
T131_2 モデリング

サンプルファイル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も壁相当にしてみた場合です。
液体が上面に張り付きます。

計算ができなくなったので0.4秒ほどで打ち切り。

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;
    }
}

コメント

Translate »
タイトルとURLをコピーしました