求温度分布的matlab,铜芯电缆温度分布MATLAB计算模型

41528d3028836879cd698677c3999917.gif铜芯电缆温度分布MATLAB计算模型

1. 题目 如图1所示铜芯电缆,电流为5000A,内径为10mm,外包材料聚氯乙烯的厚度为2mm,导热系数为0.15+0.00013{t}。电缆左半边为绝热边界条件,右半边为第三类边界条件,空气温度为20℃,绝缘层表面与环境间的复合表面传热系数为10。铜的电阻率为,,,t的单位为摄氏度。试通过数值方法求解温度分布。 图 1 2. 编程计算 2.1 控制方程 根据题意,本题为二维稳态导热问题,其控制方程为: 边界条件: : : 其中:。 2.2 方程离散 为建立通用方程,考虑非稳态项的控制方程为: 采用全隐格式,在时间内,对控制容积积分,整理后可得: 其中: ,, ,, ,, 采用通用表达式,各表达式如下表: 表1 坐标及系数表达式 坐标系 极坐标 通用表达式 东西坐标 南北坐标 半径 东西尺度系数 东西节点间距 南北节点间距 东西导热面积 南北导热面积 控制体体积 2.3 边界条件处理 对于北边界,采用附加源项法处理。由于北边界()为第三类边界条件,则最靠近边界的控制容积加入以下附加源项: 其中: 将附加源项加到相应控制容积后,再令相应的。 对于南边界,可认为定温边界条件,由于其导热面积为零,。 对于东西边界,计算时取计算区域,故东西边界重合,可认为为定温边界条件,温度为上一层相邻控制容积的温度。 2.4 导热系数与计算 取铜导热系数为常数,。 每个控制容积各界面对应导热系数分别为、、、。对于铜芯或保温层内部控制容积,各导热系数均为常数。两者交接界面的导热系数用调和平均法计算。 2.5 方程求解 方程采用ADI-TDMA方法求解,首先在Y方向进行隐式计算,X方向采用显式计算。各方向对应方程为三对角矩阵,使用TDMA法求解。然后再在X方向进行隐式计算,Y方向采用显式计算。 3. 结果输出与分析 3.1 计算结果 程序中温度T为二维数组,采用坐标变换方法,将温度表示在极坐标系中。 设定温度初场为23℃,循环结束判定条件为,网格数为条件下,输出结果如图2: 图 2 3.2 网格独立性考察 保持迭代精度不变: 1. 网格数为时,计算结果为: 图 3 2. 网格数为时,计算结果为: 图 4 3. 网格数为时,计算结果为: 图 5 结论:从以上各图可以看出,程序运行结果与网格划分无关,程序具有较好的网格独立性。 3.3 收获与体会 通过这次matlab编程作业,我对二维扩散问题有了更加深刻的理解,对网格划分、通用离散形式、边界条件处理等有了进一步的认识。在编写Matlab程序过程中,我为了直接求解三对角矩阵还曾编写一个Solution.m文件,经过对比后发现此文件相比于TDMA方法在速度上稍微快一点,结果基本相同。 通过编程,我更加深刻的认识到只有亲自动手才能加深对问题理解,才能真正获得属于自己的知识。 4. 程序语句 程序采用Matlab编写,主要分为4部分,分别是主程序,用于给定题目条件,调用其他函数,循环求解等;网格划分函数Grid.m,用于划分网格;SolutionTDMA.m,用于执行交替隐式计算;TDMA.m,用于求解三对角矩阵。 14 4.1 Main.m clear all clear global at long global X global Y global dX global dY global DX global DXn global DXs global DY global Cv global CV global T global T0 global Tf global nodX global nodY nodX=200; nodY=350; %给出题目参数 X=2*pi; Y=7E-3; Grid; %划分网格 Tf=20; h=10; %计算导热系数 for i=1:5/7*nodY Le(i)=400;%假设铜的导热系数为400W/(m.K) Lw(i)=400; end for i=5/7*nodY+1:nodY Le(i)=0.15; Lw(i)=0.15; end for i=1:5/7*nodY-1 Ln(i)=400; end for i=5/7*nodY+1:nodY Ln(i)=0.15; end Ln(5/7*nodY)=2/(1/Ln(5/7*nodY-1)+1/Ln(5/7*nodY+1)); for i=1:5/7*nodY Ls(i)=400; end for i=5/7*nodY+2:nodY Ls(i)=0.15; end Ls(5/7*nodY+1)=2/(1/Ls(5/7*nodY)+1/Ls(5/7*nodY+2)); %设定初始值 for i=1:nodX for j=1:nodY T(i,j)=23; end end T0=T; %定义内热源 for i=1:nodX for j=1:5/7*nodY Sp(i,j)=-28.37; Sc(i,j)=6525.08+56.74*T0(i,j);%用T0表示上时刻的值 end for j=5/7*nodY+1:nodY Sp(i,j)=0; Sc(i,j)=0; end end %计算系数 aE=ones(nodX,1)*(DY.*Le./dX); aW=ones(nodX,1)*(DY.*Lw./dX); aN=ones(nodX,1)*(DXn.*Ln/dY); aS=ones(nodX,1)*(DXs.*Ls/dY); aP0=0; %边界条件的处理,附加源项法 Scad=DXn(nodY)/Cv(nodY)*Tf/(1/h+Y/2/nodY/Ln(nodY)); Spad=-DXn(nodY)/Cv(nodY)/(1/h+Y/2/nodY/Ln(nodY)); for i=1:nodX aN(i,nodY)=0; aS(i,1)=0; end for i=1:nodX/4 Sc(i,nodY)=Sc(i,nodY)+Scad; Sp(i,nodY)=Sp(i,nodY)+Spad; end for i=3*nodX/4+1:nodX Sc(i,nodY)=Sc(i,nodY)+Scad; Sp(i,nodY)=Sp(i,nodY)+Spad; end b=Sc.*CV; aP=aE+aW+aN+aS-aP0-Sp.*CV; SolutionTDMA(aE,aW,aN,aS,aP,b); cont=1 norm((T-T0)./T) while (norm((T-T0)./T)>1E-8) cont=cont+1 norm((T-T0)./T) T0=T; for i=1:nodX for j=1:5/7*nodY Sc(i,j)=6525.08+56.74*T0(i,j); %用T0表示上时刻的值 end for j=5/7*nodY+1:nodY Sc(i,j)=0; end end for i=1:nodX/4 Sc(i,nodY)=Sc(i,nodY)+Scad; end for i=3*nodX/4+1:nodX Sc(i,nodY)=Sc(i,nodY)+Scad; end b=Sc.*CV; aP=aE+aW+aN+aS-aP0-Sp.*CV; SolutionTDMA(aE,aW,aN,aS,aP,b); end %输出图形 theta=X/nodX; dR=Y/nodY; for i=1:nodX+1 for j=1:nodY X(i,j)=j*dR*cos(theta*(i-1)); Y(i,j)=j*dR*sin(theta*(i-1)); X(i,1)=0; Y(i,1)=0; end end for i=1:nodX+1 for j=1:nodY T(nodX+1,j)=T(1,j); Z(i,j)=T(i,j); end end surf(X,Y,Z); 4.2 Grid.m global X global Y global dX global dY global DX global DXn global DXs global DY global Cv global CV global nodX global nodY %计算半径与尺度系数 R=Y/2/nodY:Y/nodY:Y-Y/2/nodY; Rn=R+Y/2/nodY; Rs=R-Y/2/nodY; SX=Y/2/nodY:Y/nodY:Y-Y/2/nodY; %计算节点间距 dX=X/nodX.*SX; %东西节点距离 数组 dY=Y/nodY; %南北节点距离 常数 %计算导热面积 DY=dY; %东西导热面积 DX=X/nodX.*R; %南北导热面积 DXn=X/nodX*Rn; DXs=X/nodX*Rs; Cv=DY*DX; CV=ones(nodX,1)*Cv; 4.3 TDMA.m function [W] = TDMA (A, B, C, D, direct ) %TDMA solver global nodX global nodY if direct==2 nod=nodY; else if direct==1 nod=nodX; end end P(1)=B(1)/A(1); Q(1)=D(1)/A(1); for i=2:nod P(i)=B(i)/(A(i)-C(i)*P(i-1)); Q(i)=(D(i)+C(i)*Q(i-1))/(A(i)-C(i)*P(i-1)); end W(nod)=Q(nod); for i=nod-1:-1:1 W(i)=P(i)*W(i+1)+Q(i); end end 4.4 SolutionTDMA.m function [ ] = SolutionTDMA ( aE,aW, aN,aS,aP,b ) %ADI-TDMA Solver global T global T0 global nodX global nodY %首先在Y方向上隐式计算direct==2,X方向为显式,利用T0 direct=2; i=1; for j=1:nodY A(j)=aP(i,j); B(j)=aN(i,j); C(j)=aS(i,j); D(j)=aE(i,j)*T0(i+1,j)+aW(i,j)*T0(nodX,j)+b(i,j); end C(1)=0; B(nodY)=0; W=TDMA(A,B,C,D,direct); for j=1:nodY T(i,j)=W(j); end T0=T; for i=2:nodX-1 for j=1:nodY A(j)=aP(i,j); B(j)=aN(i,j); C(j)=aS(i,j); D(j)=aE(i,j)*T0(i+1,j)+aW(i,j)*T0(i-1,j)+b(i,j); end C(1)=0; B(nodY)=0; W=TDMA(A,B,C,D,direct); for j=1:nodY T(i,j)=W(j); end T0=T; end i=nodX; for j=1:nodY A(j)=aP(i,j); B(j)=aN(i,j); C(j)=aS(i,j); D(j)=aE(i,j)*T0(1,j)+aW(i,j)*T0(i-1,j)+b(i,j); end C(1)=0; B(nodY)=0; W=TDMA(A,B,C,D,direct); for j=1:nodY T(i,j)=W(j); end T0=T; %把计算得到的T赋给T0,然后进行X方向隐式计算direct==1 direct=1; j=1; for i=1:nodX A(i)=aP(i,j); B(i)=aE(i,j); C(i)=aW(i,j); D(i)=aN(i,j)*T0(i,j+1)+b(i,j); end D(1)=aN(i,j)*T0(i,j+1)+aW(i,j)*T0(nodX,j)+b(i,j); D(nodX)=aN(i,j)*T0(i,j+1)+aE(i,j)*T0(1,j)+b(i,j); C(1)=0; B(nodX)=0; W=TDMA(A,B,C,D,direct); for i=1:nodX T(i,j)=W(i); end T0=T; for j=2:nodY-1 for i=1:nodX A(i)=aP(i,j); B(i)=aE(i,j); C(i)=aW(i,j); D(i)=aN(i,j)*T0(i,j+1)+aS(i,j)*T0(i,j-1)+b(i,j); end D(1)=aN(i,j)*T0(i,j+1)+aS(i,j)*T0(i,j-1)+aW(i,j)*T0(nodX,j)+b(i,j); D(nodX)=aN(i,j)*T0(i,j+1)+aS(i,j)*T0(i,j-1)+aE(i,j)*T0(1,j)+b(i,j); C(1)=0; B(nodX)=0; W=TDMA(A,B,C,D,direct); for i=1:nodX T(i,j)=W(i); end T0=T; end j=nodY; for i=1:nodX A(i)=aP(i,j); B(i)=aE(i,j); C(i)=aW(i,j); D(i)=aS(i,j)*T0(i,j-1)+b(i,j); end D(1)=aS(i,j)*T0(i,j-1)+aW(i,j)*T0(nodX,j)+b(i,j); D(nodX)=aS(i,j)*T0(i,j-1)+aE(i,j)*T0(1,j)+b(i,j); C(1)=0; B(nodX)=0; W=TDMA(A,B,C,D,direct); for i=1:nodX T(i,j)=W(i); end end

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值