013_HeatTransMultilayer.mw

層状の壁での熱伝導

イントロダクション

このワークシートでは、層状の壁での熱伝導を計算します。

[Inserted Image]

> restart;

問題の定義

冷凍倉庫の外壁はおおよそ 0.5m の層の普通サイズレンガと 0.1m の層のロックウール絶縁材、0.05m の層の石こう漆喰からなります。外部の周囲の流体温度 T[outside] は 25℃で、内部の周囲の流体温度 T[inside] は -5℃です。外部の対流熱伝達率が alpha[outside] で、内部の対流熱伝達率は alpha[inside] です。このワークシートでは、単位面積あたりの熱の損失は層の温度から見つけらるために、壁の温度分布を可視化します。

解決法

内部の熱の流れについて考えます:

> Q_inside := alpha[inside]*A*(T[inside]-T[1]);

Q_inside := alpha[inside]*A*(T[inside]-T[1])

壁の熱の流れは以下のように記述されます:

> Q_i := lambda[i]*A*(T[i]-T[i+1])/d[i];

Q_i := lambda[i]*A*(T[i]-T[i+1])/d[i]

外からの熱の流れは以下になります:

> Q_outside := alpha[outside]*A*(T[4]-T[outside]);

Q_outside := alpha[outside]*A*(T[4]-T[outside])

従って、複数層の壁からの熱の流れは以下の式で与えられます:

> eq := (T[inside]-T[outside])/((1/(alpha[inside]*A))+(sum(d[i]/(lambda[i]*A),i=1..n))+(1/(alpha[outside]*A)));

eq := (T[inside]-T[outside])/(1/(alpha[inside]*A)+(sum(d[i]/(lambda[i]*A), i = 1 .. n))+1/(alpha[outside]*A))

問題のパラメーターの定義

m の3層の熱伝導率は lambda に、層の太さは d に定義します。また、内部の温度、外部の温度、内部の対流熱伝達率、外部の対流熱伝達率を定義します。

> lambda := [1, 0.04, 0.75]:
d := [0.05, 0.1, 0.5]:
T[inside] := -5:
T[outside] := 25:
alpha[inside] := 7:
alpha[outside] := 20:
A := 1:
n := 3:

熱の流れと温度の計算

対流による多層の壁を通る単位面積 A あたりの熱の流れは、qに割り当てられます:

> q := eq;

q := -8.798882680

一次方程式にこれを代入し、内側の層の表面温度を計算します。(単位:℃)

> T[1] := solve(Q_inside=q, T[1]);

T[1] := -3.743016760

二次方程式に計算された温度を再帰的に代入して、層の接続における外側の層の表面温度を計算します。(単位:℃)

> for i to n do
 T[i+1] := solve(Q_i = q, T[i+1]);
end do;

T[2] := -3.303072626

T[3] := 18.69413408

T[4] := 24.56005587

解の可視化

内外部の周囲の流体温度と同様に壁の温度分布をグラフ表示します。

> with(plottools): with(plots):

Warning, the name changecoords has been redefined

Warning, the previous binding of the name arrow has been removed and it now has an assigned value

> boundary:=[0]:
for i from 1 to n do boundary:=[op(boundary),boundary[i]+d[i]]: od:
 pl1:=plot([[0,T[inside]],[boundary[n+1],T[outside]]],
         style=point, symbol=circle, color=green):
 pl2:=plot([seq([boundary[i],T[i]],i=1..n+1)],style=line, thickness=2):
 pl3 := seq(line([boundary[i],-6], [boundary[i],26], color=blue, linestyle=3),i=1..n+1):
 pl4 := textplot([ seq([boundary[i]/2,10, convert(i-1,string)],
         i=2..n+1)], color=blue):
 plots[display](pl1,pl2,pl3,pl4,
         title="Temperature Distribution in Multilayered Wall",
         labels=[" Distance from Inner Wall [m]","Temp. [°C] "]);

[Plot]