013_HeatTransMultilayer.mw

イントロダクション

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

 > restart;

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

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

 > 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)));

m の3層の熱伝導率は に、層の太さは 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:

 > q := eq;

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

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

 > 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] "]);