二维数值传热学C程序代码Word格式文档下载.docx
- 文档编号:21453769
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:17
- 大小:17.54KB
二维数值传热学C程序代码Word格式文档下载.docx
《二维数值传热学C程序代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《二维数值传热学C程序代码Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
#defineCOND_STEEL20
#defineCOND_CONCRETE
//材料导热系数,W/(m*K)
#defineCONV5
//空气与各种材料的对流换热系数,W/(m^2*K)
#defineINITL_TMPRT298
//初始温度,K
#defineT_C2K(x)((x)+273)//CtoK
#defineT_K2C(x)((x)-273)//KtoC
//摄氏温度与绝对温度相互转换
#defineT_AIR298;
//空气温度,K
#definet_END3600
//计算时长,s
#definet_STEP1
//时间步长,s
#defineCOND_COP_CON
#defineCOND_COP_STL
#defineCOND_CON_STL
//不同材料的两个相邻结点,导热系数取调和平均数,W/(m*K)
////////////////////////////////////////////////////////////////////////////////计算参数宏定义结束
enumProperty{copper,steel,concrete,iso834,adiabat,air};
//结点属性的枚举类型声明
structGrid
{
doublemNodeT[GRID_ROW][GRID_COLUMN];
//结点温度
PropertymNodeProperty[GRID_ROW][GRID_COLUMN];
//结点材料属性
doublemNodeC[GRID_ROW][GRID_COLUMN];
//结点比热容
doublemNodeDen[GRID_ROW][GRID_COLUMN];
//结点密度
};
//结构体Grid定义,此为计算的主要承载数据结构,将在计算中存储温度数据
//函数全局声明开始
voidSetProperty(Grid&
);
//属性设置函数
voidInitlTMPRT(Grid&
//温度初始化函数
voidSetNodePara(Grid&
//结点物性参数设置函数
voidCalculateTMPRT(Grid&
//温度计算函数,几乎全部数值计算的承担者
voidwrite(int,Grid&
//写文件函数,每隔100秒输出温度分布文件到当前目录
//函数全局说明结束
A)
for(intj=0;
j<
GRID_COLUMN;
++j)
[0][j]=air;
//第一行为空气边界,计算区域外
++j)
[GRID_ROW-1][j]=adiabat;
//最后一行为绝热边界,计算区域外
for(inti=0;
i<
GRID_ROW;
++i)
if((i>
=0&
&
=40)||(i>
=61&
GRID_ROW))
[i][0]=air;
else
[i][0]=iso834;
//第一列的空气边界和ISO834边界,计算区域外
[i][GRID_COLUMN-1]=air;
//最后一列,空气边界,计算区域外
for(inti=1;
GRID_ROW-1;
for(intj=1;
GRID_COLUMN-1;
{
=1&
=44&
j>
=20)||(i>
GRID_ROW-2&
=(100-(80-i)*(49/19))))
[i][j]=concrete;
//混凝土区域
elseif((i-20)*(i-20)+(j-25)*(j-25)<
=20*20)
[i][j]=air;
//圆孔空气区域
elseif(i>
=41&
=60&
=90&
((i-20)*(i-20)+(j-25)*(j-25)>
=20*20))
[i][j]=copper;
//金属铜区域的一部分
+40&
=21&
=90)
//金属铜区域的另一部分
else
[i][j]=steel;
//剩下的即为金属铁的区域
}
}
//属性设置函数,将Grid结构体A的所有网格赋予材料属性(枚举类型Property)
GRID_ROW;
for(intj=0;
GRID_COLUMN;
[i][j]=INITL_TMPRT;
//温度初始化函数,将Grid结构体A的全部结点温度设置为初始温度INITL_TMPRT
doubleQE=0,QW=0,QN=0,QS=0;
//四个方向传来的热量
switch[i][j])
{
case,j点为铜的时候
switch[i][j+1])//判断右侧属性,并计算QE
{
casecopper:
QE=[i][j+1]-[i][j])*COND_COPPER;
break;
caseair:
QE=[i][j+1]-[i][j])*CONV*DY;
casesteel:
QE=[i][j+1]-[i][j])*COND_COP_STL;
caseconcrete:
QE=[i][j+1]-[i][j])*COND_COP_CON;
caseiso834:
QE=2*[i][j+1]-[i][j])*COND_COPPER;
caseadiabat:
QE=0;
default:
std:
:
cout<
<
"
"
<
j+1<
结点属性未指定\n"
;
getchar();
}
//std:
QE<
\n"
switch[i][j-1])//判断左侧属性,并计算QW
casecopper:
QW=[i][j-1]-[i][j])*COND_COPPER;
break;
caseair:
QW=[i][j-1]-[i][j])*CONV*DY;
casesteel:
QW=[i][j-1]-[i][j])*COND_COP_STL;
caseconcrete:
QW=[i][j-1]-[i][j])*COND_COP_CON;
caseiso834:
QW=2*[i][j-1]-[i][j])*COND_COPPER;
caseadiabat:
QW=0;
default:
{std:
j-1<
getchar();
}
}
switch[i-1][j])//判断上侧属性,并计算QN
QN=[i-1][j]-[i][j])*COND_COPPER;
QN=[i-1][j]-[i][j])*CONV*DX;
QN=[i-1][j]-[i][j])*COND_COP_STL;
QN=[i-1][j]-[i][j])*COND_COP_CON;
QN=2*[i-1][j]-[i][j])*COND_COPPER;
QN=0;
std:
i-1<
getchar();
switch[i+1][j])//判断下侧属性,并计算QS
QS=[i+1][j]-[i][j])*COND_COPPER;
QS=[i+1][j]-[i][j])*CONV*DX;
QS=[i+1][j]-[i][j])*COND_COP_STL;
QS=[i+1][j]-[i][j])*COND_COP_CON;
QS=2*[i+1][j]-[i][j])*COND_COPPER;
QS=0;
i+1<
}break;
case,j点为铁的时候
{switch[i][j+1])//判断右侧属性,并计算QE
QE=[i][j+1]-[i][j])*COND_COP_STL;
QE=[i][j+1]-[i][j])*CONV*DY;
QE=[i][j+1]-[i][j])*COND_STEEL;
QE=[i][j+1]-[i][j])*COND_CON_STL;
QE=2*[i][j+1]-[i][j])*COND_STEEL;
QE=0;
QW=[i][j-1]-[i][j])*COND_STEEL;
QW=[i][j-1]-[i][j])*COND_CON_STL;
QW=2*[i][j-1]-[i][j])*COND_STEEL;
QN=[i-1][j]-[i][j])*COND_STEEL;
QN=[i-1][j]-[i][j])*COND_CON_STL;
QN=2*[i-1][j]-[i][j])*COND_STEEL;
QS=[i+1][j]-[i][j])*COND_STEEL;
QS=[i+1][j]-[i][j])*COND_CON_STL;
QS=2*[i+1][j]-[i][j])*COND_STEEL;
case,j点为砼的时候
QE=[i][j+1]-[i][j])*COND_CON_STL;
QE=[i][j+1]-[i][j])*COND_CONCRETE;
QW=[i][j-1]-[i][j])*COND_CONCRETE;
QN=[i-1][j]-[i][j])*COND_CONCRETE;
QS=[i+1][j]-[i][j])*COND_CONCRETE;
case,j点为空气的时候,温度不改变
{
[i][j]=T_AIR;
break;
[i][j]=(QE+QN+QS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 数值 传热学 程序代码