境界条件設定
air(気体)領域の境界条件設定
0/air/U
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
dimensions [ 0 1 -1 0 0 0 0 ]; internalField uniform ( 0 -0.5 0 ); boundaryField { XMin { type noSlip; value uniform ( 0.01 0 0 ); } YMin { type pressureInletOutletVelocity; value $internalField; } ZMax { type noSlip; value uniform ( 0.01 0 0 ); } YMax { type fixedValue; value $internalField; } ZMin { type noSlip; value uniform ( 0.01 0 0 ); } XMax { type noSlip; value uniform ( 0.01 0 0 ); } air_to_heatsink { type fixedValue; value uniform ( 0 0 0 ); } } |
type noSlip
の下にvalue uniform ( 0.01 0 0 );
が書かれていますが、計算に使われていないので無視して良いでしょう。
0/air/T
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
dimensions [ 0 0 0 1 0 0 0 ]; internalField uniform 293.15; boundaryField { XMin { type zeroGradient; value uniform 293.15; } YMin { type zeroGradient; value uniform 293.15; } ZMax { type zeroGradient; value uniform 293.15; } YMax { type fixedValue; value uniform 293.15; } ZMin { type zeroGradient; value uniform 293.15; } XMax { type zeroGradient; value uniform 293.15; } air_to_heatsink { type compressible::turbulentTemperatureRadCoupledMixed; value uniform 293.15; Tnbr T; kappaMethod fluidThermo; } } |
0/air/p_rgh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
dimensions [ 1 -1 -2 0 0 0 0 ]; internalField uniform 100000; boundaryField { XMin { type fixedFluxPressure; value uniform 100000; } YMin { type totalPressure; value uniform 100000; p0 uniform 100000; } ZMax { type fixedFluxPressure; value uniform 100000; } YMax { type fixedFluxPressure; value uniform 100000; } ZMin { type fixedFluxPressure; value uniform 100000; } XMax { type fixedFluxPressure; value uniform 100000; } air_to_heatsink { type fixedFluxPressure; value uniform 100000; } } |
0/air/p
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
dimensions [ 1 -1 -2 0 0 0 0 ]; internalField uniform 100000; boundaryField { XMin { type calculated; value uniform 100000; } YMin { type calculated; value uniform 100000; } ZMax { type calculated; value uniform 100000; } YMax { type calculated; value uniform 100000; } ZMin { type calculated; value uniform 100000; } XMax { type calculated; value uniform 100000; } air_to_heatsink { type calculated; value uniform 100000; } } |
ここまでは乱流モデル有り無しに関わらず必須です。
乱流モデルを使用する場合(特に$k$-$\varepsilon$モデルの場合)は以下も必要となります。
0/air/k
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
dimensions [ 0 2 -2 0 0 0 0 ]; internalField uniform 0.1; boundaryField { XMin { type epsilonWallFunction; value uniform 0.01; } YMin { type inletOutlet; value uniform 1.35e-13; inletValue uniform 1.35e-05; } ZMax { type epsilonWallFunction; value uniform 0.01; } YMax { type turbulentIntensityKineticEnergyInlet; value $internalField; intensity 0.03; } ZMin { type epsilonWallFunction; value uniform 0.01; } XMax { type epsilonWallFunction; value uniform 0.01; } air_to_heatsink { type epsilonWallFunction; value uniform 0.01; } } |
0/air/epsilon
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
dimensions [ 0 2 -3 0 0 0 0 ]; internalField uniform 0.01; boundaryField { XMin { type epsilonWallFunction; value uniform 0.01; } YMin { type inletOutlet; value uniform 1.35e-13; inletValue uniform 1.35e-05; } ZMax { type epsilonWallFunction; value uniform 0.01; } YMax { type turbulentMixingLengthDissipationRateInlet; value $internalField; mixingLength 0.01; } ZMin { type epsilonWallFunction; value uniform 0.01; } XMax { type epsilonWallFunction; value uniform 0.01; } air_to_heatsink { type epsilonWallFunction; value uniform 0.01; } } |
0/air/nut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
dimensions [0 2 -1 0 0 0 0]; internalField uniform 0; boundaryField { XMin { type calculated; value uniform 0; } YMin { type calculated; value uniform 0; } ZMax { type calculated; value uniform 0; } YMax { type calculated; value uniform 0; } ZMin { type calculated; value uniform 0; } XMax { type calculated; value uniform 0; } air_to_heatsink { type calculated; value uniform 0; } } |
0/air/alphat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
dimensions [ 1 -1 -1 0 0 0 0 ]; internalField uniform 0; boundaryField { XMin { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } YMin { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } ZMax { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } YMax { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } ZMin { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } XMax { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } air_to_heatsink { type compressible::alphatWallFunction; value uniform 0; Prt 0.85; } } |
以上で気体領域は終了。
heatsink(固体)領域の境界条件設定
固体領域で必要なのは温度Tと圧力pのみです。
0/heatsink/T
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
dimensions [ 0 0 0 1 0 0 0 ]; internalField uniform 293.15; boundaryField { heatSource { type externalWallHeatFluxTemperature; value $internalField; kappaMethod solidThermo; mode power; Ta $internalField; Q uniform 2000; kappaName none; } heatsink_to_air { type compressible::turbulentTemperatureRadCoupledMixed; value uniform 0; Tnbr T; kappaMethod solidThermo; } } |
ヒートシンクの底面を2000W与えている条件になります。
他にも熱流束を与えたり、熱伝達率を与える設定方法もあるのでexternalWallHeatFluxTemperatureを確認しましょう。
0/heatsink/p
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
dimensions [1 -1 -2 0 0 0 0]; internalField uniform 100000; boundaryField { heatSource { type calculated; value uniform 100000; } heatsink_to_air { type calculated; value uniform 0; } } |
以上で固体領域は終了。