数值传热学 陶文铨 第7章全

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7-1

解:对下列方程求解:

⎪⎩⎪

⎨⎧=++=++=-+5

223122321

321321x x x x x x x x x 1.运用Jacobi 点迭代法

Matlab 编程如下: clear;clc;

a=[1 2 -2;1 1 1;2 2 1]; b=[1;3;5]; i=100; x=zeros(3,1); for n=2:i+1 for m=1:size(a,1)

x(m,n)=(-1*sum(a(m,:)*x(:,n-1))+a(m,m)*x(m,n-1)+b(m,1))/a(m,m); end e=0;

for m=1:size(a,1) if abs(x(m,n)-x(m,n-1))>e e=abs(x(m,n)-x(m,n-1)); end end

if e<10^(-3) break ; end end

2. G-S 点迭代法求解 Matlab 程序如下: clear;clc;

a=[1 2 -2;1 1 1;2 2 1]; b=[1;3;5]; i=100; t=zeros(3,1);

for n=2:i+1 for m=1:size(a,1) if m==1

t(m,n)=(-1*sum(a(m,2:end).*t(2:end,n-1)')+b(m,1))/a(m,m); elseif m==size(a,1)

t(m,n)=(-1*sum(a(m,1:m-1).*t(1:m-1,n)')+b(m,1))/a(m,m); else

t(m,n)=(-1*sum(a(m,1:m-1).*t(1:m-1,n)')-sum(a(m,m+1:end).*t(m+1:end,n -1)')+b(m,1))/a(m,m); end end e=0;

for m=1:size(a,1) if abs(t(m,n)-t(m,n-1))>e e=abs(t(m,n)-t(m,n-1)); end end

故由上表可知:采用Jacobi 点迭代法时是收敛的;而采用G-S 点迭代法时是发散的。

7-4 解:常物性无内热源的稳态导热方程如下:

02

222=∂∂+∂∂y T

x T 对上式在控制容积内积分,界面采用线性插值可得:

()N S E W P T T T T T +++=4

1

下边界采用补充节点法,可得到二阶精度的边界条件离散格式:

λδλδx

q S x x T T B j i j i ⋅+

⋅∆⋅+=+1,, 由0,0==S q B 可得:

1,,+=j i j i T T

由上述分析可得待求四个节点的离散方程:

4704141321=

T T T -- 4504141421=+-T T T - 415414341331=+-T T T - 4

10434141432=+-T T T -

采用7-1题中的程序,得结果如下:

由上述计算结果可知,Jacobi 迭代的速度比G -S 迭代的速度要慢;

7-6 解:由上题可知:可列出方程式: 1.G-S 点迭代法时:方程简化为:

450

4141321=

T T T -- 4904141421=+-T T T - 4704141331=+-T T T - 41104141432=+-T T T - 采用matlab 程序: 结果如下:

2.采用线迭代法: 选择自上而下的迭代: 方程式化简为:

)3515(41

)1(3)(2)(1-+++=n n n T T T

)4050(41

)1(4)(1)(2-+++=n n n T T T

)4525(41

)(4)(1)(3+++=n n n T T T

)6050(4

1

)(2)(3)(4+++=n n n T T T

用matlab 编程如下: clear;clc;

a=[1,-1/4,-1/4,0;-1/4,1,0,-1/4;-1/4,0,1,-1/4;0,-1/4,-1/4,1]; b=[50/4;90/4;70/4;110/4]; i=100;

t=zeros(size(a,1),1); for n=2:i+1

k1=-a(1,2)/a(2,2);

t(1,n)=(-1*sum(a(1,2:end)*t(2:end,n-1))+b(1,1)-1*k1*sum(a(2,2:end)*t(2:end,n-1))+k1*b(2,1))/(a(1,1)+k1*a(2,1));

t(2,n)=(-1*sum(a(1,3:end)*t(3:end,n-1))+b(1,1)-a(1,1)*t(1,n))/a(1,2); k2=-a(3,4)/a(4,4);

t(3,n)=(-1*sum(a(3,1:2)*t(1:2,n))+b(3,1)-1*k2*sum(a(4,1:2)*t(1:2,n))+k2*b(4,1))/(a(3,3)+k2*a(4,3));

t(4,n)=(-1*sum(a(3,1:3)*t(1:3,n))+b(3,1))/a(3,4); e=0;

for m=1:size(a,1) if abs(t(m,n)-t(m,n-1))>e e=abs(t(m,n)-t(m,n-1)); end end

if e<10^(-3) break ; end end

由上述计算比较可知,相同的初始条件和边界条件,线迭代的收敛迭代次数少于点迭代算法。

与例1相比,两者相差体现在边界条件的给定,但两者的四角温度之和相等,最终两者计算结果相同,可以解释如下:边界条件的传入是通过相关的内节点实现的,所以当某一内节点相关的边界条件温度值之和相等时可以视作同一条件,因为对该内节点而言,I 类边界条件的影响效果可以线性叠加;

7-8 解:由方程式推导:

44321=+-x x x 构造方程如右:)4(4

1)

(3)(2)1(1k k k x x x -+=

+ 924321=++x x x )29(41)(3)1(1)

1(2k k k x x x --=

++ 252321=++-x x x )22(5

1)1(2)1(1)

1(3

+++-+=k k k x x x 则误差传递方程为:

)(41)(3)(2)1(1k k k εεε-=+故有)(41)

(3)(2)1(1k k k εεε+≤+

)2(41)(3)1(1)1(2k k k εεε--=++)2(41)

(3)1(1)1(2k k k εεε+≤++

)2(51)1(2)1(1)1(3+++-=k k k εεε)2(5

1)

1(2)1(1)1(3++++≤k k k εεε

由于上述误差式中(1)右端无常数项;(2)系数的绝对值之和小于1,故误差项误差之值必随迭代进行而逐渐衰减 结果如下:

相关文档
最新文档