【2017年整理】数值传热二维导热C程序

上传人:豆浆 文档编号:1051954 上传时间:2017-05-26 格式:DOC 页数:8 大小:91.50KB
返回 下载 相关 举报
【2017年整理】数值传热二维导热C程序_第1页
第1页 / 共8页
【2017年整理】数值传热二维导热C程序_第2页
第2页 / 共8页
【2017年整理】数值传热二维导热C程序_第3页
第3页 / 共8页
【2017年整理】数值传热二维导热C程序_第4页
第4页 / 共8页
【2017年整理】数值传热二维导热C程序_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《【2017年整理】数值传热二维导热C程序》由会员分享,可在线阅读,更多相关《【2017年整理】数值传热二维导热C程序(8页珍藏版)》请在金锄头文库上搜索。

1、问题:假定一个方形材料 100mm*100mm,四边分别为第一、第二、第三类边界条件,无内热源,导热系数为常数,分析该区域内的温度变化。2.求解过程热平衡法(1)区域离散化对正方形区域进行离散,将该区域划分成不同节点数的不重叠子区域。设置节点时采用内点法。(2)控制方程离散化依据题意,二维稳态无源项的纯导热问题的控制方程如式(1).(1)220Txy扩散项中心差分,如式(2) (3).(2).(3)将(2) 、 (3) 、 (4)式代入方程(1)可得到离散后的代数方程(5)21,1,22, ()()ijijjttdOxx,2,iijj yyy.(4)1,1,1,1220()()ijijijij

2、ijijttttxy因为采用正方形的网格,即xy ,且无内热源(q V0) ,则式(4 ) 简化为(3)边界条件处理均为第一类边界条件,依据题意,设定边界条件如下:x=0 时,t=800x=1 时,t=600 y=0 时,t=200y=1 时,t=100 4.结果1.第一类边界条件下的温度分布:输入四个边界温度分别为 800k 600k 200k 100k 2,边界为第二类边界时的结果边界条件:X=0,t=10yY=0,t=10xX=100,t=10y+10(M-1)Y=100,t=10x+10(N-1)3,边界为第一、第二类边界时:X=0,t=10yY=0,t=10xX=100,t=100Y

3、=100,t=2003.程序得出四边第一类边界条件下的长方形的温度分布#include#include #include,1,1,4ijijijijijttt#define M 10#define N 20void main()/*键盘输入边界条件 */float Tleft, Tright, Tdown, Ttop;printf(请输入长方形的四边温度条件 Tleft Tright Tdown Ttopn);scanf(%f%f%f%f,&Tleft,&Tright,&Tdown,&Ttop);/*二维计算区域离散 */float TMN;float TcopyMN;/定义迭代对比矩阵int

4、 i,j,k;/*边界条件设置*/for(i = 1;i #include #include#define M 11#define N 21void main()/*二维计算区域离散 */float Tleft, Tright, Tdown, Ttop;float TMN;float TcopyMN; /定义迭代对比矩阵int i,j,k;/*边界条件设置*/for(i = 1;i #include #include#define M 11#define N 21void main()/*二维计算区域离散 */float Tleft, Tright, Tdown, Ttop;float TMN

5、;float TcopyMN; /定义迭代对比矩阵int i,j,k;/*边界条件设置*/for(i = 1;i M-1;i+)Ti0 = Tcopyi0 = Tleft=10*i;TiN-1 = TcopyiN-1 = Tright=100;for(j = 0;j N;j+)T0j = Tcopy0j =Ttop=10*j;TM-1j = TcopyM-1j= Tdown=200;/*初始化*/for(i = 1;i M-1;i+)for(j = 1;j N-1;j+)Tij = Tcopyij = 0.25 * ( Tleft + Tright + Ttop + Tdown );/*迭代计

6、算*/float difMN;float max,temp;for(i = 0;i M;i+)for(j = 0;j N;j+)difij = 1.0;float e = 0.001; /设置迭代误差限;for(k=1;k 100;k+) / 设置最大迭代次数;for(i = 1;i M-1;i+) /完成一次迭代;for(j = 1;j N-1;j+)Tij = 0.25 * ( Ti-1j + Ti+1j + Tij-1 + Tij+1 );for(i = 1;i M-1;i+) /求相邻两迭代温度值的差值;for(j = 1;j N-1;j+)difij = fabs(Tij - Tcopyij);max = dif11;for(i = 1;i M-1;i+) /求相邻两迭代温度值的最大差值;for(j = 1;j N-1;j+)if(max difij)max = difij;if(max = e) break;for(i = 1;i M-1;i+)for(j = 1;j N-1;j+)Tcopyij = Tij;for(j = 0;j N;j+)for(i = 0;i M;i+)printf(%5.2f , Tij);if(i+1)%M=0) printf(n);system(pause);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号