传热学上机C程序源答案之二维非稳态导热的数值计算Word下载.docx
- 文档编号:13076275
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:4
- 大小:111.47KB
传热学上机C程序源答案之二维非稳态导热的数值计算Word下载.docx
《传热学上机C程序源答案之二维非稳态导热的数值计算Word下载.docx》由会员分享,可在线阅读,更多相关《传热学上机C程序源答案之二维非稳态导热的数值计算Word下载.docx(4页珍藏版)》请在冰豆网上搜索。
2.3.1区域离散
区域离散x方向总节点数为N,y方向总节点数为M,区域内任一节点用I,j表示。
2.3.2方程的离散
对于图中所有的内部节点方程可写为:
用I,j节点的二阶中心差分代替上式中的二阶导数,得:
上式整理成迭代形式:
(i=2,3……,N-1),(j=2,3……,M-1)
补充四个边界上的第一类边界条件得:
(j=1,2,3……,M)
(j=1,2,3……,M)
(i=1,2,3……,N)
(i=1,2,3……,N)
传热学C程序源之二维稳态导热的数值计算
#include<
stdio.h>
math.h>
#defineN10
#defineM10
main()
{
chars;
inti,j,l;
floatcha,x,y;
floatt[N][M],a[N][M];
/*打印出题目*/
printf("
\t\t\t二维稳态导热问题\t\t"
);
\n\t\t\t\t\t\t----何鹏举\n"
\n题目:
补充材料练习题二\n"
\n矩形区域,边长L=W=1,假设区域内无内热源,导热系数为常熟,三个边温度为T1=0,一个边温度为T2=1,求该矩形区域内的温度分布。
\n"
\n是否要手动对温度场赋予初值?
(Y/N):
"
scanf("
%c"
&
s);
if(s=='
y'
||s=='
Y'
)
/*手动赋予温度初场*/
printf("
\n请首先假定一个温度场的初始分布,即给出各节点的温度初值(一行一行进行):
for(i=0;
i<
N;
i++)
for(j=0;
j<
M;
j++)
scanf("
%f"
t[i][j]);
}
else
/*自动赋予温度初场*/
for(i=0;
for(j=0;
t[i][j]=0.5;
/*四个边界上的第一类边界条件*/
t[0][j]=0;
t[M-1][j]=0;
t[i][0]=0;
t[i][N-1]=1;
/*步长计算*/
x=1.0/(N-1);
y=1.0/(M-1);
/*迭代循环*/
cha=1;
while(cha>
0.0001)
a[i][j]=t[i][j];
for(i=1;
N-1;
for(j=1;
M-1;
t[i][j]=0.5*y*y*(t[i+1][j]+t[i-1][j])/(x*x+y*y)+0.5*x*x*(t[i][j+1]+t[i][j-1])/(x*x+y*y);
cha=0;
cha=cha+abs(a[i][j]-t[i][j]);
cha=cha/(N*M);
/*输出温度分布,其中l控制输出值的排列;
这个结果是按照笛卡尔坐标系下平面从左上角开始依次的*/
\n经数值离散计算的该矩形区域内温度分布为:
l=0;
for(j=M-1;
j>
=0;
j--)
%4.3f"
t[i][j]);
l=l+1;
if(l==N)
/*为了是生成的exe文件结果算的后不会立即退出,方便观看*/
getchar();
/*其中第一个getchar读取了回车键,第二个getchar读取任意键*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传热学 上机 程序 答案 二维 稳态 导热 数值 计算