现代冶金反应工程上机实验

 

仅供参考

《现代冶金反应工程学》

重庆大学 冶金工程系 上机实验

现代冶金反应工程上机实验

金属块表面温度升至800℃,试计算A并采用不同

#include<stdio.h>

#define M 81

#define N 101

int main()

{

二维非稳态导热问题\t\t");

printf("\n\t\t\t\t\t\t-----欧阳冲 20142873\n");

printf("请先假定温度场初始温度:");

scanf("%d",&T0);

printf("请输入边界温度,上,下,左,右:");

scanf("%d,%d,%d,%d,%d",&T1,&T2,&T3,&T4);

for(i=0;i<M;i++)

for(j=0;j<N;j++)

(1)

仅供参考

{A[i][j]=T0;

B[i][j]=T0;

}

for(i=0;i<M;i++)

{A[i][0]=T3;

A[i][N-1]=T4;

B[i][0]=T3;

B[i][N-1]=T4;

}

for(i=0;i<N;i++)

{A[0][i]=T1;

A[M-1][i]=T2;

B[0][i]=T1;

}

x1=1.0/(N-1);

ap=7800*500*x1*y1/t1; an=40*x1/y1; as=40*x1/y1; ae=40*y1/x1; aw=40*y1/x1;if(ap-an-as-ae-aw>=0)

{

while(t<1200)

仅供参考

{for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

B[i][j]=(an*A[i+1][j]+as*A[i-1][j]+aw*A[i][j-1]+ae*A[i][j+1]+(ap-an-as-ae-aw)*A[i][j])/ap;

k=k+1;

t=k*t1;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

A[i][j]=B[i][j];

}

printf("20分钟后A点温度为%lf℃

}

else

");

return 0;

}

仅供参考

(2)若令上下表面温度为1000到稳定状态,并求此时A点的温度

#include<stdio.h>

#define M 81

#define N 101

int main()

{//t1代表时间间隔

y=(N-1)/2;

printf("\t\t\t 二维非稳态导热问题\t\t");

printf("\n\t\t\t\t\t\t-----欧阳冲 20142873\n");

printf("请先假定温度场初始温度:");

scanf("%d",&T0);

printf("请输入边界温度,上,下,左,右:");

scanf("%d,%d,%d,%d,%d",&T1,&T2,&T3,&T4);

for(i=0;i<M;i++)

现代冶金反应工程上机实验

仅供参考

for(j=0;j<N;j++)

{A[i][j]=20;

B[i][j]=20;

}

for(i=0;i<M;i++)

{A[i][0]=T3;

A[i][N-1]=T4;

B[i][0]=T3;

B[i][N-1]=T4;

}

for(i=0;i<N;i++)

{A[0][i]=T1;

A[M-1][i]=T2;

}

y1=0.8/(M-1);

ap=7800*500*x1*y1/t1; an=40*x1/y1; as=40*x1/y1; aw=40*y1/x1; ae=40*y1/x1;if(ap-an-as-ae-aw>=0)

{

现代冶金反应工程上机实验.doc下载

仅供参考

while(m)

{ for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

B[i][j]=(an*A[i+1][j]+as*A[i-1][j]+aw*A[i][j-1]+ae*A[i][j+1]+(ap-an-as-aw-ae)*A[i][j])/ap;k=k+1;

t=k*t1;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

{ if( B[i][j]-A[i][j]>0.0001)

{ m=1;

i=M;

j=N;

}

else

m=0;

}

for(i=0;i<M;i++)

for(j=0;j<N;j++)

A[i][j]=B[i][j];

}

printf("t=%dA点温度为\n",t,A[x][y]);

}

else

printf("

}

仅供参考

第二次上机;

题目同前,边界条件与第2问相同1000°C, 左右表面温度为400°C ,A

高斯赛德尔迭代:

#include<stdio.h>

#include<math.h>

#define M 81

#define N 101

int main()

{ for(i=0;i<M;i++)

for(j=0;j<N;j++)

{

A[i][j]=20;

B[i][j]=800;

}

for(i=0;i<M;i++)

{

A[i][0]=400;

现代冶金反应工程上机实验

A[i][N-1]=400;

仅供参考

B[i][0]=400;

B[i][N-1]=400;

}

for(i=0;i<N;i++)

{

A[0][i]=1000;

A[M-1][i]=1000;

B[0][i]=1000;

B[M-1][i]=1000;

}

x1=1.0/(N-1);

y1=0.8/(M-1);

a1=x1/y1;

a2=x1/y1;

a3=y1/x1;

a4=y1/x1;

a5=2*(x1/y1+y1/x1);

do

{ count=(M-2)*(N-2);

for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

{

用迭代法求解隐式方程

求绝对值

{

} k++; //每次将最新值代入方程 count--; }

迭代%d次后中心

为 }while(count!=(M-2)*(N-2));

} A点温度为%lf,误差

仅供参考

超松弛迭代:

#include<stdio.h>

#include<math.h>

#define M 81

#define N 101

int main()

{ int i,j,count,k=0;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

{

B[i][j]=800;

for(i=0;i<M;i++)

{

A[i][0]=400;

A[i][N-1]=400;

B[i][0]=400;

B[i][N-1]=400;

}

for(i=0;i<N;i++)

{

现代冶金反应工程上机实验

A[0][i]=1000;

仅供参考

A[M-1][i]=1000;

B[0][i]=1000;

B[M-1][i]=1000;

}

x1=1.0/(N-1);

y1=0.8/(M-1);

a1=x1/y1;

a2=x1/y1;

a3=y1/x1;

a4=y1/x1;

a5=2*(x1/y1+y1/x1);

do

{ count=(M-2)*(N-2);

for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

{

式方程

if(fabs((A[i][j]-B[i][j]))>0.00001)//fabs {

//

count--;

}

}

k++;

printf("迭代次后中A点温度为%lf,误差为 }

仅供参考

欠松弛迭代:

#include<stdio.h>

#include<math.h>

#define M 81

#define N 101

int main()

{ int i,j,count,k=0;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

{

B[i][j]=800;

for(i=0;i<M;i++)

{

A[i][0]=400;

A[i][N-1]=400;

B[i][0]=400;

B[i][N-1]=400;

}

for(i=0;i<N;i++)

{

现代冶金反应工程上机实验

A[0][i]=1000;

第11 / 15页

仅供参考

A[M-1][i]=1000;

B[0][i]=1000;

B[M-1][i]=1000;

}

x1=1.0/(N-1);

y1=0.8/(M-1);

a1=x1/y1;

a2=x1/y1;

a3=y1/x1;

a4=y1/x1;

a5=2*(x1/y1+y1/x1);

do

{ count=(M-2)*(N-2);

for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

{

式方程

if(fabs((A[i][j]-B[i][j]))>0.00001)//fabs {

//

count--;

}

}

k++;

printf("迭代次后中A点温度为%lf,误差为 }

仅供参考

雅克比迭代:

#include<stdio.h>

#include<math.h>

#define M 81

#define N 101

int main()

{ int i,j,count,k=0;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

{

B[i][j]=800;

for(i=0;i<M;i++)

{

A[i][0]=400;

A[i][N-1]=400;

B[i][0]=400;

B[i][N-1]=400;

}

for(i=0;i<N;i++)

{

现代冶金反应工程上机实验

A[0][i]=1000;

仅供参考

A[M-1][i]=1000;

B[0][i]=1000;

B[M-1][i]=1000;

}

x1=1.0/(N-1);

y1=0.8/(M-1);

a1=x1/y1;

a2=x1/y1;

a3=y1/x1;

a4=y1/x1;

a5=2*(x1/y1+y1/x1);

do

{

count=(M-2)*(N-2);

for(i=1;i<M-1;i++)

for(j=1;j<N-1;j++)

{

用迭代法求解隐式方程

}

k++;

printf("迭代%d次中心点温度为%lf,误差为

for(i=1;i<M-1;i++)

{

求绝对值

{// 将最新值成批代入方程

count--;

}

}

}while(count!=(M-2)*(N-2));

}

仅供参考

现代冶金反应工程上机实验

第15 / 15页

久久建筑网m.kkreddy.com提供大量:建筑图纸、施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。


TOP最近更新内容

    郭硕鸿 电动力学 系统防雷方案 宋鸿兵语录 语言学概论笔记 ANSYS工程结构数值分析命令查询表 梁凯恩 ——《福布斯导师商学院》精华 PS技术 在学校里 学三年 也学不到这么多x 建筑装饰装修工程施工质量验收规范(GB5021 DLT 1080.4-2010 电力企业应用集成 配电管 富士康科技公司基础IE培训--现场改善.ppt 德隆的资本运作与行业整合 2013 3月二级c无纸化题库 刑法的二十个钻石考点 【阮齐林】 南京理工大学考研计算机复试上机题目 山东省威海市2011届高三模拟考试(数学文)