千萬(wàn)建筑資料下載 →
僅供參考
《現(xiàn)代冶金反應(yīng)工程學(xué)》
重慶大學(xué) 冶金工程系 上機(jī)實(shí)驗(yàn)
金屬塊表面溫度升至800℃,試計(jì)算A并采用不同
#include<stdio.h>
#define M 81
#define N 101
int main()
{
二維非穩(wěn)態(tài)導(dǎo)熱問(wèn)題\t\t");
printf("\n\t\t\t\t\t\t-----歐陽(yáng)沖 20142873\n");
printf("請(qǐng)先假定溫度場(chǎng)初始溫度:");
scanf("%d",&T0);
printf("請(qǐng)輸入邊界溫度,上,下,左,右:");
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點(diǎn)溫度為%lf℃
}
else
");
return 0;
}
僅供參考
(2)若令上下表面溫度為1000到穩(wěn)定狀態(tài),并求此時(shí)A點(diǎn)的溫度
#include<stdio.h>
#define M 81
#define N 101
int main()
{//t1代表時(shí)間間隔
y=(N-1)/2;
printf("\t\t\t 二維非穩(wěn)態(tài)導(dǎo)熱問(wèn)題\t\t");
printf("\n\t\t\t\t\t\t-----歐陽(yáng)沖 20142873\n");
printf("請(qǐng)先假定溫度場(chǎng)初始溫度:");
scanf("%d",&T0);
printf("請(qǐng)輸入邊界溫度,上,下,左,右:");
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)
{
現(xiàn)代冶金反應(yīng)工程上機(jī)實(shí)驗(yàn).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點(diǎn)溫度為\n",t,A[x][y]);
}
else
printf("
}
僅供參考
第二次上機(jī);
題目同前,邊界條件與第2問(wèn)相同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++)
{
用迭代法求解隱式方程
求絕對(duì)值
{
} k++; //每次將最新值代入方程 count--; }
迭代%d次后中心
為 }while(count!=(M-2)*(N-2));
} A點(diǎn)溫度為%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點(diǎn)溫度為%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頁(yè)
僅供參考
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點(diǎn)溫度為%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次中心點(diǎn)溫度為%lf,誤差為
for(i=1;i<M-1;i++)
{
求絕對(duì)值
{// 將最新值成批代入方程
count--;
}
}
}while(count!=(M-2)*(N-2));
}
僅供參考
第15 / 15頁(yè)
久久建筑網(wǎng)i5h4u.cn提供大量:建筑圖紙、施工方案、工程書籍、建筑論文、合同表格、標(biāo)準(zhǔn)規(guī)范、CAD圖紙等內(nèi)容。