资源描述:
《利用Matlab进行环肋肋效率数值计算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、传热学课程项目研究报告利用matlab进行环肋肋效率数值计算(精度极高!!)学生姓名:储运16zyl根据《传热学》中对导热方程的离散化,对离散方程进行进一步化简,可得:112211(-)(2m)()0(4-1)2n12n2n1R2RRRR2RRnn1(4-2)1-0(4-3)NN1显然,可将离散方程表示为AΘ=b的形式,其中A为一个N×N的系数矩阵,Θ为一个1×N的解矩阵,b为一个1×N的右端项矩阵。这样做的目的是,利用矩阵的形式进行数值计算,较课本上的计算方法更有序,更容易从数值计算的角度理解。以高斯-
2、赛德尔迭代法为核心设计程序,程序设计框图如下:高斯赛德尔迭代函数gaussseidel.m:function[x]=gaussseidel(A,b,x0)format;%四位精度%至少输入方程组的系数矩阵,方程组右端项,以及初始解向量。D=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);G=(D-L)U;f=(D-L)b;x=G*x0+f;n=1;while(n<100001)%此循环决定迭代次数,此处统一迭代了100000次,方便满足取各节点值时的精度,也可根据需要修改循环,以达到某允许误差值。x0=x;x
3、=G*x0+f;n=n+1;End主程序heat.m:clearclcformat;disp('传热学.例题4-4.环肋肋效率matlab程序.储运实验1601.张颖龙.1601020125');k=input('请输入k=r2/r1的值.');kN=input('请输入节点数N的值.');Nm=input('请输入参数m的值.');mDeltaR=1/(N-1)%定义步长R=[]%定义无量纲半径矩阵fori=1:1:NR(i)=(1/(k-1))+((i-1)/(N-1));%为无量纲半径赋值endb=zeros(N,1);%定义一个N行1列的
4、零矩阵,作为右端项。b(1)=1%定义b的第1个值为1,以便表达出Θ1=1这个条件。theta0=ones(N,1)%设置Θ的迭代初值。A=zeros(N,N)%定义一个系数矩阵A。因为其中大部分元素为0,先使它成为一个零矩阵,再对特殊元素赋值。A(1,1)=1;%定义A(1,1)的值为1,以便表达出Θ1=1这个条件。这个条件的表达必须将A(1,1)设为1,否则在调用迭代函数时会因有一项对角元为0而出错。forj=2:1:N-1A(j,j-1)=(1/(DeltaR^2))-(1/(2*DeltaR*R(j)));A(j,j)=-(2/(Delt
5、aR^2))-2*m^2;A(j,j+1)=(1/(DeltaR^2))+(1/(2*DeltaR*R(j)));end%此循环为系数矩阵A赋值。A(N,N-1)=-1;A(N,N)=1;%这两个赋值是为了表达出ΘN-ΘN-1=0,即ΘN=ΘN-1这个顶端绝热条件。theta=gaussseidel(A,b,theta0)%调用gauss-seidel函数。%以下开始计算肋效率s1=0;s2=0;fori=2:1:N-1s1=s1+(R(i)-DeltaR/2)*DeltaR*theta(i);s2=s2+(R(i)-DeltaR/2)*Delt
6、aR;ends1=s1+R(1)*DeltaR/2*theta(1)+(R(N)-DeltaR/2)*DeltaR/2*theta(N);s2=s2+R(1)*DeltaR/2+(R(N)-DeltaR/2)*DeltaR/2;Fi=s1/s2;disp('肋效率为:');Fi两个程序放在同一个文件夹内,运行主程序即可,分成两部分的原因在于迭代程序换成其他的迭代方法也未尝不可,故提供了再编辑的可能。根据所设计的程序,可任意输入节点数,获得相应的肋效率。表一列出了r2/r1=2,m=2,节点数N取16、20、36、64、100、150、200、25
7、0、300时肋效率的值。表一节点数对肋效率的影响(r2/r1=2,m=2)N16203664100150200250300η0.27730.27600.27410.27330.27300.27280.27280.27270.2727由表一可知,在不同节点数下,肋效率可保证两位有效数字不再改变,特别是当节点数N取到150以上时,可使在三位有效数字下的解稳定。根据网格无关性检验的结果,可取节点数N=150,分别计算当r2/r1=2、3、4,m取0.1、0.5、1.0、1.5、2.0、2.5时肋效率η的值,列于表二中。表二环肋肋效率随r2/r1及m的变
8、化m0.10.511.522.5r2/r120.99070.81410.54280.37100.27280.213530.98870.7