二维数值传热学C++程序代码Word下载.docx

上传人:b****3 文档编号:6800911 上传时间:2023-05-07 格式:DOCX 页数:20 大小:17.61KB
下载 相关 举报
二维数值传热学C++程序代码Word下载.docx_第1页
第1页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第2页
第2页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第3页
第3页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第4页
第4页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第5页
第5页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第6页
第6页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第7页
第7页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第8页
第8页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第9页
第9页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第10页
第10页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第11页
第11页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第12页
第12页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第13页
第13页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第14页
第14页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第15页
第15页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第16页
第16页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第17页
第17页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第18页
第18页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第19页
第19页 / 共20页
二维数值传热学C++程序代码Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

二维数值传热学C++程序代码Word下载.docx

《二维数值传热学C++程序代码Word下载.docx》由会员分享,可在线阅读,更多相关《二维数值传热学C++程序代码Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

二维数值传热学C++程序代码Word下载.docx

//材料比热容,J/(kg*K)

#defineCOND_COPPER400

#defineCOND_STEEL20

#defineCOND_CONCRETE1.63

//材料导热系数,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_CON3.2467

#defineCOND_COP_STL38.0952

#defineCOND_CON_STL3.0143

//不同材料的两个相邻结点,导热系数取调和平均数,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)

A.mNodeProperty[0][j]=air;

//第一行为空气边界,计算区域外

++j)

A.mNodeProperty[GRID_ROW-1][j]=adiabat;

//最后一行为绝热边界,计算区域外

for(inti=0;

i<

GRID_ROW;

++i)

if((i>

=0&

&

=40)||(i>

=61&

GRID_ROW))

A.mNodeProperty[i][0]=air;

else

A.mNodeProperty[i][0]=iso834;

//第一列的空气边界和ISO834边界,计算区域外

A.mNodeProperty[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))))

A.mNodeProperty[i][j]=concrete;

//混凝土区域

elseif((i-20)*(i-20)+(j-25)*(j-25)<

=20*20)

A.mNodeProperty[i][j]=air;

//圆孔空气区域

elseif(i>

=41&

=60&

=90&

((i-20)*(i-20)+(j-25)*(j-25)>

=20*20))

A.mNodeProperty[i][j]=copper;

//金属铜区域的一部分

+40&

=21&

=90)

//金属铜区域的另一部分

else

A.mNodeProperty[i][j]=steel;

//剩下的即为金属铁的区域

}

}

//属性设置函数,将Grid结构体A的所有网格赋予材料属性(枚举类型Property)

GRID_ROW;

for(intj=0;

GRID_COLUMN;

A.mNodeT[i][j]=INITL_TMPRT;

//温度初始化函数,将Grid结构体A的全部结点温度设置为初始温度INITL_TMPRT

doubleQE=0,QW=0,QN=0,QS=0;

//四个方向传来的热量

switch(A.mNodeProperty[i][j])

{

casecopper:

//i,j点为铜的时候

switch(A.mNodeProperty[i][j+1])//判断右侧属性,并计算QE

{

casecopper:

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_COPPER;

break;

caseair:

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*CONV*DY;

casesteel:

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_COP_STL;

caseconcrete:

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_COP_CON;

caseiso834:

QE=2*(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_COPPER;

caseadiabat:

QE=0;

default:

std:

:

cout<

<

"

"

<

j+1<

结点属性未指定\n"

;

getchar();

}

//std:

QE<

\n"

switch(A.mNodeProperty[i][j-1])//判断左侧属性,并计算QW

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_COPPER;

break;

caseair:

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*CONV*DY;

casesteel:

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_COP_STL;

caseconcrete:

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_COP_CON;

caseiso834:

QW=2*(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_COPPER;

caseadiabat:

QW=0;

default:

{std:

j-1<

getchar();

}

}

switch(A.mNodeProperty[i-1][j])//判断上侧属性,并计算QN

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_COPPER;

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*CONV*DX;

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_COP_STL;

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_COP_CON;

QN=2*(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_COPPER;

QN=0;

std:

i-1<

getchar();

switch(A.mNodeProperty[i+1][j])//判断下侧属性,并计算QS

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_COPPER;

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*CONV*DX;

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_COP_STL;

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_COP_CON;

QS=2*(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_COPPER;

QS=0;

i+1<

}break;

//i,j点为铁的时候

{switch(A.mNodeProperty[i][j+1])//判断右侧属性,并计算QE

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_COP_STL;

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*CONV*DY;

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_STEEL;

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_CON_STL;

QE=2*(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_STEEL;

QE=0;

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_STEEL;

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_CON_STL;

QW=2*(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_STEEL;

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_STEEL;

QN=(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_CON_STL;

QN=2*(A.mNodeT[i-1][j]-A.mNodeT[i][j])*COND_STEEL;

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_STEEL;

QS=(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_CON_STL;

QS=2*(A.mNodeT[i+1][j]-A.mNodeT[i][j])*COND_STEEL;

//i,j点为砼的时候

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_CON_STL;

QE=(A.mNodeT[i][j+1]-A.mNodeT[i][j])*COND_CONCRETE;

QW=(A.mNodeT[i][j-1]-A.mNodeT[i][j])*COND_CONCRETE;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2