1、一、任务分析 阅读4-21题干,确定本题可视为无限大平板非稳态传热问题解决。根据教材4.4关于非稳态传热数值解法的内容,将墙壁剖面划分为(N-1)个部分,共有N个节点。将内壁侧视为左边界(left),外壁侧视作右边界(right),建立方程如下:对于内壁边界节点,即n=0处:对于外壁边界节点,即n=N处:对于中间的节点,即0nN处:其中, ,因内壁外壁的h值不同,故加上lr脚标加以区分。 、分别为室内室外空气温度。二、编程实践结合上述方程和C+的相关知识,决定将计算温度值存储在一个二维数组中,编译程序代码如下,其中,n代表空间节点序号,k代表时间节点序号。#include #include u
2、sing namespace std;const int n=3;const int k=24;double dt=3600;/时间步长double dr=0.24/(n-1);/空间步长double Fo=0.81/1800/880*dt/dr/dr;double Bil=6*dr/0.81;double Bir=10*dr/0.81;int tl=15;/内壁边界条件double tr24=-5.9,-6.2,-6.6,-6.7,-6.8,-6.9,-7.2,-7.7,-7.6,-7,-4.9,-2.3,-1,-2.4,1.8,1.8,1.6,0.5,-1.6,-2.8,-3.5,-4.3
3、,-4.8,-5.3;/外壁边界条件void heat(double ank) for (int j=0;jk;j+) for (int i=0;in;i+) if (j=0) if(i=0) a00=a023*(1-Fo*Bil-2*Fo)+2*Fo*a123+2*Fo*Bil*tl; else if(in-1) ai0=Fo*(ai+123+ai-123)+(1-2*Fo)*ai23; else an-10=an-123*(1-2*Fo*Bir-2*Fo)+2*Fo*an-223+2*Fo*Bir*tr0; coutaij ;else if(i=0) a0j=a0j-1*(1-Fo*Bil
4、-2*Fo)+2*Fo*a1j-1+2*Fo*Bil*tl; else if(in-1) aij=Fo*(ai+1j-1+ai-1j-1)+(1-2*Fo)*aij-1; else an-1j=an-1j-1*(1-2*Fo*Bir-2*Fo)+2*Fo*an-2j-1+2*Fo*Bir*trj; coutaij ;coutendl; int main()double tnk;for (int i=0;in;i+) for (int j=0;jk;j+) tij=5; /初始温度bool select=true;char x;while(select=true)heat(t); coutend
5、l; coutx; if (x=Y) select=true; else select =false; coutendl; return 0;将n值定为5,发现结果发散。定为4则无法取到要求的墙壁中心处温度,故最终将n定为3。运行程序后界面如下:三、计算结果将初始温度定为5(随后改变初始温度发现最终结果不变),计算8次后得到稳定值如下:时刻/h内壁温度/墙壁中心处温度/外壁温度/014.94548.05337-0.003344434114.8947.90447-0.290607214.82357.75035-0.585195314.73567.58896-0.770161414.64557.4
6、3447-0.916915514.54667.28868-1.04794614.44697.15078-1.24674714.34887.00998-1.54407814.2516.85463-1.65087914.14956.71283-1.502351014.04936.61331-0.6888671113.96066.630410.5678881213.90916.792471.524071313.9187.028751.384711413.9847.187942.98511514.06647.519463.610791614.20317.856743.84851714.37568.15
7、5653.604961814.56078.369042.796911914.73218.448252.101562014.86048.440221.602492114.93938.386841.114982214.97548.294870.73337412314.97478.18230.381477作出图线如下:五、心得体会通过这次数值计算大作业,通过使用C+我了解到了电脑编程语言编写程序解决实际问题的便捷性,这是之前在单纯学习C+理论,而不是解决实际问题中不能体会到的。同时也对传热问题的复杂性有了一定程度的认识,传热问题并不都是平时做作业那样的理想化模型情况的,实际中的问题要更为复杂。就这次数值计算作业来说,也是比较简单的,在传热学方面我还有很多需要学习的知识。