当前位置:文档之家› MATLAB在导热问题中的应用

MATLAB在导热问题中的应用

MATLAB在导热问题中的应用
MATLAB在导热问题中的应用

分类号密级

U D C 编号

本科毕业论文(设计) 题目MATLAB在导热问题中的运用

所在院系数学与数量经济学院

专业名称信息与计算科学

年级 05级

学生姓名朱赤

学号 0515180004

指导教师周瑾

二00九年四月

文献综述

1、概述

MATLAB是一个为科学和工程计算而专门设计的高级交互式的软件包。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需简单的列出数学表达式,其结果便以数值或图形方式显示出来。MATLAB中有大量的命令和事先定义的可用函数集,也可通称为MATLAB的M文件,这就使得用它来求解问题通常比传统编程快得多;另外一点,也是它最重要的特点,易于扩展。它允许用户自行建立完成指定功能的M文件。从而构成适合于其它领域的工具箱。MATLAB既是一种编程环境,又是一种程序设计语言。它与其它高级程序设计语言C、Fortran等一样,也有其内定的规则,但其规则更接近于数学表示,使用起来更为方便,避免了诸如C、Fortran语言的许多限制,比方说,变量、矩阵无须事先定义;其次,它的语句功能之强大,是其它语言所无法比拟的,再者,MATLAB提供了良好的用户界面,许多函数本身会自动绘制出图形,而且会自动选取坐标刻度。

传热学是一门研究由温差引起的热能传递规律的科学,其理论和技术在生产、科学研究等领域得到了广泛的应用。在能源动力、建筑建材及机械等传统工业部门中,传热学理论的应用解决了这些部门生产过程的热工艺技术,而在新能源利用、军事高科技等新技术领域中,它甚至对一些关键技术起到了决定性作用。传热过程是传热学研究最基本的过程之一,传统的数学分析解法只能解决相对简单的传热问题,而在解决复杂的实际传热问题时,数学描述和求解都很困难。随着计算机技术的兴起,解偏微分方程组等早期不能被很好解决或模拟的部分已逐渐被人们完成。同时,计算机技术的发展,尤其是MATLAB的出现,不但解决了很多较复杂的问题,也大大促进了传热学理论的发展。

本文就介绍目前在该领域的研究状况,以及存在的问题。

2、主题

2.1 什么是导热

两个相互接触的且温度不同的物体,或同一物体的各不同温度部分间,在不

发生相对宏观位移的情况下所进行的热量传递过程称为导热。求解导热问题的思路主要遵循“物理问题→数学描写→求解方程→温度分布→热量计算”,这一方法对分析方法和数值方法都适用,且后者结合MATLAB,则易于求解复杂的导热问题。

2.2 用MATLAB处理导热问题目前的研究现状

I.V .Singh结合MATLAB和其他数学工具无网格化求解了综合传热问题。作者采用了无网格Galerkin方法,基于拉格朗日综合法建立导热过程模型并确定基本边界条件,利用MATLAB快速地解出方程,得到数值解。研究发现,相对于如有限元法等一般分析方法,通过该软件能提高解题效率及解的精度。

Lamartine Nogueira Frutuoso Guimaraes等研究了一个U型管的蒸汽发生器的模型推导。U型管蒸汽产生器是压力水发生器的重要部件,作者分析了其内有效导热过程为一个二维导热过程,从而推导出所要的模型后,结合MATLAB软件求解了问题,完成了模型的建立、求解及验证,并通过该软件完成了更完善的模拟和仿真分析。

Fatemeh Esfandiari Nia等对空调系统中的除湿转轮的热力过程进行了建模和仿真。文章分析了除湿转轮上的除湿机综合传热及转轮绝热除湿过程。得到其模型后,通过MATLAB的SIMULINK工具箱得到所要的数值解,并对结果仿真和可视化分析。研究发现,这种研究方法是有用的,且其结果对HV AC系统的效率测定有很好的指导意义。

李萍等采用MATLAB中的PDE工具箱求解了一般的导热问题,给出了平壁点热源导热的算例。分析表明,使用MATLAB中的PDE工具箱可以不需编程,直接进人用户图形界面(GUI)操作,快捷灵活地对点热源导热模型进行求解。在GUI 上还可以处理复杂几何形状的导热问题,这是MATLAB有别于其他软件的地方。同时因为有了网格的精化,使得模型中的有限元数值解的精度大大提高。

热合买提江·依明江等基于MATLAB对由用EXCEL得到的矩形薄片的热传导问题的计算数值进行了仿真研究。作者对薄片的二维导热问题进行了离散化研究,分别得到薄片边界和内部节点的差分方程,用MS.Excel求得节点温度,用MATLAB软件对计算结果仿真。研究表明,可视化处理不但求出了与实际想吻合的图形,还便于理解和深人研究及利用。

王平等明对芯层为秸杆的复合材料传热特性进行了研究。复合材料从外到内分别为聚丙烯纤维等组成的抗压外层,石灰/发泡剂等组成的保温层,秸杆层。经分析复合材料芯部传热方式只能为导热。实验测量得到数据后,由MATLAB 对其处理和仿真,得到秸杆密度和湿度与整体导热系数的曲线,研究结果可以作为该产品生产的参考意见。

艾元方等研究了蜂窝蓄热体内温度分布。作者建立了蜂窝蓄热体传热数学模型,利用拉普拉斯变换法求解得到的传热偏微分方程组,由于求得的精确解较复杂,因此对其进行有限差分,编写MATLAB程序,利用其符号运算功能,运行后获得方程的半精确解。和有关文献的结果吻合,但借用MATLAB软件后,使得获取蜂窝蓄热体传热半精确

解的过程高效而经济。

Chao Chen等对一种用于墙体储能的新相变材料(PCM)进行了实验和模拟仿真。作者建立了有新新相变材料的墙体的一维非线性导热模型,利用MATLAB 求解,该问题很快得到结果,并可以绘制节能效果图,研究发现,相变点设置在23度墙厚30毫米时,能节能17%或更高。

王金良研究了复合墙内外保温的传热过程。内外保温墙体材料从内到外分别依次为水泥、砖墙、空气层、聚苯乙烯泡沫板和石膏板和水泥砂浆、聚苯乙烯泡沫板、砖墙和抹灰。两种情况的传热分析在相同的总热阻和室内冷负荷环境下进行,得到温度场的表达式后,采用MATLAB仿真计算得到了各个交界面温度随时间的变化曲线,对比发现:外保温可以延长主墙使用寿命,不易出现表面结露和内部结露,不易产生冷热桥,内保温方式则相反,因此,外保温方式是值得推广和利用的复合墙节能保温方式。借助MATLAB工具,两种保温方式结果对比明显、直观。

李灿等利用MATLAB解决了三个难以用解析方法求解的算例。研究包括:一长方体钢锭的无内热源三维非稳态导热问题;一圆柱形核电站用燃烧棒的有内热源的非稳态导热问题;一正方形内嵌一菱形的有内热源的复杂边界热传导问题,利用MATLAB及其PED工具箱分别得到了三个算例的5h时刻温度分布图和温度梯度分布图、10h时刻温度分布云图、OAS时刻的等稳图和热流密度图。

罗静丽研究了土壤源热泵垂直埋管的温度场。作者建立了土壤源热泵(垂直

埋管)U型埋管的传热模型,得到导热微分方程,借助一个算例,利用MATLAB 对其数值模拟,利用其强大的PED工具箱获得U型管周围的非稳态温度场,并对管的设计和铺就提供了参考意见。正是MATLAB的强大功能使复杂几何形状和复杂边界条件的非稳态导热问题得到迅速解决,而利用其图形可视化功能则使得计算结果形象、直观而且便于理解。

Joydeep Barman等研究了管壳式换热器内的最佳肋片高度。利用了MATLAB 仿真工具箱来测定限制条件数值变化规律,研究不同形状(三角形和圆形)肋片换热变化方式和规律。发现肋片的最佳高度能使换热热流密度最大,且最佳肋片高度变化和换热器外径增大成线性关系。

阂剑青利用MATLAB对直肋导热进行了数值模拟。对一个等截面直肋算例,建立了其导热的一维和二维的数学模型,利用PDEtool工具箱,采用有限元法求解导热偏微分方程,求出两模型的数值解并模拟了肋片温度分布云图和温度梯度分布图,分析发现两种模型是等价的,但二维模型更符合实际,而且PDEtool工具箱解决二维PDE问题非常方便;文章最后根据绘制的温度图象对算例中肋片的参数设计提供了改进意见,使肋片的导热系数提高了近34%。结果表明运用MATLAB/PDE数值计算方法是方便而高效的,MA TLAB是换热器工程结构设计和优化分析的有利工具。

牛天况等采用MATLAB软件对描述H型鳍片中传热过程的偏微分方程进行

了求解,得出H型鳍片管在烟气中的传热过程是对流何导热的综合过程,导热在过程中有重要作用,可以采用鳍片效率何综合传热能力来评价H型鳍片管的传热特性;不同外形尺寸何厚度的鳍片对传热均有显著影响。必须将鳍片的导热过程的计算分析和对流换热的试验研究相结合,才能揭示H型鳍片管的传热规律,借助MATLAB强大的数值计算和图像功能,可以方便地得到结果。

叶长桑研究了MATLAB在肋片传热特性分析和最轻设计上的应用。主要内容是:分析肋片传热特性,建立数学模型,获得温度分布、散热量、肋效率等重要参数;利用MA TLAB的微分方程求解器快速、方便、准确地模拟了肋片导热过程,直观地获得了数值解,借助MATLAB绘制了肋片厚度、高度、形状对散热量影响的规律曲线;对肋片结构优化设计提供了思路,即对薄肋采用矩形肋片优于三角形肋片,而对于厚肋则采用三角形肋片的散热量高于矩形肋片。

2.3 目前存在的问题

几乎所有的工程问题都能转化成数学模型来解,而且借助MATLAB,大多数的模型的数值解的精确度均能满足要求。但是,存在的问题也不少。首先,数值解法存在许多局限性,一个解只能适用于一个或几个模型,或者一个或几个方程。而解析解的得到能使我们得出所有同类问题的通解,并且精确度高于数值解。这是由于数学的发展程度还不足以满足自然科学的发展要求,数值解法只是一个权宜之计。其次,MATLAB虽然能处理大量的数学问题,但其命令繁多,再加上各种工具箱,要完全学会和很好的使用MATLAB不是一件容易的事情,在编辑和阅读程序时通常要借助工具书查询相关命令,这样就增加了使用难度,使得MATLAB不能广泛的普及。再者,要合理的使用MATLAB来解决数学问题,必需是建立在良好的数学基础之上的,这就势必要求MATLAB的使用者有扎实的数学功底,这又给MATLAB的普及带来了挑战。最后,由于工程中的导热问题的数学模型并不一都能很顺利的建立,这就给使用MATLAB解决导热问题增加了难度。

3. 小结

MATLAB在数值计算中的应用十分广泛,处理问题也是十分有效。其作为数学软件有其强大的图形用户界面操作、数据和函数的可视化和数值计算功能,且自带很多现有的函数和工具包,这使纷繁复杂的工程问题能一一化解。MATLAB 在工程计算和数据处理中具备如下优点:

(1)较其它高级程序设计语言,MATLAB程序语言的规则更为接近数学表示。.

(2)语句简洁明了,表意却出乎意料的丰富。出现了“一句顶几百句其它语言”

的生动场面,这一点是C、Fortran等程序设计语言所无法比拟的。

(3)在有大量数据的处理过程当中,避免变量、矩阵的事先定义,MATLAB会自动

获取所需的存储空间。

(4)提供了良好的用户界面,许多函数本身会自动绘制出图形,而且会自动选取

坐标刻度可以使用户大大节约设计时间,提高设计质量。此外,本文由于讨论问题所限,还未涉及到其它易于扩展的功能。这一功能可以方便地构造出专用函数,从而大大地扩展MATLAB的应用范围。

综上所述 MATLAB工具软件在数据的处理和结果成图方面都是极具潜力的。不光在导热问题中,通过MATLAB,几乎所有的工程问题都能迎刃而解。

参考文献:

[1]I. V. Singh. A numerical solution of composite heat transfer problems using meshless method .International Journal of Heat and Mass Transfer, 2004,47, 47 (10-11) :2123-2138 .

[2]Joydeep Barmana,and A.KGhoshal. Performance analysis of finned tube and unbaffled shell-and-tube heat ex changers[J] .International Joural of Thermal Sciences, 2007,46, 46 (12) :1311-1317 .

[3]Lamartine Nogueira Frutuoso Guimares,Nilton da Silva Oliveira,Jr.,and Eduardo Madeira Borges. Derivation of a nine variable model of a U-tube steam generator coupled with a three-element controller[J] .Applied Mathe-matical Modelling, 2007,22, 22 (2) :191-202 .

[4]Fatemeh Esfandiari Nia,Dolf van Paassen ,and Mohamad Hassan Saidi. Modeling and simulation of desiccant wheel for air conditioningJ] .Energy and Buildings, 2006,38, 38 (10) :1230-1239 .

[5]Chao Chena,Haifeng Guo,Yuning Liu,Hailin Yue, and Chendong Wang. A new kind of phase change material(PCM)for energy-storing wallboard[J] .Energy and Build-ings. 2007, .

[6]李萍,张薇. MATLAB在求解温度场中的应用.工业炉, 2005,(03) .

[7]艾元方,孙英文,黄国栋,张灿. 用拉普拉斯变换法求解蜂窝蓄热体气固温度分布.工业加热, 2006,(02) .

[8]牛天况,王振滨. H型鳍片管传热过程的研究.锅炉技术, 2007,(04) .

[9]王金良. 复合外墙内外保温的传热分析与应用探讨.能源技术, 2004,(06) .

[10]叶长燊. 基于MATLAB的肋片传热特性分析与优化设计.化工设计, 2005,(06) .

[11]热合买提江·依明江,买买提明·艾尼. 基于EXCEL和MA TLAB的矩形薄

片热传导计算与仿真研究.佳木斯大学学报(自然科学版), 2007,(04) .

[12]罗静丽. 土壤源热泵垂直埋管温度场的数值模拟.制冷与空调(四川), 2007,(02) .

[13]王平,张双喜,生晓燕,张剑平,余才锐. 芯层为秸杆的复合材料热工性能研究.新型建筑材料, 2007,(07) .

摘要:MATLAB在工程中应用很广,尤其是在计算复杂的算式中,显得尤为重要。例如,在研究传热学里关于热流量的计算时,对于复杂几何形状的物体和非线性边界条件下的导热问题,应用分析法是不可能的。在这种情况下,建立有限差分法,有限元和边界法基础上的数值计算法是求解问题的十分有效而准确性很高的方法。现在,许多复杂的导热问题都可以用MATLAB来处理,得到满意的数值解。

另一方面,MATLAB软件在传热学研究中已经得到了广泛的应用,同时促进了传热学自身的发展。本人认为,MATLAB在传热学中的应用与深化对于传热学的发展有着深远的意义。

关键词:MATLAB 传热学导热

Abstract :MATLAB is widely used in engineering, especially in the calculation of complex formula, appear particularly important. For example, in the study of the theory about the chain, for complex geometric objects and nonlinear boundary conditions, the application of thermal analysis is impossible. In such circumstances, establish finite difference method, the finite element method based on the border of numerical calculation method is very effective and solve the problem of high accuracy. Now, many complex thermal problems can use MATLAB ? to handle, numerical solution satisfactory.

On the other hand, in the heat of MATLAB software research has been widely applied, and promote the development of heat transfer. I think, in the application of heat transfer on MATLAB for the development of deepening the heat is of profound significance.

Key words: MA TLAB heat transfer theory heat conducting

目录

1.MATLAB简介 (1)

2.MATLAB在简单的一维稳态导热问题中的应用 (2)

3.MATLAB在稳态与动态导热过程分析中的应用 (6)

3.1 MATLAB在稳态导热分析中的应用 (6)

3.2 MATLAB在动态传热分析中的应用 (9)

4.小结 (14)

参考文献 (15)

1.MATLAB简介

MATLAB (MATrix LABoratory)具有用法简易、可灵活运用、程式结构强又兼具延展性。

以下为其几个特色:

?功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。

?先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。

?高阶但简单的程式环境 - 做为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。

?开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。

?丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。

MATLAB有几种在不同电脑作业系统的版本,例如在视窗3.1上的MATLAB for Windows, SIMULINK,在麦金塔上的MATLAB for Macintch,另外还有在Unix上的各种工作站版本。基本上这些版本主要是提供方便的操作环境,采用图形介面。以下针对前述的几种在PC上的MATLAB 版本做简要说明:

?MATLAB for Windows,此版本须要在PC电脑的中英文视窗3.1下执行。与旧的DOS版本不同的是对图形显示有大幅改善,使得软体更合适做信号处理及影像处理的分析。此外一些重要的设定指令也改为由视窗中选择。目前308

是安装的是4.0版,不过较新的版本为4.2,而最新版的5.0也刚刚上市。4.0和4.2的差异不是很大, 而5.0未用过所以其功能如合并不清楚。有兴趣了解者请到MathWorks 网站一探究竟。

? SIMULINK ,此软体必须在中英文视窗3.1下执行,是给控制领域的使用者做分

析线性/非线性、离散系统 。此外也提供很方便的示波器输出,做为讯号的监控。

? Student Edition of MATLAB ,除了上述各类的MATLAB 专业版本,在1995年

Mathworks 公司又推出学生专 用的Student Edtion of MATLAB ,这个版本为

4.2,而它的功能与专业版几乎相同,但是多了一些限制。其限制简述如下: (1)每个向量能能使用的元素个数上限为8192 (2)每个矩阵的元素总数上限也为8192,此外不论行或列向量的个数上限为32 (3)程式不能和C 或是Fortran 的副程式作动态连结。但是它附了二个工具箱:符号运算和讯号处理。

2.MATLAB 在简单的一维稳态导热问题中的应用

常微分方程有时很难求解,MATLAB 提供了功能强大的工具,可以帮助求解微分方程。函数dsovle 计算常微分方程的符号解。因为我们要求解微分方程,就需要用一种方法将微分包含在表达式中。所以,dsovle 句法与大多数其它函数有一些不同,用字母D 来表示求微分,D2,D3等等表示重复求微分,并以此来设定方程。任何D 后所跟的字母为因变量。由此,常微分方程y y y ='+''2在MATLAB 中应写为D2y+2Dy=y 。方程22dx y

d =0用符号表达式D2y=0来表示。独立变量可以指定或由symvar 规则选定为

缺省。

dsolve(‘diff_eqution ’,’condition1’,’condition2’,’condition3’,….,’var ’)

算例:

通过平壁的导热: 微分方程:022=dx t

d

边界条件:21:;:0t t x t t x ====δ 对微分方程积分两次可得:211c x c t c dx dt

+== 由边界条件可得:12121;t c t t c =-=δ 这样平壁的温度分布为:11

2t x t t t +-=δ 热流量:()21t t A

t A qA -=?==Φδλδλ

算例:

一锅炉炉墙采用密度为300kg/m 3的水泥珍珠岩制作,壁厚δ=100mm ,已知内壁温度t 1=500℃,外壁温度t 2=50℃,求炉墙单位面积、单位时间的热损失。 解:材料的平均温度为275250

500=+=t ℃

查表得{λ}w/(m ·K)=0.0651+0.000105{t}℃ 于是0940.027*******.00651.0=?+=λW/(m ·K)

()()423505001.00940.021=-=-=t t q δλ

W/㎡

程序:

>> y=dsolve('D2y=0','y(0)=500','y(0.1)=50')

y =

-4500*t+500

绘图:

>> y

=-4500*t+500;t=linspace(0,0.1,50);plot(t,y)

内热源问题:

考虑一具有均匀内热源Φ的大平壁,厚度为2δ,平壁的两侧均为第三类边界条件,周围流体的温度为f t ,表面传热系数为h 。由于对称性,这里考虑平壁的一半。问题

的数学描述如下。

微分方程: 022=Φ+λ dx t

d

考虑边界条件时,x=0处可认为是对称条件,这样两个边界条件为:

)(,;0,0f t t h dx dt

x dx dt

x -=-===λδ

对微分方程积分得: 1c x dx dt

-=λ

将x=0的边界条件代入上式可得01=c 。再将01=c 代入上式,并再次积分得:

22

2c x t +Φ

-=λ 最后将x=δ的边界条件代入上式可求出2c ,得出具有均匀内热源的平壁内温度分布

为:

()f t h x t +Φ

+-Φ

=δδλ 222

由傅里叶定律得任一位置处的热流密度为:

x q Φ=

由结果可知,具有均匀内热源的平壁温度分布为抛物线,而不是线性的。同时,热流密度不再是常数,而是与x 成正比。

上面我们分析的是第三类边界条件下的结果,当∞→h 时,w f t t →,这时第三类

边界条件变为第一类边界条件。令∞→h 时,w f t t →可得到第一类边界条件时的温

度分布为:

()w t x t +-Φ=

λδ222

算例: 厚度为10㎝的大平壁,通过电流时发热率为4103?W/m 3,平壁的一个表面绝热,另一表面暴露于25℃的空气之中。若空气与壁面传热数为50W/(㎡·K),壁的导热系数为3W/(m ·K),试确定壁中的最高温度。

解:

由题意:

()f t t h dx dt

x dx dt

x -=-===λδ,;0,0

()()25501

.01031.03210324224

22+??+-???=+Φ+-Φ

=x t h x t f δ

δλ

当135;0max ==t x ℃

程序:

>>dsolve('D2y=-10^4','Dy(0)=0','y(0.1)=3*10^4*0.1/50+25')

ans =

-5000*t^2+135

绘图:

>>t=linspace(0,0.1,50);y=-5000.*t.^2+135;plot(t,y)

以上能看出,MATLAB 中有特定的函数,便于我们解决简单的边值问题,以减少较多计算量,使繁琐的计算变得简洁、明了,并且其强大的绘图功能也便于我们直观的看到温度分布曲线。

3.MATLAB 在稳态与动态导热过程分析中的应用

热传递过程主要分为稳态传热与动态传热两大类。描述传热过程的数学模型多为微分方程,要对传热过程进行分析研究,必须求解这些微分方程。但是只有在个别简单的情形下可以获得解析解;如一维稳态传热过程可以获得形式较为简单的解析解。一维动态传热过程在某些简单边界、初始条件下能获得无穷级数解,而多数的传热过程则无法获得解析解。因此对于传热过程的模拟研究则需要利用有限差分法、正交配置法、有限元法等数值方法求解描述传热过程的微分方程,这使得研究过程重复编程工作量大,效率低。随着计算技术的发展,尤其MATLAB 的发展为传热过程的研究分析提供了一个强有力的数值 与求解工具。利用MA TLAB 中的PDETOOL 工具箱、BVP4C 、PDEPE 等命令能够很好地求解一维稳态导热、二维稳态、二维动态导热等传热问题。

3.1 MA TLAB 在稳态导热分析中的应用

在传热过程的分析研究中,为了工程应用必须要达到两个基本目的,即确定

所研究传热问题的温度分布和传递的热流量;所以对传热过程的分析研究中必然要求解传热微分方程。对稳态导热过程,在直角坐标系中其导热微分方程为: 0=Φ+??? ??????+???

? ??????+??? ??????c z t z y t y x t x ρλλλ (1) 对一维稳态导热,当边界条件较为复杂或者微分方程只能用柱坐标、球坐标系表示时,难以获得解析解,如在直径为20mm 的圆管外安装环形肋片,其表面温度t 0为260℃,肋片导热系数λ为45W/m ?K ,置于环境温度t ∞为16℃、对流传热系数h 为150W/㎡·K 的气流中;要求确定肋高H 为0.01m ,肋厚δ为0.0003m 环肋的温度分布及单个环肋的散热量。这一问题是导热系数为常数的一维稳定热传导,柱坐标表示的导热微分方程为:

()()λδ

λλ∞∞-=-=Φ=??? ??t t h A t t hp dr dt r dt d r C 21 (2) 边界条件为:r=r 1时,t 0=260℃(肋根)r=r 2=r 1+H 时,02==r r dr dt

(肋端绝热)

。可见这是两点边值的常微分方程求解问题,常规方法是利用肋效率曲线图进行计算,读图误差大其计算繁琐;若利用MATLAB 求解,需将其转化为常微分方程

组的形式:()()()??

?????≤≤==--==∞2

1221121221,0,2602''r x r r y r y x y y y h y y y λδ (3) 其中,y 1表示温度,x 表示半径;在MALTAB 中建立两个函数huanleifun.m 和huanleibc.m 分别确定以

上常微分方程组和边界条

件。

Function

? =huanleifun(x,y)

?(1)=y(2);

?

(2)=2*150/45/0.0003*(y(1

)-16)-y(2)./x;

?=[ ?(1);?(2)];

function ?=huanleibc(a,b)

?=[a(1)-260;b(2)];

其中,a (1)代表常微分方程组中第一个因变量y 1的左边界,b (2)代表常微分方程组中第二个因变量y 2的右边界;那么在MATLAB 命令窗口中输入以下命令: solinit=bvpinit([0.01:0.001:0.02],[1,1]);

sol=bvp4c(@huanleifun,@huanleibc,solinit);

plot(sol.x-0.01,sol.y(1,:))

q=-45*2*pi*0.01*0.0003*sol.y(2,1);

bvpinit 是对常微分方程边值问题先划分初始网格,其中第一个参数是对x

坐标进

行的分割,第二个参数为因变量的初值,而后利用边值问题的求解器bvp4c 求解,结果赋值给变量sol,sol.x 为自变量,sol.y 为因变量,sol.y(1,:)则为y 值,sol.y(2,:)则为y 2值,所以sol.y(1,:)即为肋片上对应于不同肋片位置sol.x-0.01的温度分布,绘图命令为plot(sol.x-0.01,sol.y(1,:)),所得温度分布如图1所示;而肋片的散热量都必须要通过肋根向外传递,所以在肋根处的传热量可以根据傅里叶定律计算,即:

1r r r t

A Q =??-=λ(4)

MATLAB 命令为:q=-45*2*pi*0.01*0.0003*sol.y(2,1),结果为35.7581W

对于二维稳态导热,无论在何种坐标系中其导热微分方程通常无法得到解析解,只能采用有限差分法、正交配置法、有限元法等数值方法求解,但采用这些方法需要进行大量的编程工作,并且对于不同的导热问题,重复编程,效率低;而MATLAB 则为偏微分方程的求解提供了一功能强大的PDETOOL 工具箱。如图2所示的偏心环形空间内表面温度为100℃,外表面温度为20℃;试给出其温度分

布。

在MATLAB 命令窗口

中输入PDETOOL 命令,

启动PDETOOL 工具箱,

其主界面如图3所示,利

用PDETOOL 工具箱求解

偏微分方程的方法步骤如

下:

(1)在此界面中利用

Draw 菜单在坐标系中画

出所研究的导热物体的形

状,其形状可由方形、椭

圆形、圆形及任意折线组成,所以对于不规则形状的导热物体均可以在

PDETOOL

中绘制出来;(2)在PDETOOL窗口中选择相应的边界,由Boundary菜单中的Specify Boundary Condition选项输入边界条件,其边界可以是Neumann、Dirichlet 和混合边界条件;针对本问题选择Neumann边界条件,其格式为Ht=R;其中在内表面处温度为100℃,则设置H=1、R=100;相应在外表面边界上则设置H=1、R=20;

此处的H、R可以是自变量和因变量的函数,所以可适用于复杂的边界条件;(3)在PDE菜单PDE Specification 选项中定义偏微分方程的形式包括椭圆形、抛物型、双曲型、特征型偏微分方程;对于本问题来说是二维稳态导热为椭圆型偏微分方程;

(4)PDETOOL是利用有限元法来求解偏微分方程的,所以要对其求解区域分割三角形网络,这由Mesh菜单来实现,分割后的网络图如图3所示;由于三角形网格的大小形状是任意的,所以它可适用于各种形状的求解区域;

(5)由Solve菜单求解偏微分方程;

(6)利用plot命令将求解结果

以各种类型图(包括等值线图、

矢量图、网格图、三维图、动

画等)的形式表示出来如图2

所示,图2中的实线为等温线,

图中箭头大小表示了其温度梯

度的大小,根据图示等温线的

疏密程度和箭头的分布情况即

可分析其热流密度等各传热特

性;或者由Mesh菜单中的

Export Mesh和Solve菜单中的

Export Solution选项导出求解

网格的坐标和结果数据;供传热过程的进一步分析如传热量大小的分析。

3.2 MA TLAB在动态传热分析中的应用

MATLAB还可以应用于动态过程,对动态导热过程,在直角坐标系中导热微分方程为:

MATLAB编辑一维热传导方程的模拟程序

求解下列热传导问题: ()()()()?????????====-=≤≤=??-??1, 10,,1,010,001222ααL t L T t T z z T L z t T z T 程序: function heat_conduction() %一维齐次热传导方程 options={'空间杆长L','空间点数N' ,'时间点数M','扩散系数alfa','稳定条件的值lambda(取值必须小于',}; topic='seting'; lines=1; ; def={'1','100','1000','1',''}; h=inputdlg(options,topic,lines,def); L=eval(h{1}); N=eval(h{2}); M=eval(h{3}); alfa=eval(h{4}); lambda=eval(h{5});%lambda 的值必须小于 %*************************************************** ¥ h=L/N;%空间步长 z=0:h:L; z=z'; tao=lambda*h^2/alfa;%时间步长 tm=M*tao;%热传导的总时间tm t=0:tao:tm; t=t'; %计算初值和边值 @ T=zeros(N+1,M+1); Ti=init_fun(z); To=border_funo(t); Te=border_fune(t); T(:,1)=Ti; T(1,:)=To; T(N+1,:)=Te; %用差分法求出温度T 与杆长L 、时间t 的关系 : for k=1:M m=2;

一维热传导MATLAB模拟

昆明学院2015届毕业设计(论文) 设计(论文)题目 一维热传导问题的数值解法及其MATLAB模拟子课题题目无 姓名伍有超 学号 5 所属系物理科学与技术系 专业年级2011级物理学2班 指导教师王荣丽 2015 年 5 月

摘要 本文介绍了利用分离变量法和有限差分法来求解一维传导问题的基本解,并对其物理意义进行了讨论。从基本解可以看出,在温度平衡过程中,杠上各点均受初始状态的影响,而且基本解也满足归一化条件,表示在热传导过程中杆的总热量保持不变。通过对一维杆热传导的分析,利用分离变量法和有限差分法对一维热传导进行求解,并用MATLAB 数学软件来对两种方法下的热传导过程进行模拟,通过对模拟所得三维图像进行取值分析,得出由分离变量法和有限差分法绘制的三维图基本相同,且均符合热传导过程中温度随时间、空间的变化规律,所以两种方法均可用来解决一维热传导过程中的温度变化问题。 关键词:一维热传导;分离变量法;有限差分法;数值计算;MATLAB 模拟

Abstract In this paper, the method of variable separation and finite difference method are introduced to solve the problem of one-dimensional heat conduction problems, and the physical significance of numerical methods for heat conduction problems are discussed. From the basic solution, we can see the temperature on the bar are affected by the initial state during the process of temperature balance, and basic solution also satisfy the normalization condition which implied the invariance of the total heat in the bar during the heat conduction process. Through the analysis of the one-dimensional heat conduction, by taking use of variable separation method and finite difference method, we simulated the one-dimensional heat conduction problem by MATLAB. The three-dimensional images of the simulation results obtained by the method of separation of variables and finite difference method are similar to each other, and the temperature curve is in accordance with the law of temperature variation during heat conduction. Thus, we can go to the conclusion that both methods can be used to deal with the one-dimensional heat conduction problems. Keywords: One-dimensional heat conduction; method of variable separation; finite difference method; numerical method; MATLAB simulation

导热方程求解matlab

使用差分方法求解下面的热传导方程 2 (,)4(,) 0100.2t xx T x t T x t x t =<<<< 初值条件:2(,0)44T x x x =- 边值条件:(0,)0(1,)0 T t T t == 使用差分公式 1,,1,2 2 2 (,)2(,)(,) 2(,)()i j i j i j i j i j i j xx i j T x h t T x t T x h t T T T T x t O h h h -+--++-+= +≈ ,1,(,)(,) (,)()i j i j i j i j t i j T x t k T x t T T T x t O k k k ++--= +≈ 上面两式带入原热传导方程 ,1,1,,1,2 2i j i j i j i j i j T T T T T k h +-+--+= 令2 24k r h =,化简上式的 ,1,1,1,(12)()i j i j i j i j T r T r T T +-+=-++ i x j t j

编程MA TLAB 程序,运行结果如下 1 x t T function mypdesolution c=1; xspan=[0 1]; tspan=[0 0.2]; ngrid=[100 10]; f=@(x)4*x-4*x.^2; g1=@(t)0; g2=@(t)0; [T,x,t]=rechuandao(c,f,g1,g2,xspan,tspan,ngrid); [x,t]=meshgrid(x,t); mesh(x,t,T); xlabel('x') ylabel('t') zlabel('T') function [U,x,t]=rechuandao(c,f,g1,g2,xspan,tspan,ngrid) % 热传导方程:

Matlab解热传导方程代码

Sample MATLAB codes 1. %Newton Cooling Law clear; close all; clc; h = 1; T(1) = 10; %T(0) error = 1; TOL = 1e-6; k = 0; dt = 1/10; while error > TOL, k = k+1; T(k+1) = h*(1-T(k))*dt+T(k); error = abs(T(k+1)-T(k)); end t = linspace(0,dt*(k+1),k+1); plot(t,T),hold on, plot(t,1,'r-.') xlabel('Time'),ylabel('Temperature'), title(['T_0 = ',num2str(T(1)), ', T_\infty = 1']), legend('Cooling Trend','Steady State') 2. %Boltzman Cooling Law clear; close all; clc; h = 1; T(1) = 10; %T(0) error = 1; TOL = 1e-6; k = 0; dt = 1/10000; while error > TOL, k = k+1; T(k+1) = h*(1-(T(k))^4)*dt+T(k); error = abs(T(k+1)-T(k)); end t = linspace(0,dt*(k+1),k+1); plot(t,T),hold on, plot(t,1,'r-.') xlabel('Time'),ylabel('Temperature'), title(['T_0 = ',num2str(T(1)), ', T_\infty = 1']), legend('Cooling Trend','Steady State') 3. %Fourier Heat conduction clear; close all; clc; h = 1; n = 11; T = ones(n,1); Told = T; T(1) = 1; %Left boundary T(n) = 10; %Right boundary x = linspace(0,1,n); dx = x(2)-x(1);

MATLAB编辑一维热传导方程的模拟程序

求解下列热传导问题: 2T 1 T 门 c , 2 0 0 z L z t T乙0 1 z2 T 0,t 1, T L,t 0 L 1, 1 程序: fun ctio n heat_c on ductio n() % 一维齐次热传导方程 options={'空间杆长L','空间点数N','时间点数M','扩散系数alfa',' 件的值 稳定条lambda(取值必须小于0.5)',}; topic='set in g'; lin es=1; def={'1','100','1000','1','0.5'}; h=in putdlg(opti on s,topic, lin es,def); L=eval(h{1}); N=eval(h{2}); M=eval(h{3}); alfa=eval(h{4}); lambda=eval(h{5});%lambda 的值必须小于0.5 o%*************************************************** h=L/N;%空间步长 z=0:h:L; z=z'; tao=lambda*h A2/alfa;% 时间步长 tm=M*tao;%热传导的总时间tm t=0:tao:tm; t=t'; %计算初值和边值 T=zeros(N+1,M+1); Ti=i nit_fu n(z); To=border_fu no (t); Te=border_fu ne(t); T(:,1)=Ti;- T(1,:)=To; T(N+1,:)=Te; %用差分法求出温度T与杆长L、时间t的关系 for k=1:M m=2; while m<=N T(m,k+1)=lambda*(T(m+1,k)+T(m-1,k))+(-2*lambda+1)*T(m,k); m=m+1; end;

热传导方程的求解

应用物理软件训练 前言 MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其

他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。 本部分主要介绍如何根据所学热传导方程的理论知识进行MATLAB数值实现可视化。

题目:热传导方程的求解 目录 一、参数说明 (1) 二、基本原理 (1) 三、MATLAB程序流程图 (3) 四、源程序 (3) 五、程序调试情况 (6) 六、仿真中遇到的问题 (9) 七、结束语 (9) 八、参考文献 (10)

一、参数说明 U=zeros(21,101) 返回一个21*101的零矩阵 x=linspace(0,1,100);将变量设成列向量 meshz(u)绘制矩阵打的三维图 axis([0 21 0 1]);横坐标从0到21,纵坐标从0到1 eps是MATLAB默认的最小浮点数精度 [X,Y]=pol2cart(R,TH);效果和上一句相同 waterfall(RR,TT,wn)瀑布图 二、基本原理 1、一维热传导问题 (1)无限长细杆的热传导定解问题 利用傅里叶变换求得问题的解是: 取得初始温度分布如下 这是在区间0到1之间的高度为1的一个矩形脉冲,于是得 (2)有限长细杆的热传导定解问题

matlab求解热传导实例

matlab 求解热传导问题的几个例子 1.金属板导热问题 解: 2.Matlab 自带例子 :

3.热传导问题的动画程序: 若需要求解偏微分方程组,可用pdepe函数。

4.非均质板壁的一维不稳定导热过程: 可用parabolic 函数求解,该函数的说明如下 : 类比可得系数c=1,a=0,f=0,d=1.计算参考程序如下: [p,e,t]=initmesh('squareg'); [p,e,t]=refinemesh('squareg',p,e,t); u0=zeros(size(p,2),1); ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.8); u0(ix)=ones(size(ix)); tlist=linspace(0,0.1,20); u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,0,1); pdeplot(p,e,t,'xydata',u1(:,8),'mesh','off','colormap','hot'); x=linspace(-1,1,31);y=x; [unused,tn,a2,a3]=tri2grid(p,t,u0,x,y); %制作动画 newplot; umax=max(max(u1)); umin=min(min(u1)); for j=1:8 u=tri2grid(p,t,u1(:,j),tn,a2,a3); i=find(isnan(u)); u(i)=zeros(size(i)); surf(x,y,u);caxis([umin umax]);colormap(hot) axis([-1 1 -1 1 0 1]); m(j)= getframe; end movie(m); x t x x a x t x a t ??????τ??)()(22+=

一维热传导MATLAB模拟

一维热传导MATLAB模拟 昆明学院2015 届毕业设计设计题目一维热传导问题的数值解法及其MATLAB模拟子课题题目无姓名伍有超学号201117030225所属系物理科学与技术系专业年级2011级物理学2班指导教师王荣丽2015 年 5 月一维热传导问题的数值解法及MATLAB模拟摘要介绍了利用分离变量法和有限差分法来求解一维传导问题的基本解,并对其物理意义进行了讨论。从基本解可以看出,在温度平衡过程中,杠上各点均受初始状态的影响,而且基本解也满足归一化条件,表示在热传导过程中杆的总热量保持不变。通过对一维杆热传导的分析,利用分离变量法和有限差分法对一维热传导进行求解,并用

MATLAB 数学软件来对两种方法下的热传导过程进行模拟,通过对模拟所得三维图像进行取值分析,得出分离变量法和有限差分法绘制的三维图基本相同,且均符合热传导过程中温度随时间、空间的变化规律,所以两种方法均可用来解决一维热传导过程中的温度变化问题。关键词:一维热传导;分离变量法;有限差分法;数值计算;MATLAB 模拟 1 一维热传导问题的数值解法及MATLAB 模拟Abstract In this paper, the method of variable separation and finite difference method are introduced to solve the problem of one-dimensional heat conduction problems, and the physical significance of numerical methods for heat conduction problems are discussed. From the basic solution, we can see the temperature on the bar are affected by the initial state during the process of temperature balance, and basic solution

利用matlab程序解决热传导问题

哈佛大学能源与环境学院 课程作业报告 作业名称:传热学大作业——利用matlab程序解决热传导问题 院系:能源与环境学院 专业:建筑环境与设备工程 学号: 姓名:盖茨比 2015年6月8日

一、题目及要求 1.原始题目及要求 2.各节点的离散化的代数方程 3.源程序 4.不同初值时的收敛快慢 5.上下边界的热流量(λ=1W/(m℃)) 6.计算结果的等温线图 7.计算小结 题目:已知条件如下图所示: 二、各节点的离散化的代数方程 各温度节点的代数方程 ta=(300+b+e)/4 ; tb=(200+a+c+f)/4; tc=(200+b+d+g)/4; td=(2*c+200+h)/4 te=(100+a+f+i)/4; tf=(b+e+g+j)/4; tg=(c+f+h+k)/4 ; th=(2*g+d+l)/4 ti=(100+e+m+j)/4; tj=(f+i+k+n)/4; tk=(g+j+l+o)/4; tl=(2*k+h+q)/4

tm=(2*i+300+n)/24; tn=(2*j+m+p+200)/24; to=(2*k+p+n+200)/24; tp=(l+o+100)/12 三、源程序 【G-S迭代程序】 【方法一】 函数文件为: function [y,n]=gauseidel(A,b,x0,eps) D=diag(diag(A)); L=-tril(A,-1); U=-triu(A,1); G=(D-L)\U; f=(D-L)\b; y=G*x0+f; n=1; while norm(y-x0)>=eps x0=y; y=G*x0+f; n=n+1; end 命令文件为: A=[4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0; -1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0,0; 0,-1,4,-1,0,0,-1,0,0,0,0,0,0,0,0,0;

matlab求解热传导实例(可编辑修改word版)

matlab 求解热传导问题的几个例子1.金属板导热问题 解: 2.M atlab 自带例子: [p,e,t]=initmesh('squareg'); [p,e,t]=refinemesh('squareg',p,e,t); u0=zeros(size(p,2),1); ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4); u0(ix)=ones(size(ix)); tlist=linspace(0,0.1,20); u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,1,1); pdeplot(p,e,t,'xydata',u1(:,20),'mesh','off','colormap','hot'); [p,e,t]=initmesh('crackg'); u=parabolic(0,0:0.5:5,'crackb',p,e,t,1,0,0,1); pdeplot(p,e,t,'xydata',u(:,11),'mesh','off','colormap','hot');

3.热传导问题的动画程序: clc,close all,clear all; %求解在正方形区域上非连续初始条件的、具有热源的典型热传导方程%du/dt-div(grad(u))=1 %定义问题 g='squareg';%描述正方形的文件名squareg 赋予符号变量g b='squareb1';%squareb1 是正方形边界为1 的边界条件文件名 c=1;a=0;f=1;d=1; %初始化网格 [p,e,t]=initmesh(g); %初始条件:半径为0.4 的圆内部取1,外部取0 u0=zeros(size(p,2),1); ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4); u0(ix)=ones(size(ix)); %在时间段0:0.1 内取20 个点求解 nframes=20; tlist=linspace(0,0.1,nframes); %解抛物型方程 u1=parabolic(u0,tlist,b,p,e,t,c,a,f,d); %为提高绘图速度,内插值成矩形网格 x=linspace(-1,1,31);y=x; [unused,tn,a2,a3]=tri2grid(p,t,u0,x,y); % 制作动画 newplot; umax=max(max(u1)); umin=min(min(u1)); for j=1:nframes u=tri2grid(p,t,u1(:,j),tn,a2,a3); i=find(isnan(u)); u(i)=zeros(size(i)); surf(x,y,u);caxis([umin umax]);colormap(cool) axis([-1 1 -1 1 0 1]); m(j)= getframe; end movie(m); movie2avi(m,'热传导','quality',100,'fps',4); echo off 若需要求解偏微分方程组,可用pdepe 函数。

(完整word版)matlab求解热传导实例

matlab求解热传导问题的几个例子1.金属板导热问题 解: 2.Matlab自带例子: [p,e,t]=initmesh('crackg'); u=parabolic(0,0:0.5:5,'crackb',p,e,t,1,0,0,1); pdeplot(p,e,t,'xydata',u(:,11),'mesh','off','colormap','hot'); [p,e,t]=initmesh('squareg'); [p,e,t]=refinemesh('squareg',p,e,t); u0=zeros(size(p,2),1); ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4); u0(ix)=ones(size(ix)); tlist=linspace(0,0.1,20); u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,1,1); pdeplot(p,e,t,'xydata',u1(:,20),'mesh','off','colormap','hot');

3.热传导问题的动画程序: 若需要求解偏微分方程组,可用pdepe函数。

4.非均质板壁的一维不稳定导热过程:可用parabolic函数求解,该函数的说明如下: 类比可得系数c=1,a=0,f=0,d=1.计算参考程序如下: [p,e,t]=initmesh('squareg'); [p,e,t]=refinemesh('squareg',p,e,t); u0=zeros(size(p,2),1); ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.8); u0(ix)=ones(size(ix)); tlist=linspace(0,0.1,20); u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,0,1); pdeplot(p,e,t,'xydata',u1(:,8),'mesh','off','colormap','hot'); x=linspace(-1,1,31);y=x; [unused,tn,a2,a3]=tri2grid(p,t,u0,x,y); %制作动画 newplot; umax=max(max(u1)); umin=min(min(u1)); for j=1:8 u=tri2grid(p,t,u1(:,j),tn,a2,a3); i=find(isnan(u)); u(i)=zeros(size(i)); surf(x,y,u);caxis([umin umax]);colormap(hot) axis([-1 1 -1 1 0 1]); m(j)= getframe; end movie(m); x t x x a x t x a t ? ? ? ? ? ? τ ? ?) ( ) ( 2 2 + =

相关主题
文本预览
相关文档 最新文档