$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です。
計算結果は以下の通りです。
またプレナム圧力のモデル化をせずに上流部も含めて全領域で計算した場合(チュートリアル「ヘルムホルツ共鳴」)との、サンプリング点 (-0.01, 0, 0) での圧力の比較は以下の様になります。
9.48秒 ※4並列、Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz