
まくまく
OpenFoamを使って流体解析をしよう!今回はinterFoamの使い方を学ぶため公式チュートリアルのoscillatingBoxを実行してみようと思います。
oscillatingBoxをコピー
cp -r $FOAM_TUTORIALS/multiphase/interFoam/laminar/oscillatingBox
チュートリアルをコピーします。interFoamのlaminarフォルダの中になります。
実行
Allrunで実行すると、ボックス内の流体が揺らされている様子が確認できます。
メッシュが動いているのが面白いですね。形状はボックス形状です。
各ファイルを少し見てみましょう。
defaultFieldValues
(
volScalarFieldValue alpha.water 0
);
regions
(
boxToCell
{
box (0 0 0) (1.0 0.2 1.0);
fieldValues
(
volScalarFieldValue alpha.water 1
);
}
);
setFieldsで初期状態を設定します。boxToCellで高さ0.2mの範囲に水を満たします。
phases (water air);
water
{
transportModel Newtonian;
nu 1e-06;
rho 1000;
}
air
{
transportModel Newtonian;
nu 1.48e-05;
rho 1;
}
sigma 0.07;
transportPropertiesで物性値を設定。一般的な空気と水の設定になっています。
dynamicFvMesh dynamicRefineFvMesh;
solvers
{
VF
{
motionSolverLibs (fvMotionSolvers);
motionSolver solidBody;
solidBodyMotionFunction oscillatingLinearMotion;
amplitude (0.1 0 0);
omega #eval "2*pi()";
}
}
dynamicMeshDictではメッシュの動的変形を設定したり、振幅や周波数もここで設定できそうです。
X方向の動作量を倍にして、さらにY方向も動かすようにしてみました。