$FOAM_TUTORIALS/compressible/rhoPimpleFoam/laminar/helmholtzResonance
中央部が狭くなった流路に空気を流し、ヘルムホルツ共鳴によって圧力が振動する様子を計算します。
領域 plenum に境界条件タイプ「plenumPressure」を使用してモデル化し、流路が狭くなる前の上流部の計算を省略することで計算量を減らしています。流体は領域 outlet から流出します。領域 walls は流速ゼロの壁、領域 symmetry は対称境界とします。
モデル形状
境界条件タイプ「plenumPressure」はファイル modelled/0/p で以下のように設定します。境界条件タイプ「plenumPressure」を使用すると流入部のプレナム圧力を模擬することができます。
plenum
{
type plenumPressure;
gamma 1.4;
R 287.04;
supplyMassFlowRate 0.0001;
supplyTotalTemperature 300;
plenumVolume 0.000125;
plenumDensity 1.1613;
plenumTemperature 300;
inletAreaRatio 1.0;
inletDischargeCoefficient 0.8;
timeScale 1e-4;
value uniform 1e5;
}
またファイル modelled/system/controlDict で以下のように設定を行い、5ヶ所で圧力のサンプリングを行っています。サンプリング結果はファイル modelled/postProcessing/probes/0/p に保存されます。
functions
{
probes
{
libs ( "libsampling.so" );
type probes;
name probes;
writeControl timeStep;
writeInterval 1;
fields ( p );
probeLocations
(
( -0.045 0 0)
( -0.045 0.020 0)
( -0.010 0 0)
( 0.0125 0 0)
( 0.0125 0.020 0)
);
}
}
メッシュは以下の通りで、メッシュ数は13632です。
メッシュ
メッシュ(XY 断面)
計算結果は以下の通りです。
最終時刻での流速(U)
最終時刻での圧力(p)
サンプリング点 (-0.01, 0, 0) での圧力の時系列(p)
サンプリング点 (-0.01, 0, 0) の位置
またプレナム圧力のモデル化をせずに上流部も含めて全領域で計算した場合(チュートリアル「ヘルムホルツ共鳴」)との、サンプリング点 (-0.01, 0, 0) での圧力の比較は以下の様になります。
全領域計算(Resolved Plenum:マゼンタ)とモデル化計算(Modelled Plenum:シアン)の比較
9.48秒 ※4並列、Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz