预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
相变传热与流体流动数值分析
作业2
学院(系):能源与动力学院
专业:能源与环境工程
学生姓名:
学号:
指导教师:
完成日期:
大连理工大学
DalianUniversityofTechnology
Finitevolumemethodfortwo-dimensionaldiffusionproblem(SolutedwithADIandTDMA)
Subject:
TheplatesizeareL=1m,H=1m,andtheheattransfercoefficientkequals1000w/m/k.
Solution:
//王佳琪-作业.cpp:定义控制台应用程序的入口点。
//
#include<stdafx.h>
#include<iostream>
#include<math.h>
#include<stdlib.h>
#defineN5
#defineM5
#definepi3.1415926
#defineA10.1
#defineA20.1
usingnamespacestd;
doubleT[N][M],an[N][M],as[N][M],aw[N][M],ae[N][M],b[N][M],f1[N][M];
/*------定义追赶法数组,fromsouthtonorth------*/
voidtdma1(doublef2[N][M],intp)
{inti;
doubley[N][M],l[N][M],u[N][M];
for(i=N-2;i>=0;i--)
{
u[N-1][p]=b[N-1][p];
l[N-1][p]=0;
l[i][p]=as[i][p]/u[i+1][p];
u[i][p]=b[i][p]-l[i][p]*an[i+1][p];
}
y[N-1][p]=f2[N-1][p];
for(i=N-2;i>=0;i--)
y[i][p]=f2[i][p]-l[i][p]*y[i+1][p];
T[0][p]=y[0][p]/u[0][p];
for(i=1;i<N;i++)
T[i][p]=(y[i][p]-an[i][p]*T[i-1][p])/u[i][p];
}
/*-------定义追赶法数组,fromwesttoeast-------*/
voidtdma2(doublef2[N][M],intp)
{intj;
doubley[N][M],l[N][M],u[N][M];
for(j=1;j<M;j++)
{
u[p][0]=b[p][0];
l[p][0]=0;
l[p][j]=aw[p][j]/u[p][j-1];
u[p][j]=b[p][j]-l[p][j]*ae[p][j-1];
}
y[p][0]=f2[p][0];
for(j=1;j<M;j++)
y[p][j]=f2[p][j]-l[p][j]*y[p][j-1];
T[p][N-1]=y[p][N-1]/u[p][N-1];
for(j=M-2;j>=0;j--)
T[p][j]=(y[p][j]-ae[p][j]*T[p][j+1])/u[p][j];
}
voidmain()
{doubleSp[N][M],f2[N][M],k,x,y,H,L,Tn[M],Ts,Tw,Te;
inti,j,h;
/*--------------边界条件-------------*/
k=1000;H=1;L=1;y=H/N;x=L/M;
Ts=0;Tw=0;Te=0;
for(j=0;j<M;j++)
{
Tn[j]=100*sin((2*j+1)*pi/(2*M));
cout<<"Tn["<<j<<"]="<<Tn[j];
}
/*------离散追赶法函数系数------*/
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{
T[i][j]=0;
{if(i==0)an[i][j]=0;elsean[i][j]=-k*A1/y;}
{if(i==N-1)as[i][j]=0;elseas[i][j]=-k*A1/y;}
{if(j==0)aw[i][j]=0;elseaw[i][j]=-k*A2/x;}
{if(j==M-1)ae[i][j]=0;elseae[i][j]=-k*A2/x;}
{if(i==0&&j==0)Sp[i][j]=-2*k*A1/y-2*k*A2/x;
elseif(i==N-1&&j==0)Sp[i][j]=-2*k*A1/y-2*k*A2/x;
elseif(i==0&&j==M-1)Sp[i][j]=-2*k*A1/y-2*k*A2/x;
e