利用Matlab进行环肋肋效率数值计算
写在前面:Matlab相较于C来说界面更友好,操作起来也更方便,还可以直接做出好看的图,工科学生掌握一下可以避免跟C“苦苦纠缠”;迭代方法用的高斯赛德尔,其实还有其他一些数值计算方法,我还保存着一部分,会在后面文章中写一下;程序有注释,希望不要纯抄,看看注释很容易明白的;在编写过程中,我感觉节点微元怎么取很关键,取的不恰当结果会差很多,程序中的微元面积应该是扇形面积,请注意观察。
正文:根据《传热学》中对导热方程的离散化,对离散方程进行进一步化简,可得:
显然,可将离散方程表示为AΘ=b的形式,其中A为一个N×N的系数矩阵,Θ为一个1×N的解矩阵,b为一个1×N的右端项矩阵。这样做的目的是,利用矩阵的形式进行数值计算,较课本上的计算方法更有序,更容易从数值计算的角度理解。(学过《数值计算方法》的朋友应该比较理解,课本上给的高斯赛德尔迭代方法让人感觉很笨拙)
以高斯-赛德尔迭代法为核心设计程序,程序设计框图如下:
两个程序放在同一个文件夹内,运行主程序即可,分成两部分的原因在于迭代程序换成其他的迭代方法也未尝不可,故提供了再编辑的可能。不过高斯赛德尔算是比较好的方法,如果用牛顿迭代甚至可能会出现不收敛的情况,这里我没有试过,有兴趣可以换一下试试。
根据所设计的程序,可任意输入节点数,获得相应的肋效率。计算结果就不列出了,程序应该没什么问题,运行一下便知。