数值传热学4
- 格式:pdf
- 大小:2.64 MB
- 文档页数:59
习题4-2图4-22 习题4-2插图[解]一维稳态导热问题的控制方程为:0=+⎪⎭⎫ ⎝⎛S dx dT dx d λ 4-2-1 该问题的边界条件为:()⎪⎩⎪⎨⎧=-=-==2,0,1001x T T h dx dT x T f λ 4-2-2分别对节点2,3进行离散,将已知数据代入离散格式中,得到方程组:130232=-T T 4-2-375432=+-T T 4-2-4 联立式(4-2-3)、式(4-2-4),可以解出2T ,3T : 852=T ,403=T 。
下面验证总体守恒性:4-2-5右端3放出的热量为:()()30020401533=-⨯=-=f T T h Q 4-2-6在总体容积内部产生的热量为:2.0150 2.0300S Q S x =⨯∆=⨯=还需要证明左端是绝热条件: 节点2的热平衡为:21851000.550.5150757501T T xS x λ--+∆=+⨯=-+=∆ 左端绝热,所以计算结果符合总体能量守恒。
习题 4-5[解] 根据习题4-2的分析,可以得到节点2的离散方程:130232+=T T 4-5-1对于节点3,应用边界条件:()()1324330.510f f T T S T T T T xλδ--+⨯=-- 4-5-2式(4-5-2)可以整理成:()5432355751020T T T =+-- 4-5-3采用局部线性化方法,可以得到:()()()()515***444333331020102012.520T T T T T -=-+-- 4-5-4节点3的离散方程表示成:()()()51**44323335575 2.52012.52020T T T T T =++---- 4-5-5迭代求解得出:2382.82;35.64T T == 检验热平衡:内热源生成热1300φ=; 右端散热5/4210(35.6420)311.0h T φ=∆=-=左端散热382.821000.5150510.91φ-=⨯+⨯=-所以123()30031110.90φφφ-+=-+≅不作热平衡扣0.5 分。
数值传热学4-9章习题答案习题4-2一维稳态导热问题的控制方程:022=+∂∂S xTλ 依据本题给定条件,对节点2节点3采用第三类边界条件具有二阶精度的差分格式,最后得到各节点的离散方程: 节点1: 1001=T节点2: 1505105321-=+-T T T 节点3:75432=+-T T求解结果:852=T ,403=T对整个控制容积作能量平衡,有:02150)4020(15)(3=⨯+-⨯=∆+-=∆+x S T T h x S q f f B即:计算区域总体守恒要求满足习题4-5在4-2习题中,如果25.03)(10f T T h -⨯=,则各节点离散方程如下:节点1: 1001=T节点2: 1505105321-=+-T T T节点3:25.03325.032)20(4015])20(21[-⨯+=-⨯++-T T T T对于节点3中的相关项作局部线性化处理,然后迭代计算; 求解结果:818.822=T ,635.353=T (迭代精度为10-4)迭代计算的Matlab 程序如下: x=30; x1=20;while abs(x1-x)>0.0001a=[1 0 0;5 -10 5;0 -1 1+2*(x-20)^(0.25)]; b=[100;-150; 15+40*(x-20)^(0.25)]; t=a^(-1)*b;x1=x;x=t(3,1);endtcal=t习题4-12的Matlab程序%代数方程形式A i T i=C i T i+1+B i T i-1+D imdim=10;%计算的节点数x=linspace(1,3,mdim);%生成A、C、B、T数据的基数;A=cos(x);%TDMA的主对角元素B=sin(x);%TDMA的下对角线元素C=cos(x)+exp(x); %TDMA的上对角线元素T=exp(x).*cos(x); %温度数据%由A、B、C构成TDMAcoematrix=eye(mdim,mdim);for n=1:mdimcoematrix(n,n)=A(1,n);if n>=2coematrix(n,n-1)=-1*B(1,n);endif n<mdimcoematrix(n,n+1)=-1*C(1,n);endend%计算D矢量D=(coematrix*T')';%由已知的A、B、C、D用TDMA方法求解T%消元P(1,1)=C(1,1)/A(1,1);Q(1,1)=D(1,1)/A(1,1);for n=2:mdimP(1,n)=C(1,n)/(A(1,n)-B(1,n)*P(1,n-1));Q(1,n)=(D(1,n)+B(1,n)*Q(1,n-1))/(A(1,n)-B(1,n)*P(1,n-1)); end%回迭Tcal(1,mdim)=Q(1,mdim);for n=(mdim-1):-1:1Tcal(1,n)=P(1,n)*Tcal(1,n+1)+Q(1,n);endTcom=[T;Tcal];%绘图比较给定T值和计算T值plot(Tcal,'r*')hold onplot(T)结果比较如下,由比较可知两者值非常切合(在小数点后8位之后才有区别):习题4-14充分发展区的温度控制方程如下:)(1rTr r r x T uc p ∂∂∂∂=∂∂λρ 对于三种无量纲定义w b w T T T T --=Θ、∞∞--=ΘT T T T w 、w w T T T T --=Θ∞进行分析如下1)由wb wT T T T --=Θ得:w w b T T T T +Θ-=)(由T 可得:x T x T x T T T x T w b w w b ∂∂Θ-+∂∂Θ=∂+Θ-∂=∂∂)1(])[(rT r T T r T T T r T w w b w w b ∂∂Θ-+∂Θ∂-=∂+Θ-∂=∂∂)1()(])[( 由b T 与r 无关、Θ与x 无关以及x T ∂∂、rT∂∂的表达式可知,除了w T 均匀的情况外,该无量纲温度定义在一般情况下是不能用分离变量法的; 2)由∞∞--=ΘT T T T w 得: ∞∞+Θ-=T T T T w )(由T 可得:xT x T T T x T w w ∂∂Θ=∂+Θ-∂=∂∂∞∞])[(rT r T T r T T T r T w w w ∂∂Θ+∂Θ∂-=∂+Θ-∂=∂∂∞∞∞)(])[( 由b T 与r 无关、Θ与x 无关以及x T ∂∂、rT∂∂的表达式可知,在常见的四种边界条件中除了轴向及周向均匀热流const q w =的情况外,有0=∂∂rT w,则该无量纲温度定义是可以用分离变量法的; 3)由wwT T T T --=Θ∞得: w w T T T T +Θ-=∞)(由T 可得:xT x T T T x T w w w ∂∂Θ-=∂+Θ-∂=∂∂∞)1(])[(T r T T r T T T r T w w w w ∂-+∂Θ∂-=∂+Θ-∂=∂∂∞∞1()(])[( 同2)分析可知,除了轴向及周向均匀热流const q w =温度定义是可以用分离变量法的;习题4-181)采用柱坐标分析,写出统一的稳态柱坐标形式动量方程:S r r r r r r x x w r v r r r u x +∂∂∂∂+∂∂∂∂+∂∂∂∂=∂∂+∂∂+∂∂)(1)(1)()(1)(1)(θφλθφλφλφρθφρφρ x 、r 和θ分别是圆柱坐标的3个坐标轴,u 、v 和w 分别是其对应的速度分量,其中x 是管内的流动方向;对于管内的层流充分发展有:0=v 、0=w ,0=∂∂xu; 并且x 方向的源项:x pS ∂∂-=r 方向的源项:r pS ∂∂-= θ方向的源项:θ∂∂-=pr S 1 由以上分析可得到圆柱坐标下的动量方程: x 方向: 0)(1)(1=∂∂-∂∂∂∂+∂∂∂∂x pu r r r u r r r θλθλ r 方向:0=∂∂r pθ方向:0=∂∂θp边界条件: R r =,0=u0=r ,0=∂∂r u ;对称线上,0=∂∂θu 不考虑液体的轴向导热,并简化分析可以得到充分发展的能量方程为:)(1)(1θλθλρ∂∂∂∂+∂∂∂∂=∂∂Tr r r T r r r x T uc p 边界条件: R r =,w q r T =∂∂λ;0=r ,0=∂∂rTπθ/0=,0=∂∂-θλT2)定义无量纲流速:dxdp R uU 2-=λ并定义无量纲半径:R r /=η;将无量纲流速和无量纲半径代入x 方向的动量方程得:0))1((1))1((122=∂∂-∂-∂∂∂+∂-∂∂∂xp U dx dp R R R R U dx dp R RR R θληλθηηλληηη 上式化简得:01)1(1)(1=+∂∂∂∂+∂∂∂∂θηθηηηηηU U 边界条件:1=η,0=U0=η,0=∂∂ηU ;对称线上,0=∂∂θU定义无量纲温度:λ/0R q T T b-=Θ其中,0q 是折算到管壁表面上的平均热流密度,即:Rq q wπ=0; 由无量纲温度定义可得:b T Rq T +Θ=λ将T 表达式和无量纲半径η代入能量方程得:)(1)(100θληλθηηλληηηρ∂Θ∂∂∂+∂Θ∂∂∂=∂∂R q R R R R q R R R x T uc b p 化简得:)1(1)(10θηθηηηηηρ∂Θ∂∂∂+∂Θ∂∂∂=∂∂x T u c q R b p (1)由热平衡条件关系可以得:mm m b m p b p p RU U q R u u R q A u u dx dT A u c x T u c x T uc 020221221)(===∂∂=∂∂ππρρρ 将上式代入式(1)可得:)1(1)(12θηθηηηηη∂Θ∂∂∂+∂Θ∂∂∂=m U U 边界条件:0=η,0=∂Θ∂η;1=η,R q q w πη10==∂Θ∂0=θ,0=∂Θ∂θ;πθ=,0=∂Θ∂θ单值条件: 由定义可知:0/0=-=ΘλR q T T b b b 且: ⎰⎰Θ=ΘAAb UdAUdA即得单值性条件:0=Θ⎰⎰AA UdAUdA 3)由阻力系数f 及Re 定义有:228)(21/Re ⎪⎭⎫ ⎝⎛=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=D D U D u u dx dp D f e m e m me νρ 且:m W b m W b m W R q T T D T T q Nu ,0,,0~2)/(2Θ=-=-=λλ5-21.一维稳态无源项的对流-扩散方程如下所示:xx u 22∂∂Γ=∂∂φφρ (取常物性)边界条件如下:L L x x φφφφ====,;,00上述方程的精确解如下:11)/(00--=--⋅PeL x Pe L e e φφφφ Γ=/uL Pe ρ 2.将L 分成20等份,所以有:∆=P Pe 201 2 3 4 5 6 ………… …………… 17 18 19 20 21 对于中心差分、一阶迎风、混合格式和QUICK 格式分别分析如下: 1) 中心差分中间节点: 2)5.01()5.01(11-∆+∆++-=i i i P P φφφ 20,2 =i2) 一阶迎风中间节点: ∆-∆++++=P P i i i 2)1(11φφφ 20,2 =i3) 混合格式当1=∆P 时,中间节点:2)5.01()5.01(11-∆+∆++-=i i i P P φφφ20,2 =i当10,5=∆P 时,中间节点: 1-=i i φφ 20,2 =i 4) QUICK 格式*12111)35(8122121⎥⎦⎤⎢⎣⎡---++++++=+--∆∆-∆∆+∆i i i i i i i P P P P P φφφφφφφ 2≠i *1111)336(8122121⎥⎦⎤⎢⎣⎡--++++++=+-∆∆-∆∆+∆i i i i i i P P P P P φφφφφφ 2=i数值计算结果与精确解的计算程序如下:%except for HS, any other scheme doesnt take Pe<0 into consideration %expression of exact solutiony=dsolve('a*b*Dy=c*D2y','y(0)=y0,y(L)=yL','x')y=subs(y,'L*a*b/c','t')y=simple(subs(y,'a*b/c*x','t*X'));ysim=simple(sym(strcat('(',char(y),'-y0)','/(yL-y0)')))y=sym(strcat('(',char(ysim),')*(yL-y0)','+y0'))% in the case of Pe=0y1=dsolve('D2y=0','y(0)=y0,y(L)=yL','x')y1=subs(y1,'-(y0-yL)/L*x','(-y0+yL)*X')%grid Pe numbertt=[1 5 10];%dimensionless lengthm=20;%mdim is the number of inner nodemdim=m-1;X=linspace(0,1,m+1);%initial value of variable during calculationy0=1;yL=2;%cal exact solutionfor n=1:size(tt,2)t=m*tt(1,n);if t==0yval1(n,:)=eval(y1);elseyval1(n,:)=eval(y);endend%extra treatment because max number in MATLAB is 10^308if max(isnan(yval1(:)))yval1=yval1';yval1=yval1(:);indexf=find(isnan(yval1));for n=1:size(indexf,1)if rem(indexf(n,1),size(X,2))==0yval1(indexf(n),1)=yL;elseyval1(indexf(n),1)=y0;endendyval1=reshape(yval1,size(X,2),size(yval1,1)/size(X,2));yval1=yval1';end%CD solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([0.5*(1-0.5*t)],1,mdim);c(n,:)=repmat([0.5*(1+0.5*t)],1,mdim);d(n,1)=0.5*(1+0.5*tt(1,n))*y0;d(n,mdim)=0.5*(1-0.5*tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval2=TDMA(a,b,c,d,mdim);yval2=[repmat([1],size(tt,2),1),yval2,repmat([2],size(tt,2),1)]; Fig(1,X,yval1,yval2,tt);title('CD Vs. Exact Solution')% FUS solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([1/(2+t)],1,mdim);c(n,:)=repmat([(1+t)/(2+t)],1,mdim);d(n,1)=(1+tt(1,n))/(2+tt(1,n))*y0;d(n,mdim)=1/(2+tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval3=TDMA(a,b,c,d,mdim);yval3=[repmat([1],size(tt,2),1),yval3,repmat([2],size(tt,2),1)]; Fig(2,X,yval1,yval3,tt);title('FUS Vs. Exact Solution')% HS solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);if t>2b(n,:)=repmat([0],1,mdim);c(n,:)=repmat([1],1,mdim);d(n,1)=y0;elseif t<-2b(n,:)=repmat([1],1,mdim);c(n,:)=repmat([0],1,mdim);d(n,mdim)=yL;elseb(n,:)=repmat([0.5*(1-0.5*t)],1,mdim);c(n,:)=repmat([0.5*(1+0.5*t)],1,mdim);d(n,1)=0.5*(1+0.5*t)*y0;d(n,mdim)=0.5*(1-0.5*t)*yL;endendc(:,1)=0;b(:,mdim)=0;% numerical cal by using TDMA subfuctionyval4=TDMA(a,b,c,d,mdim);yval4=[repmat([1],size(tt,2),1),yval4,repmat([2],size(tt,2),1)]; Fig(3,X,yval1,yval4,tt);title('HS Vs. Exact Solution')%QUICK Solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([1/(2+t)],1,mdim);c(n,:)=repmat([(1+t)/(2+t)],1,mdim);d(n,1)=(1+tt(1,n))/(2+tt(1,n))*y0;d(n,mdim)=1/(2+tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval5=zeros(size(tt,2),mdim);yval5com=yval5+1;counter=1;%iterativewhile max(max(abs(yval5-yval5com)))>10^-10if counter==1yval5com=TDMA(a,b,c,d,mdim);endfor nn=1:size(tt,2)for nnn=1:mdimif nnn==1d(nn,nnn)=((6*yval5com(nn,nnn)-3*y0-3*yval5com(nn,nnn+1))*tt(1,nn))/(8*(2+tt(1, nn)))+((1+tt(1,nn))/(2+tt(1,nn))*y0);elseif nnn==2d(nn,nnn)=((5*yval5com(nn,nnn)-3*yval5com(nn,nnn+1)-yval5com(nn,nnn-1)-y0)*tt (1,nn))/(8*(2+tt(1,nn)));elseif nnn==mdimd(nn,nnn)=((5*yval5com(nn,nnn)-3*yL-yval5com(nn,nnn-1)-yval5com(nn,nnn-2))*tt (1,nn))/(8*(2+tt(1,nn)))+(1/(2+tt(1,nn))*yL);elsed(nn,nnn)=((5*yval5com(nn,nnn)-3*yval5com(nn,nnn+1)-yval5com(nn,nnn-1)-yval5 com(nn,nnn-2))*tt(1,nn))/(8*(2+tt(1,nn)));endendendyval5=TDMA(a,b,c,d,mdim);temp=yval5;yval5=yval5com;yval5com=temp;counter=counter+1;endyval5=yval5com;yval5=[repmat([1],size(tt,2),1),yval5,repmat([2],size(tt,2),1)];Fig(4,X,yval1,yval5,tt);title('QUICK Vs. Exact Solution')%-------------TDMA SubFunction------------------function y=TDMA(a,b,c,d,mdim)%form a b c d resolve yval2 by using TDMA%eliminationp(:,1)=b(:,1)./a(:,1);q(:,1)=d(:,1)./a(:,1);for n=2:mdimp(:,n)=b(:,n)./(a(:,n)-c(:,n).*p(:,n-1));q(:,n)=(d(:,n)+c(:,n).*q(:,n-1))./(a(:,n)-c(:,n).*p(:,n-1));end%iterativey(:,mdim)=q(:,mdim);for n=(mdim-1):-1:1y(:,n)=p(:,n).*y(:,n+1)+q(:,n);end%-------------ResultCom SubFunction------------------ function y=ResultCom (a,b,c)for n=1:max(size(c,2))y(2*n-1,:)=a(n,:);y(2*n,:)=b(n,:);end%-------------Fig SubFunction------------------ function y=Fig(n,a,b,c,d)figure(n);plot(a,b);hold onplot(a,c,'*');str='''legend(';for n=1:size(d,2)if n==size(d,2)str=strcat(str,'''''Pe=',num2str(d(1,n)),''''')''');elsestr=strcat(str,'''''Pe=',num2str(d(1,n)),''''',');endendeval(eval(str));精确解与数值解的对比图,其中边界条件给定10=φ,2=L φ。
数值传热学(numerical heat transfer)数值传热学,又称计算传热学,是指对描写流动与传热问题的控制方程采用数值方法,通过计算机求解的一门传热学与数值方法相结合的交叉学科。
数值传热学的基本思想是把原来在空间与时间坐标中连续的物理量的场(如速度场,温度场,浓度场等),用一系列有限个离散点上的值的集合来代替,通过一定的原则建立起这些离散点变量值之间关系的代数方程(称为离散方程)。
求解所建立起来的代数方程已获得求解变量的近似值。
数值传热学(numerical heat transfer)数值传热学,又称计算传热学,是指对描写流动与传热问题的控制方程采用数值方法,通过计算机求解的一门传热学与数值方法相结合的交叉学科。
数值传热学的基本思想是把原来在空间与时间坐标中连续的物理量的场(如速度场,温度场,浓度场等),用一系列有限个离散点上的值的集合来代替,通过一定的原则建立起这些离散点变量值之间关系的代数方程(称为离散方程)。
求解所建立起来的代数方程已获得求解变量的近似值。
数值传热学常用的数值方法1.有限差分法历史上最早采用的数值方法,对简单几何形状中的流动与换热问题最容易实施的数值方法。
其基本点是:将求解区域中用于坐标轴平行的一系列网格的交点所组成的点的集合来代替,在每个节点上,将控制方程中每一个导数用相应的差分表达式来代替,从而在每个节点上,形成一个代数方程,每个方程中包括了本节点及其附近一些节点上的未知值,求解这些代数方程就获得了所需的数值解。
2.有限容积法将所计算的区域划分成一系列控制容积划分为一系列控制容积,每个控制容积都有一个节点做代表。
通过将守恒型的控制方程对控制容积坐积分导出离散方程。
在导出过程中,需要对界面上的被求函数本身及其一阶导数的构成做出假定,是目前流动与换热问题的数值计算中应用最广的一种方法。
3.有限元法把计算区域划分为一系列原题(在二维情况下,元体多为三角形或四边形),由每个元体上去数个点作为节点,然后通过对控制方程做积分来获得离散方程。
数值传热学4-9章习题答案习题4-2一维稳态导热问题的控制方程:022=+∂∂S xTλ依据本题给定条件,对节点2节点3采用第三类边界条件具有二阶精度的差分格式,最后得到各节点的离散方程:节点1:1001=T 节点2:1505105321-=+-T T T 节点3:75432=+-T T 求解结果:,852=T 403=T 对整个控制容积作能量平衡,有:2150)4020(15)(3=⨯+-⨯=∆+-=∆+x S T T h x S q f f B 即:计算区域总体守恒要求满足习题4-5在4-2习题中,如果,则各节点离散方程如下:25.03)(10f T T h -⨯=节点1:1001=T 节点2:1505105321-=+-T T T 节点3:25.03325.032)20(4015])20(21[-⨯+=-⨯++-T T T T 对于节点3中的相关项作局部线性化处理,然后迭代计算;求解结果:,(迭代精度为10-4)818.822=T 635.353=T 迭代计算的Matlab 程序如下:x=30;x1=20;while abs(x1-x)>0.0001a=[1 0 0;5 -10 5;0 -1 1+2*(x-20)^(0.25)]; b=[100;-150; 15+40*(x-20)^(0.25)]; t=a^(-1)*b;x1=x;x=t(3,1);endtcal=t习题4-12的Matlab程序%代数方程形式A i T i=C i T i+1+B i T i-1+D imdim=10;%计算的节点数x=linspace(1,3,mdim);%生成A、C、B、T数据的基数;A=cos(x);%TDMA的主对角元素B=sin(x);%TDMA的下对角线元素C=cos(x)+exp(x); %TDMA的上对角线元素T=exp(x).*cos(x); %温度数据%由A、B、C构成TDMAcoematrix=eye(mdim,mdim);for n=1:mdimcoematrix(n,n)=A(1,n);if n>=2coematrix(n,n-1)=-1*B(1,n);endif n<mdimcoematrix(n,n+1)=-1*C(1,n);endend%计算D矢量D=(coematrix*T')';%由已知的A、B、C、D用TDMA方法求解T%消元P(1,1)=C(1,1)/A(1,1);Q(1,1)=D(1,1)/A(1,1);for n=2:mdimP(1,n)=C(1,n)/(A(1,n)-B(1,n)*P(1,n-1));Q(1,n)=(D(1,n)+B(1,n)*Q(1,n-1))/(A(1,n)-B(1,n)*P(1,n-1)); end%回迭Tcal(1,mdim)=Q(1,mdim);for n=(mdim-1):-1:1Tcal(1,n)=P(1,n)*Tcal(1,n+1)+Q(1,n);endTcom=[T;Tcal];%绘图比较给定T值和计算T值plot(Tcal,'r*')hold onplot(T)n gin th a r e 结果比较如下,由比较可知两者值非常切合(在小数点后8位之后才有区别):习题4-14充分发展区的温度控制方程如下:)(1rTr r r x T uc p ∂∂∂∂=∂∂λρ对于三种无量纲定义、、进行分析如下w b w T T T T --=Θ∞∞--=ΘT T T T w ww T T T T --=Θ∞1)由得:wb wT T T T --=Θww b T T T T +Θ-=)(由可得:T x T x T x T T T x T w b w w b ∂∂Θ-+∂∂Θ=∂+Θ-∂=∂∂)1(])[(rT r T T r T T T r T w w b w w b ∂∂Θ-+∂Θ∂-=∂+Θ-∂=∂∂)1()(])[(由与无关、与无关以及、的表达式可知,除了均匀的情况外,该无量b T r Θx x T ∂∂rT∂∂w T 纲温度定义在一般情况下是不能用分离变量法的;2)由得:∞∞--=ΘT T T T w ∞∞+Θ-=T T T T w )(由可得:T xT x T T T x T w w ∂∂Θ=∂+Θ-∂=∂∂∞∞])[(rT r T T r T T T r T w w w ∂∂Θ+∂Θ∂-=∂+Θ-∂=∂∂∞∞∞)(])[(由与无关、与无关以及、的表达式可知,在常见的四种边界条件中除了b T r Θx x T ∂∂rT ∂∂轴向及周向均匀热流的情况外,有,则该无量纲温度定义是可以用分const q w =0=∂∂rT w离变量法的;3)由得:wwT T T T --=Θ∞ww T T T T +Θ-=∞)(由可得:T xT x T T T x T w w w ∂∂Θ-=∂+Θ-∂=∂∂∞)1(])[(r T T r T T T r T w w w -+∂Θ∂-=∂+Θ-∂=∂∂∞∞1()(])[(同2)分析可知,除了轴向及周向均匀热流const q w =温度定义是可以用分离变量法的;习题4-181)采用柱坐标分析,写出统一的稳态柱坐标形式动量方程:S r r r r r r x x w r v r r r u x +∂∂∂∂+∂∂∂∂+∂∂∂∂=∂∂+∂∂+∂∂(1)(1)()(1)(1)(θφλθφλφλφρθφρφρ、和分别是圆柱坐标的3个坐标轴,、和分别是其对应的速度分量,其中x r θu v w 是管内的流动方向;x 对于管内的层流充分发展有:、,;0=v 0=w 0=∂∂xu并且方向的源项:x x pS ∂∂-=方向的源项:r r pS ∂∂-=方向的源项:θθ∂∂-=pr S 1由以上分析可得到圆柱坐标下的动量方程:方向:x 0)(1)(1=∂∂-∂∂∂∂+∂∂∂∂x pu r r r u r r r θλθλ方向:r 0=∂∂r p 方向:θ0=∂∂θp 边界条件:,R r =0=u ,;对称线上,0=r 0=∂∂r u 0=∂∂θu 不考虑液体的轴向导热,并简化分析可以得到充分发展的能量方程为:)(1(1θλθλρ∂∂∂∂+∂∂∂∂=∂∂Tr r r T r r r x T uc p 边界条件:,;,R r =w q r T =∂∂λ0=r 0=∂∂rT,πθ/0=0=∂∂-θλT2)定义无量纲流速:dxdp R uU 2-=λ并定义无量纲半径:;将无量纲流速和无量纲半径代入方向的动量方程得:R r /=ηx 0))1((1)1((122=∂∂-∂-∂∂∂+∂-∂∂∂xp U dx dp R R R R U dx dp R RR R θληλθηηλληηη上式化简得:011(1(1=+∂∂∂∂+∂∂∂∂θηθηηηηηU U 边界条件:,1=η0=U ,;对称线上,0=η0=∂∂ηU 0=∂∂θU定义无量纲温度:λ/0R q T T b-=Θ其中,是折算到管壁表面上的平均热流密度,即:;0q Rq q wπ=0由无量纲温度定义可得:bT Rq T +Θ=λ0将表达式和无量纲半径代入能量方程得:T η(1)(100θληλθηηλληηηρ∂Θ∂∂∂+∂Θ∂∂∂=∂∂R q R R R R q R R R x T uc b p 化简得:(1))1(1)(10θηθηηηηηρ∂Θ∂∂∂+∂Θ∂∂∂=∂∂x T u c q R b p 由热平衡条件关系可以得:mm m b m p b p p RU U q R u u R q A u u dx dT A u c x T u c x T uc 020221221)(===∂∂=∂∂ππρρρ将上式代入式(1)可得:)1(1)(12θηθηηηηη∂Θ∂∂∂+∂Θ∂∂∂=m U U 边界条件:,;,0=η0=∂Θ∂η1=ηR q q w πη10==∂Θ∂,;,0=θ0=∂Θ∂θπθ=0=∂Θ∂θ单值条件:由定义可知: 且: 0/0=-=ΘλR q T T b b b ⎰⎰Θ=ΘAAb UdAUdA 即得单值性条件:=Θ⎰⎰AA UdAUdA 3)由阻力系数及定义有:f Re 228)(21/Re ⎪⎭⎫ ⎝⎛=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=D D U D u u dx dp D f e m e m me νρ且:m W b m W b m W R q T T D T T q Nu ,0,,0~2)/(2Θ=-=-=λλ5-21.一维稳态无源项的对流-扩散方程如下所示: (取常物性)xx u 22∂∂Γ=∂∂φφρ边界条件如下:LL x x φφφφ====,;,00上述方程的精确解如下: 11)/(00--=--⋅Pe L x Pe L e e φφφφΓ=/uL Pe ρ2.将分成20等份,所以有:L ∆=P Pe 20 1 2 3 4 5 6……………………… 17 18 19 20 21对于中心差分、一阶迎风、混合格式和QUICK 格式分别分析如下:1)中心差分中间节点: 2)5.01()5.01(11-∆+∆++-=i i i P P φφφ20,2 =i 2)一阶迎风中间节点: ∆-∆++++=P P i i i 2)1(11φφφ20,2 =i 3)混合格式当时,中间节点: 1=∆P 2)5.01()5.01(11-∆+∆++-=i i i P P φφφ 20,2 =i 当时,中间节点: 10,5=∆P 1-=i i φφ20,2 =i 4)QUICK 格式*12111)35(8122121⎥⎦⎤⎢⎣⎡---++++++=+--∆∆-∆∆+∆i i i i i i i P P P P P φφφφφφφ2≠i*1111)336(8122121⎥⎦⎤⎢⎣⎡--++++++=+-∆∆-∆∆+∆i i i i i i P P P P P φφφφφφ2=i 数值计算结果与精确解的计算程序如下:%except for HS, any other scheme doesnt take Pe<0 into consideration %expression of exact solutiony=dsolve('a*b*Dy=c*D2y','y(0)=y0,y(L)=yL','x')y=subs(y,'L*a*b/c','t')y=simple(subs(y,'a*b/c*x','t*X'));ysim=simple(sym(strcat('(',char(y),'-y0)','/(yL-y0)')))y=sym(strcat('(',char(ysim),')*(yL-y0)','+y0'))% in the case of Pe=0y1=dsolve('D2y=0','y(0)=y0,y(L)=yL','x')y1=subs(y1,'-(y0-yL)/L*x','(-y0+yL)*X')%grid Pe number tt=[1 5 10];%dimensionless length m=20;%mdim is the number of inner node mdim=m-1;X=linspace(0,1,m+1);%initial value of variable during calculation y0=1;yL=2;%cal exact solution for n=1:size(tt,2) t=m*tt(1,n); if t==0 yval1(n,:)=eval(y1); else yval1(n,:)=eval(y); end end%extra treatment because max number in MATLAB is 10^308if max(isnan(yval1(:))) yval1=yval1'; yval1=yval1(:);indexf=find(isnan(yval1)); for n=1:size(indexf,1) if rem(indexf(n,1),size(X,2))==0 yval1(indexf(n),1)=yL; else yval1(indexf(n),1)=y0; endendyval1=reshape(yval1,size(X,2),size(yval1,1)/size(X,2));yval1=yval1';end%CD solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([0.5*(1-0.5*t)],1,mdim);c(n,:)=repmat([0.5*(1+0.5*t)],1,mdim);d(n,1)=0.5*(1+0.5*tt(1,n))*y0;d(n,mdim)=0.5*(1-0.5*tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval2=TDMA(a,b,c,d,mdim);yval2=[repmat([1],size(tt,2),1),yval2,repmat([2],size(tt,2),1)]; Fig(1,X,yval1,yval2,tt);title('CD Vs. Exact Solution')% FUS solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([1/(2+t)],1,mdim);c(n,:)=repmat([(1+t)/(2+t)],1,mdim);d(n,1)=(1+tt(1,n))/(2+tt(1,n))*y0;d(n,mdim)=1/(2+tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval3=TDMA(a,b,c,d,mdim);yval3=[repmat([1],size(tt,2),1),yval3,repmat([2],size(tt,2),1)]; Fig(2,X,yval1,yval3,tt);title('FUS Vs. Exact Solution')% HS solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);if t>2b(n,:)=repmat([0],1,mdim);c(n,:)=repmat([1],1,mdim);d(n,1)=y0;elseif t<-2b(n,:)=repmat([1],1,mdim);c(n,:)=repmat([0],1,mdim);d(n,mdim)=yL;elseb(n,:)=repmat([0.5*(1-0.5*t)],1,mdim);c(n,:)=repmat([0.5*(1+0.5*t)],1,mdim);d(n,1)=0.5*(1+0.5*t)*y0;d(n,mdim)=0.5*(1-0.5*t)*yL;endendc(:,1)=0;b(:,mdim)=0;% numerical cal by using TDMA subfuctionyval4=TDMA(a,b,c,d,mdim);yval4=[repmat([1],size(tt,2),1),yval4,repmat([2],size(tt,2),1)]; Fig(3,X,yval1,yval4,tt);title('HS Vs. Exact Solution')%QUICK Solutiond=zeros(size(tt,2),mdim);a=repmat([1],size(tt,2),mdim);for n=1:size(tt,2)t=tt(1,n);b(n,:)=repmat([1/(2+t)],1,mdim);c(n,:)=repmat([(1+t)/(2+t)],1,mdim);d(n,1)=(1+tt(1,n))/(2+tt(1,n))*y0;d(n,mdim)=1/(2+tt(1,n))*yL;endc(:,1)=0;b(:,mdim)=0;%numerical cal by using TDMA subfuctionyval5=zeros(size(tt,2),mdim);yval5com=yval5+1;counter=1;%iterativewhile max(max(abs(yval5-yval5com)))>10^-10if counter==1yval5com=TDMA(a,b,c,d,mdim);endfor nn=1:size(tt,2)for nnn=1:mdimif nnn==1d(nn,nnn)=((6*yval5com(nn,nnn)-3*y0-3*yval5com(nn,nnn+1))*tt(1,nn))/(8*(2+tt(1,nn)))+((1+tt(1,nn))/(2+tt(1,nn))*y0);elseif nnn==2d(nn,nnn)=((5*yval5com(nn,nnn)-3*yval5com(nn,nnn+1)-yval5com(nn,nnn-1)-y0)*tt(1,nn))/(8*(2+tt(1,nn)));elseif nnn==mdimd(nn,nnn)=((5*yval5com(nn,nnn)-3*yL-yval5com(nn,nnn-1)-yval5com(nn,nnn-2))*tt(1,nn))/(8*(2+tt(1,nn)))+(1/(2+tt(1,nn))*yL);elsed(nn,nnn)=((5*yval5com(nn,nnn)-3*yval5com(nn,nnn+1)-yval5com(nn,nnn-1)-yval5com(nn,nnn-2))*tt(1,nn))/(8*(2+tt(1,nn)));endendendyval5=TDMA(a,b,c,d,mdim);temp=yval5;yval5=yval5com;yval5com=temp;counter=counter+1;endyval5=yval5com;yval5=[repmat([1],size(tt,2),1),yval5,repmat([2],size(tt,2),1)];Fig(4,X,yval1,yval5,tt);title('QUICK Vs. Exact Solution')%-------------TDMA SubFunction------------------function y=TDMA(a,b,c,d,mdim)%form a b c d resolve yval2 by using TDMA%eliminationp(:,1)=b(:,1)./a(:,1);q(:,1)=d(:,1)./a(:,1);for n=2:mdimp(:,n)=b(:,n)./(a(:,n)-c(:,n).*p(:,n-1));q(:,n)=(d(:,n)+c(:,n).*q(:,n-1))./(a(:,n)-c(:,n).*p(:,n-1));end%iterativey(:,mdim)=q(:,mdim);for n=(mdim-1):-1:1y(:,n)=p(:,n).*y(:,n+1)+q(:,n);end%-------------ResultCom SubFunction------------------function y=ResultCom (a,b,c)for n=1:max(size(c,2))y(2*n-1,:)=a(n,:);y(2*n,:)=b(n,:);end%-------------Fig SubFunction------------------function y=Fig(n,a,b,c,d)figure(n);plot(a,b);hold onplot(a,c,'*');str='''legend(';for n=1:size(d,2)if n==size(d,2)str=strcat(str,'''''Pe=',num2str(d(1,n)),''''')''');elsestr=strcat(str,'''''Pe=',num2str(d(1,n)),''''',');endendeval(eval(str));a n d A l l t h i n g s i n t h ei r b e i n g a r e g 13精确解与数值解的对比图,其中边界条件给定,。
4-1解:采用区域离散方法A 时;网格划分如右图。
内点采用中心差分123278.87769.9T T T ===22d T T=0dx - 有 i+1i 122+T 0i i T T T x ---=∆将2点,3点带入321222+T 0T T T x --=∆ 即321209T T -+= 432322+T 0T T T x --=∆4321322+T 0T T T x --=∆ 即4321209T T T -+-= 边界点4(1)一阶截差 由x=11dT dx =,得 4313T T -= (2)二阶截差 11B M M q x x xT T S δδλλ-=++V所以 434111. 1.36311T T T =++即 43122293T T -= 采用区域离散方法B22d T T=0dx - 由控制容积法 0w edT dT T x dT dT ⎛⎫⎛⎫--∆= ⎪ ⎪⎝⎭⎝⎭所以代入2点4点有322121011336T T T T T ----= 即 239028T T -=544431011363T T T T T ----= 即3459902828T T T -+=对3点采用中心差分有432322+T 013T T T --=⎛⎫⎪⎝⎭即2349901919T T T -+= 对于点5 由x=11dT dx =,得 5416T T -= (1)精确解求左端点的热流密度 由 ()21x x eT e e e -=-+ 所以有 ()2220.64806911x xx x dT e e q e e dxe e λ-====-+=-=++ (2)由A 的一阶截差公式210.247730.743113x T T dT q dxλ=-=-==⨯= (3)由B 的一阶截差公式0.216400.649213x dTq dxλ=-=-== (4)由区域离散方法B 中的一阶截差公式: 210.108460.6504()B BT T dT dx x δ-⎛⎫==⨯=⎪⎝⎭ 通过对上述计算结果进行比较可得:区域离散B 有控制容积平衡法建立的离散方程与区域离散方程A 中具有二阶精度的格式精确度相当! 4-3解:将平板沿厚度方向3等分,如图由题可知该导热过程可看作无限大平板的一维稳态有源导热问题,则控制方程为22d T+S=0dxλx=0, T 0=75℃ x=0.1 dT =h(T-T )dxf λ- 1点 ,2点采用中心差分有21022+T 0T T S x λ-+=∆ (1) 32122+T 0T T S x λ-+=∆ (2)右端点采用一阶截差的离散231f hx T T T x h λλ⎡⎤+⎢⎥⎣⎦=⎛⎫+ ⎪⎝⎭V (3)右端点采用二阶截差的离散232.1f x S hx T x T T x h λλλ⎡⎤⎢⎥++⎢⎥⎢⎥⎣⎦=⎛⎫+ ⎪⎝⎭V V V 代入(1)(2)(3)得1223132280.62 5.67625T T T T T T T -=--=-= 解得123278.87769.9T T T ===代入(4)得12380.6380.6675.1T T T === 3221T 18125T -=解得 12380.6380.6675.1T T T ===精确解 22d T+S=0dxλ (4)x=0, T 0=75℃ (5) x=0.1 dT =h(T-T )dxf λ- (6) 代入数据积分的2250025075T x x =-++ 将 x 1=10.13⨯,x 2=20.13⨯, x 3=0.1 T 1=80.56 T 2=80.56 T 3=75.1通过比较可得右端点采用二阶截差的离散更接近真实值。
主讲陶文铨西安交通大学能源与动力工程学院热流中心CFD-NHT-EHT CENTER 2010年9月27日, 西安数值传热学第四章扩散方程的数值解及其应用(1)4.1 一维导热问题4.1.1一维稳态导热的通用控制方程4.1.3界面导热系数的确定方法4.1.4 一维非稳态导热控制方程的离散化4.1.2通用控制方程控制容积积分法的离散4.1.5 数学上的稳定未必导致物理上有意义的解一维稳态导热问题不同坐标系通用控制方程0 P P()0P x x Δ=i调和平均已经广泛为国内外学术界所接受。
≤1数学上的稳定未必导致物理上有意义的解无内热源一维非稳态导热,初场均匀,两表面0]T +代入下式:P(全隐格式)才能满足。
结论:数学上的稳定未必导致物理上有意义的解;推=xΔa TP P极坐标均可以表示成为:2.解决通用化的一种方案为写出适合于三种坐标系中系数的通用表达式,特引进两个辅助变量:(1)x –方向标尺因子,scaling factor ,x-方向的距离表示成为sx x δi 。
对直角、圆柱坐标规定1;sx ≡(2)y-方向引入一个名义半径,R 。
对直角坐标R =1,据此,东西导热距离为:sx xδi 东西导热面积为:R /y sxΔ对极坐标取;sx r =对圆柱与极坐标R =r三种二维正交坐标系中离散方程的统一表达式按这种方式编制程序时,只要设置一个变量MODE,4.3 源项与边界条件的处理4.3.1非常数源项的线性化处理1. 线性化方法4.3.2第二、三类边界条件使方程组封闭的处理2. 线性化方法讨论3. 线性化方法应用实例1. 补充以边界节点代数方程的方法2. 附加源项法S= P2. 线性化方法讨论(1)对与被求解变量有关的非常数源项,线性化比假定为常数更合理:用*()PS f T =来表示P 的源项比落后一个迭代步;P C P T S S S =+(2)任何复杂的函数总可以用线性函数来近似逼近;线性又是建立线性代数方程所必须的;(3)是为保证代数方程迭代求解收敛所必须;0P S ≤P P nb nb a a b φφ=+∑P nb a a ≥∑P nb P a a S V =−Δ∑代数方程迭代求解收敛的充分条件是,因为可以确保代数方程迭代求解收敛。