相变传热与流体流动数值分析作业3.docx

上传人:b****4 文档编号:24474372 上传时间:2023-05-27 格式:DOCX 页数:22 大小:412.99KB
下载 相关 举报
相变传热与流体流动数值分析作业3.docx_第1页
第1页 / 共22页
相变传热与流体流动数值分析作业3.docx_第2页
第2页 / 共22页
相变传热与流体流动数值分析作业3.docx_第3页
第3页 / 共22页
相变传热与流体流动数值分析作业3.docx_第4页
第4页 / 共22页
相变传热与流体流动数值分析作业3.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

相变传热与流体流动数值分析作业3.docx

《相变传热与流体流动数值分析作业3.docx》由会员分享,可在线阅读,更多相关《相变传热与流体流动数值分析作业3.docx(22页珍藏版)》请在冰豆网上搜索。

相变传热与流体流动数值分析作业3.docx

相变传热与流体流动数值分析作业3

 

相变传热与流体流动数值分析

作业3

学院(系):

能源与动力学院

专业:

能源与动力工程

********

学号:

********

指导教师:

宋永臣教授

完成日期:

2012.3.6

 

大连理工大学

DalianUniversityofTechnology

 

TheFiniteVolumeMethodforConvection-DiffusionProblems

Subject:

ApropertyΦistransportedbymeansofconvectionanddiffusionthroughtheone-dimensionaldomainsketchedinFigure1.Thegoverningequationis

;boundaryconditionsareΦ0=1atx=0andΦL=0atx=L.UsingfiveequallyspacedcellsforconvectionanddiffusioncalculatethedistributionofΦafunctionofxforcase:

(i)Case1:

u=0.1m/s;

(ii)Case2:

u=2.5m/s;

(iii)Case3:

u=2.5m/swith20gridnodes;

Thefollowingdataapply:

LengthL=1.0m,ρ=1.0kg/m3,Γ=0.1kg/m/s.

 

Solution:

(I)Thecentraldifferencingscheme:

//王佳琪-作业-中心差分.cpp:

定义控制台应用程序的入口点。

//

#include

#include

#include

#include

#include

#include

#include

#include

#include

#defineN5

usingnamespacestd;

inti;

doubleaw[N],b[N],ae[N],f[N],x[N];

/*-------追赶法求解数组-------*/

voidtdma()

{

doublel[N],u[N],y[N];

for(i=1;i

{

u[0]=b[0];l[0]=0;

l[i]=aw[i]/u[i-1];

u[i]=b[i]-l[i]*ae[i-1];

}

y[0]=f[0];

for(i=1;i

y[i]=f[i]-l[i]*y[i-1];

x[N-1]=y[N-1]/u[N-1];

for(i=N-2;i>=0;i--)

x[i]=(y[i]-ae[i]*x[i+1])/u[i];

}

voidmain()

{

voidOutput();

/*---------定义变量及边界条件---------*/

doubleF,D,u,ρ,Γ,x,L,φA,φB,Sp[N];

u=0.1;ρ=1;Γ=0.1;L=1;φA=1;φB=0;

x=L/N;F=ρ*u;D=Γ/x;

/*---------网格离散---------*/

for(i=0;i

{

if(i==0)

{

aw[i]=0;ae[i]=-(D-F/2);Sp[i]=-(2*D+F);f[i]=(2*D+F)*φA;

}

elseif(i==N-1)

{

ae[i]=0;aw[i]=-(D+F/2);Sp[i]=-(2*D-F);f[i]=(2*D-F)*φB;

}

else

{

aw[i]=-(D+F/2);ae[i]=-(D-F/2);Sp[i]=0;f[i]=0;

}

b[i]=-aw[i]-ae[i]-Sp[i];

}

tdma();

Output();

}

voidOutput()

{

/*---------后处理文件生成---------*/

ostringstreamname;

name.str("");

name<<"central_.plt";

ofstreamout(name.str().c_str());

out<<"Title=central"<

for(i=0;i

{

out<

}

}

Results:

(i)case1:

u=0.1m/s;N=5;

(ii)Case2:

u=2.5m/s;N=5;

(iii)case3:

u=2.5m/s;N=20;

Discussion:

Fromthefigure,wecanseetheagreementswiththeanalyticalsolutionareverygoodincase1andcase3.Whileincase2,becauseofthefinitegridwithahighspeed,thenumericalsolutionappearstooscillate,called‘wiggles’.Inoneword,thecentraldifferencingschemedoesn’tadapttothehighpecletnumber(F/D>2).

(II)Theupwinddifferencingscheme:

//王佳琪-作业3-迎风.cpp:

定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include

#include

#include

#include

#include

#include

#include

#include

#defineN5

usingnamespacestd;

inti;

doubleaw[N],b[N],ae[N],f[N],x[N];

/*-------追赶法求解数组-------*/

voidtdma()

{

doublel[N],u[N],y[N];

for(i=1;i

{

u[0]=b[0];l[0]=0;

l[i]=aw[i]/u[i-1];

u[i]=b[i]-l[i]*ae[i-1];}

y[0]=f[0];

for(i=1;i

y[i]=f[i]-l[i]*y[i-1];

x[N-1]=y[N-1]/u[N-1];

for(i=N-2;i>=0;i--)x[i]=(y[i]-ae[i]*x[i+1])/u[i];

}

voidmain()

{

voidOutput();

doubleFw1,Fw,Fe1,Fe,Dw,De,u,ρ,Γ,x,L,φA,φB,Sp[N];

u=0.1;ρ=1;Γ=0.1;L=1;φA=1;φB=0;

x=L/N;Fw=Fe=ρ*u;Dw=De=Γ/x;

Fw1=0>Fw?

0:

Fw;

Fe1=0>(-Fe)?

0:

(-Fe);

/*---------网格离散---------*/

for(i=0;i

{

if(i==0)

{aw[i]=0;ae[i]=-(De-Fe1);Sp[i]=-(2*Dw+Fw1);f[i]=(2*Dw+Fw1)*φA;}

elseif(i==N-1)

{aw[i]=-(Dw+Fw1);ae[i]=0;Sp[i]=-(2*De+Fe1);f[i]=(2*De-Fe1)*φB;}

else

{aw[i]=-(Dw+Fw1);ae[i]=-(De+Fe1);Sp[i]=0;f[i]=0;}

b[i]=-aw[i]-ae[i]-Sp[i];

}

tdma();

Output();

}

voidOutput()

{

ostringstreamname;

name.str("");

name<<"upwind.plt";

ofstreamout(name.str().c_str());

out<<"Title=upwind"<

for(i=0;i

out<

}

Results:

(i)case1:

u=0.1m/s;N=5;

(ii)Case2:

u=2.5m/s;N=5;

 

Discussion:

Theupwinddifferencingschemeproducesamuchmorerealisticsolutionthanthecentraldifferencingscheme,however,notveryclosetotheexactsolutionnearboundaryB.Thatisbecausethatitsaccuracyisonlyfirstorder,whilethecentraldifferencingissecondorder.

 

(III)Thehybriddifferencingscheme:

//王佳琪-作业-混合.cpp:

定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include

#include

#include

#include

#include

#include

#include

#include

#defineN5

usingnamespacestd;

inti;

doubleaw[N],b[N],ae[N],f[N],x[N];

/*-------追赶法求解数组-------*/

voidtdma()

{

doublel[N],u[N],y[N];

for(i=1;i

{

u[0]=b[0];l[0]=0;

l[i]=aw[i]/u[i-1];

u[i]=b[i]-l[i]*ae[i-1];}

y[0]=f[0];

for(i=1;i

y[i]=f[i]-l[i]*y[i-1];

x[N-1]=y[N-1]/u[N-1];

for(i=N-2;i>=0;i--)x[i]=(y[i]-ae[i]*x[i+1])/u[i];

}

voidmain()

{

voidOutput();

doubleFw1,Fw,Fe1,Fe,Dw,De,u,ρ,Γ,x,L,φA,φB,Sp[N];

u=2.5;ρ=1;Γ=0.1;L=1;φA=1;φB=0;

x=L/N;Fw=Fe=ρ*u;Dw=De=Γ/x;

if(Fw<0&&(Dw+Fw/2)<0)Fw1=0;

elseif(Fw<0&&(Dw+Fw/2)>0)Fw1=(Dw+Fw/2);

elseif(Fw>0&&(Dw+Fw/2)<0)Fw1=Fw;

elseif(0

elseif(0<(Dw+Fw/2)&&(Dw+Fw/2)

if((-Fe)<0&&(De-Fe/2)<0)Fe1=0;

elseif((-Fe)<0&&(De-Fe/2)>0)Fe1=(De-Fe/2);

elseif((-Fe)>0&&(De-Fe/2)<0)Fe1=(-Fe);

elseif(0<(-Fe)&&(-Fe)<(De-Fe/2))Fe1=(De-Fe/2);

elseif(0<(De-Fe/2)&&(De-Fe/2)<(-Fe))Fe1=(-Fe);

/*---------网格离散---------*/

for(i=0;i

{

if(i==0)

{aw[i]=0;ae[i]=-Fe1;Sp[i]=-(2*Dw+Fw1);f[i]=(2*Dw+Fw1)*φA;}

elseif(i==N-1)

{aw[i]=-Fw1;ae[i]=0;Sp[i]=-(2*De+Fe1);f[i]=(2*De-Fe1)*φB;}

else

{aw[i]=-Fw1;ae[i]=-Fe1;Sp[i]=0;f[i]=0;}

b[i]=-aw[i]-ae[i]-Sp[i];

}

tdma();

Output();

}

voidOutput()

{doublem=25;

ostringstreamname;

name.str("");

name<<"hybrid.plt";

ofstreamout(name.str().c_str());

out<<"Title=hybrid"<

for(i=0;i

out<

}

Results:

(i)Case1:

u=2.5m/s;N=5;

(ii)Case2:

u=2.5m/s;N=25;

Discussion:

Onacombinationofcentralandupwinddifferencingschemes,thehybridschemeprovidesamuchmorerealisticsolutionandagreestheexactsolutionverywell.Themorenodes,themoreaccuratetheresultis.

(IV)Thepower-lawscheme:

//王佳琪-作业-指数.cpp:

定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include

#include

#include

#include

#include

#include

#include

#include

#defineN5

usingnamespacestd;

inti;

doubleaw[N],b[N],ae[N],f[N],x[N];

/*-------追赶法求解数组-------*/

voidtdma()

{

doublel[N],u[N],y[N];

for(i=1;i

{

u[0]=b[0];l[0]=0;

l[i]=aw[i]/u[i-1];

u[i]=b[i]-l[i]*ae[i-1];}

y[0]=f[0];

for(i=1;i

y[i]=f[i]-l[i]*y[i-1];

x[N-1]=y[N-1]/u[N-1];

for(i=N-2;i>=0;i--)x[i]=(y[i]-ae[i]*x[i+1])/u[i];

}

voidmain()

{

voidOutput();

ofstreamnote;

doubleFw,Fw1,Fe,Fe1,Dw,De,u,ρ,Γ,x,L,φA,φB,Sp[N],p,p1,Pew,Pee,q,q1;

u=2.5;ρ=1;Γ=0.1;L=1;φA=1;φB=0;

x=L/N;

Fw=Fe=ρ*u;

Dw=De=Γ/x;

Pew=Fw/Dw;

Pee=Fe/De;

Fw1=0>Fw?

0:

Fw;

Fe1=0>(-Fe)?

0:

(-Fe);

p=pow((1-0.1*fabs(Pew)),5);

p1=0>p?

0:

p;

q=pow((1-0.1*fabs(Pee)),5);

q1=0>q?

0:

q;

/*---------网格离散---------*/

for(i=0;i

{

if(i==0)

{

aw[i]=0;ae[i]=-(Fe1+De*q1);Sp[i]=-(2*Dw+Fw1);f[i]=(2*Dw+Fw1)*φA;

}

elseif(i==N-1)

{

aw[i]=-(Fw1+Dw*p1);ae[i]=0;Sp[i]=-(2*De+Fe1);f[i]=(2*De-Fe1)*φB;

}

else

{

aw[i]=-(Fw1+Dw*p1);ae[i]=-(Fe1+De*q1);Sp[i]=0;f[i]=0;

}

b[i]=-aw[i]-ae[i]-Sp[i];

}

tdma();

Output();

}

voidOutput()

{doublem=25;

ostringstreamname;

name.str("");

name<<"power-law.plt";

ofstreamout(name.str().c_str());

out<<"power-low"<

for(i=0;i

{

out<

}

}

Result:

(i)Case1:

u=2.5m/s;N=5;

(ii)Case2:

u=2.5m/s;N=25;

Discussion:

Thisresultismoreaccuratethanthethreeformerschemes.

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

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1