複数の固体・流体の間の熱伝達

OpenFOAM 4.x

ケース

$FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/multiRegionHeater

概要

上部領域には空気、下部領域には水が満たされた解析領域を考えます。上下の領域は固体領域で区切られています。固体領域底部には発熱体が設定されているとして系全体の温度、流れを0秒から100秒まで計算します。領域は以下の様な5つの部分領域から構成されます。

モデル形状(領域 heater) モデル形状(領域 heater)
モデル形状(領域 leftSolid) モデル形状(領域 leftSolid)
モデル形状(領域 rightSolid) モデル形状(領域 rightSolid)
モデル形状(領域 bottomWater) モデル形状(領域 bottomWater)
モデル形状(領域 topAir) モデル形状(領域 topAir)

領域 topAir では X 最小面から流速 0.1 m/s で空気が流入し、X最大面から流出するものとします。また領域 bottomWater では X 最小面から流速 0.001 m/s で水が流入し、X最大面から流出するものとします。

領域 heater の底面は温度 500 K で固定、それ以外の解析領域外との境界温度は 300 K としています。各部分領域間には熱伝導条件が設定されていますが、領域 heater と領域 leftSolid の間にのみ熱伝導率を持つ層を設定しています。これによって領域 heater と領域 leftSolid の間では熱が伝わりにくくなっています。

解析後、ユーティリティー paraFoam を使用して各部分領域用の .OpenFOAM ファイルを生成します。可視化する場合は ParaView 起動後、メニューの [File]-[Open] から各 .OpenFOAM ファイルを開いて可視化します。

部分領域を全て読み込んだ状態 部分領域を全て読み込んだ状態

メッシュは以下の通りで、全体のメッシュ数は3000です。

メッシュ(領域 heater) メッシュ(領域 heater)
メッシュ(領域 leftSolid) メッシュ(領域 leftSolid)
メッシュ(領域 rightSolid) メッシュ(領域 rightSolid)
メッシュ(領域 bottomWater) メッシュ(領域 bottomWater)
メッシュ(領域 topAir) メッシュ(領域 topAir)

計算結果は以下の通りです。

固体領域の温度(T) 固体領域の温度(T)
XY面での温度(T) XY面での温度(T)
空気側のXY面での流速(U) 空気側のXY面での流速(U)
水側のXY面での流速(U) 水側のXY面での流速(U)

実行コマンド

cp -r $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/multiRegionHeater multiRegionHeater
cd multiRegionHeater

blockMesh
topoSet
splitMeshRegions -cellZones -overwrite

rm -f 0*/heater/{nut,alphat,epsilon,k,U,p_rgh}
rm -f 0*/leftSolid/{nut,alphat,epsilon,k,U,p_rgh}
rm -f 0*/rightSolid/{nut,alphat,epsilon,k,U,p_rgh}

changeDictionary -region bottomWater
changeDictionary -region topAir
changeDictionary -region heater
changeDictionary -region leftSolid
changeDictionary -region rightSolid

decomposePar -allRegions
mpirun -np 4 chtMultiRegionFoam -parallel
reconstructPar -allRegions

paraFoam -touchAll
paraFoam

paraFoam コマンドで ParaView が起動した後、メニューの [File]-[Open] から各 .OpenFOAM ファイルを開く必要があります。

計算時間

1分10.38秒 ※4並列、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz

参照