松弛法求解给定边界条件的泊松方程

本文针对一块4cmx3cm的板,在给定边界条件下,采用SOR松弛法计算其稳定的温度场。通过改变松弛因子和网格尺度,研究了收敛速度及最佳松弛因子的变化规律。

一、问题描述

一块 4cm x 3cm 的板,表面的散热忽略不计,四边温度给定,除一条长边温度为 100◦C 外,其他三条边的温度为 20◦C。计算其稳定的温度场。

采用迭代法计算时,注意采用不同的松弛因子,并比较收敛速度,观察在不同的网格尺度下,最佳松弛因子的变化。
在这里插入图片描述

二、解题思路

本题为给定边界条件的泊松方程的求解问题。
在这里插入图片描述
采用 SOR 松弛法:
在这里插入图片描述
其中
β=ΔxΔy \beta = \frac{\Delta x}{\Delta y} β=ΔyΔx

用 matlab 编写函数
functionn=SOR(w)function \quad n = SOR(w)functionn=SOR(w)
其中参数 w 为松弛因子 ,返回值 n 为收敛所需要的迭代次数 。判断收敛的条件为

∑i,j(Ti,jn+1−Ti,jn)2<ϵ \sum_{i,j} (T_{i,j}^{n+1} - T_{i,j}^n)^2 < \epsilon i,j(Ti,jn+1Ti,jn)2<ϵ

function n = SOR(w)
xl = 1;
yl = 1;
n = 30;
hx = xl/n;
hy = yl/n;

T = zeros(n);
f = zeros(n);

T(:,1)=20;
T(:,end)=20;
T(1,:)=20;
T(end,:) = 100;

e = 1;
while(e >0.0001)
    n = n+1;
    T1 = sor(T,f,w,hx,hy,1);
    e = sum((T1(:)-T(:)).^2);
    T = T1;
end
contour(T,100);


function T = sor(T,f,w,dx,dy,N)
b = dx/dy;
B2 = b*b;
DX2 = dx*dx;
C = w/(2*(1+B2));
for t = 1:N
    for i =2:size(T,1)-1
        for j = 2:size(T,1)-1
        T(i,j) = (1-w)*T(i,j) + C*(T(i+1,j)+T(i-1,j) + ...
            B2*(T(i,j+1)+T(i,j-1))+DX2*f(i,j));
        end
    end
end

结果

在这里插入图片描述
不同网格尺度下最佳松弛因子的变化
在这里插入图片描述
可见随着网格数增加 ,最佳松弛因子随之增大 ,趋向 2.0

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颹蕭蕭

白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值