二维热传导方程数值解及MATLAB实现 - 图文

更新时间:2024-04-11 06:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

第一章绪论 .............................................................................................................................................................................. I

1.1 课题背景和意义 .................................................................................................................................. I 1.2 课题研究现状 ....................................................................................................................................... I 1.3 课题要求........................................................................................................................................................ II 1. 4课题解决 ................................................................................................................................................... II 1.5 论文结构安排 ..................................................................................................................................... III 第二章有限元法及偏微分方程解法理论分析 ............................................................................... IV 2.1 有限元基本知识介绍 ..................................................................................................................... IV 2.2 求解二维热传导方程的基本思想 ............................................................................................. V 2. 2.1 将定解区域离散 ........................................................................................................................ V 2. 2.2 插值函数的选择 ...................................................................................................................... VI 2. 2.3 方程组的建立 ............................................................................................................................ VI 2. 2.4 方程组的求解 ............................................................................................................................ VI 2.3 二维热传导方程 ............................................................................................................................... VI 2. 3.1 网格剖分 ...................................................................................................................................... VI 2. 3.2 离散方程组的构建 ................................................................................................................ VII 2. 3.3 稳定性分析 ....................................................................................................................................... IX 第三章FEM求解二维热传导方程在MATLAB中的实现 ................................................................. XI 3.1 MATLAB相关知识简介 ..................................................................................................................... XI 3. 1.1 追赶法简介 ................................................................................................................................. XI 3. 1.2 相关函数命令简介 ................................................................................................................. XII 3.2 FEM求解二维热传导方程在MATLAB中的实现方法 .................................................... XIII 第四章数值化和可视化举例分析 ........................................................................................................... XV 4.1 二维热传导方程数值求解的MATLAB实现 .............................................................................. XV 4. 1. 1研究一种较为简单的情况: .......................................................................................... XV 4. 1. 2研究一种较为复杂的情况 ................................................................................................... XVI 4.2 误差分析.................................................................................................................................................. XVIII 结论与展望 ....................................................................................................................................................... XXI 致谢 ............................................................................................................................................................................. XXIII

参考文献 .................................................................................................................................................................. XXIV

附录A: 程序清单 ........................................................................................................................................ XXV

附录B: 外文翻译资料 ................................................................................................................................ XXV

第一章 绪论

1.1 课题背景和意义

热传导是一种普遍存在的物理现象,它广泛存在于目前的工程应用领域中,对人们的生产和生活实践有着广泛而深刻的影响。虽然人们对于热传导现象的本质特征已有

了一个比较完整的认识,并已通过严密的数学逻辑公式推导对其物理特征进行了精确的描述,但所得到的结果往往是复杂的积分或级数表达式,其中还免不了使用某些特殊函数,由于现在数学上存在的困难,在工程中许多热传导问题还不能采用分析解法

进行求解。因此,通过一种较为简便直观的方式掌握控制和改进热量传递的方法和技术措施,无论对国民经济建设还是改善人民生活都具有重要的意义。

近年来,随着计算机技术迅速发展,数值方法已经得到广泛应用并成为有力的辅助求解工具,人们在此基础上已发展了诸如有限差分法、有限元法和边界元法等用于

工程问题的求解方法。

我们知道,热传导问题的数学表达式一般为偏微分方程形式,但偏微分方程一般并没有固定有效的精确解法,因而人们广泛采用数值方法来实现热传导方程的研

究、模拟和仿真。对于热传导问题的数值计算及其可视化,原则上,可以用FORTRAN 或 C语言来完成这个任务,可是实际上并没有人去这样做,原因是成本太高,需要消

耗更多的人力和物力,达到的效果却并不能满足人们的需求。幸运的是,高性能数学软件(如MATLAB)与目前具有强大计算功能的个人计算机让这个问题变得简单起来。

本课题旨在尝试利用目前在理论上已经成熟的有限差分法原理结合MATLAB强

大的数据处理和模拟仿真功能编写特定的程序代码对给定初边值条件的二维热传导方程温度随时间、空间的变化规律进行研究并将其可视化。

本课题将以二维热传导方程的数值解法及MATLAB实现为主线,研究论证其可

行性,从而发现一种较为简便且极为有效的热传导方程数值解法和可视化的方法,意在更好的解决目前在工程和研究领域中实际存在的热传导问题,进而推动其相关领域的发展和进步。

1.2 课题研究现状

近三十年来,解偏微分方程的理论和方法有了很大的发展,而且在各个学科技术

的领域中应用也愈来愈广泛,在我国,偏微分方程数值解法作为一门课程,不但在计算数学专业,而且也在其他理工科专业的研究生的大学生中开设。同时,求解

热传导方程的数值算法也取得巨大进展,特别是有限差分法方面,此算法的特点是

在内边界处设计不同于整体的格式,将全局的隐式计算化为局部的分段隐式计算。而且精度上更好。

目前,在欧美各国MATLAB的使用十分普及。在大学的数学、工程和科学系科,

MATLAB 被用作许多课程的辅助教学手段,MATLAB 也成为大学生们必不可少的计算工具,甚至是一项必须掌握的基本技能。

在我国,MATLAB 在各大专院校的应用日益普遍,许多专业已把MATLAB作为基本计算工具。在科研机构和工业界,MATLAB 正得到越来越广泛的应用。

MATLAB 具有强大的图形绘制功能,为科学计算和图形处理提供了很大的方便。我

们只需制定的绘图方式,再提供绘图数据,有程序指令就可以得到形象、直观的图形结果。因此,近些年越来越多的人开始使用MATLAB来求解数值计算和图形处理技术,我们也可以绘制出热传导方程数值解的二维、三维图形,从而可以更好的理解热传导方程的意义。

1.3 课题要求

用有限元方法对如下二维热传导方程初边值问题进行数值求解,编程并进行

MATLAB 数值实现:

u t

u

f(x,y,t), (x,y), 0,

(x,y,t)

( x, y) (x,y,t)

(0,T] (0,T]

u(x,y,0) u(x,y,t)

其中 u

u x2 2u y2

2,f ( x, y , t ) 为热源函数;为空间定义域;为

的边界。

要求求出给定时间情况下温度随空间的分布变化规律。

1. 4 课题解决

目前,对于求解偏微分方程有很多方法,但差分法和有限元离散法式主要解决问题的两种方法。一般来说,用差分法来解偏微分方程,解得的结果就是方程的准

确解函数在这点上的近似值。而用变分近似的方法求解,是将近似解表示成有限维子

空间中基函数的线性组合。有限元法也是基于变分原理,由于选择了特殊的基函数,使它能适用于一般的区域。这种基函数是与区域的剖分有关的,近似解u表示为基

函数的线性组合,二线性组合中的系数,又是剖分节点上u 或其导数的近似值。

有关一维热传导方程的有限差分法求解的MATLAB实现,现在已经解决,本文借鉴一维热传导有限差分法的MATLAB 求解思想,对二维热传导方程进行转换,再

[4]

对解法编程实现,从而进一步对热传导方程进行探讨。二维热传导方程求解在现实

生活中的应用也更加广泛,所以有很好的现实意义。

1.5 论文结构安排

第一章,绪论。主要介绍课题的研究背景和意义,分析了热传导现象在目前工程领

域的主要解决方案和发展现状,最后说明论文的主要内容和组织结构。

第二章,有限元法理论研究。主要介绍与二维热传导问题相关的FEM理论,为有限元法在MATLAB中的实现奠定基础。

第三章,FEM在MATLAB中的实现。主要介绍如何针对特定的一类二维热传导方程结合初边值条件编制相应的程序代码。

第四章,二维热传导方程的数值化和可视化。主要介绍如何利用编制好的程序代码带入相应的初边值条件,进行数值化和可视化研究。

第二章 有限元法及偏微分方程解法理论分析

本部分主要对二维热传导方程的有限元解法进行了完整的理论分析。首先从有限

元的基本知识开始引出求解二维热传导方程的基本思想,然后根据本思想使用交叉方向隐格式求解方法构建矩阵,并论证其稳定性。

2.1 有限元基本知识介绍

[8]

1 2 定义2.1含有未知函数u(x,x, 定义2.2方程

,x,t)的偏导数的方程称为偏微分方程。

n

[8]

u t

x

(k 1

u x

1 )

1 x

(k n

u x

n

) f(x,t),

n 称热传导方程。其中,u u(x,t)是固体的传热过程中在x处、t时刻的温度。系数k

i

称为热传导系数,当k 1 k 2

ut

k n

( u

0)时,方程为

f(x,t),

其中

[8]

2 2 2

,n为维数。

x1 2 2

x2 2 xn

定义2.3在特定条件下求解方程的解。这样的条件成为定解条件。给出了方程和定结

条件,就构成了定解问题。

定义2.4[8]

一般说,边界条件有下列形式

(x,y)u(x,y) ( x, y) u n ( x, y) ( x, y),

其中 u n

为边界的外法向导数。有如下几种特殊形式

0 , 即 u值给定;

(1)richlet(或第一类)条件:

即只有初始条件而没有边界条件的定解问题 (2)Neumann(或第二类)条件: 0 .即u的外法向导数给定;

0;

即只有边界条件而没有初值条件的定解问题

(3)Robbins(或第三类)条件: 定义 2. 5

[ 8] 0,

即既有边值条件又有初值条件的定解问题

定义在 ,

上的函数vx 的一个关系式,设

v ( x) 2

dx

有关系式

v(x)

1 2

v( )e

i (

x )

d d ,

以上变换称为Fourier变换。

其中i

[8]

1 是虚数单位。

n 1u

定义2.6由第n个时间层推进到第n

j

1 个时间层时差分方程提供了逐点直接计算

的表达式,我们称次差分方程为显式格式。

有限差分格式在新的时间层上包含有多于一个的节点,这种有限差分格定义2. 7[8]

式称为隐式格式。 定义2.8

[11]

称为向前差分。定义 2. 9[ 11]

t u( x,t)

x u(x,t)

u(x,t

u (x

t) u(x,t),

x,t)

u(x,t).

称为向后差分。

t u(x,t)

u(x,t) u(x,t t),

i u(x,t)

u(x,t) u(x x,t).

定义2.10

[11]

tu( x,t) u(x,t

1 t) u( x,t 1 t), 2 2

1 2

x,t)

u (x

1 2

x,t).

xu(x,t)

u (x

称为中心差分。

定义2.11用微分方程的解代替差分方程的全部近似解,这样得到的方程两边的差就是截断误差。

定义 2. 12给定一个适定的线性初值问题以及与其相容的差分格式,则差分格式[ 8]

[11]

的稳定性是差分格式收敛性的充要条件。

2.2 求解二维热传导方程的基本思想

基本思想是把连续的定解区域用有限个离散点构成网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数的近似;把原方程和定解条件中的微商用差商来近似,积分用积分来近似,于是原微分方程和定解条件近似的代之以代数方程,即优先差分方程组,解此方程组就可以得到原问题在离散点上的近似解。下面是有限差分法数值计算的基本步骤:

[14]

2. 2.1 将定解区域离散

用有限差分方法求解偏微分方程问题必须把连续问题进行离散化。为此首先要

对求解区域给出网格划分,由于求解的问题不同,因此求解区域也不尽相同。下面用例子来说明不同区域的剖分离散。并引入一些常用术语。

考虑双曲型和抛物型方程的初值问题,求解区域是

D

( x,t) x ,t 0 .

我们在xt的上半平面画出两族平行于坐标轴的直线,把上半平面分成矩形网 格。其交点称为节点(或网格点)。可设距离x0,称其为空间步长,平行线的距

离按具体问题而定。可设距离

t 0 ,称其为时间步长。这样两族网格线可以写作

x xj j x jh,j 0, 1, 2

,

t t n t n

n ,n 0,1,2

网格节点有时记为( x x , t n )。

[ 7]

2. 2.2

插值函数的选择

选择不同的插值函数对偏微分方程进行估计,可得到不同的差分方程,进而稳定性和精度会有所不同。

用Taylor级数展开方法是最常用的方法,本文采用的就是Taylor级数得到离散的差分方程结合差分格式构成一个稳定的差分格式。

2. 2.3

方程组的建立将离散后的差分方程转化为方程组的形式,便于求解。 2. 2.4

方程组的求解

利用矩阵的解法求解方程组,再用MATLAB对矩阵求解方法进行程序化,以便对以后类似的方程进行求解。隐式差分格式方程矩阵化后,得到的矩阵是严格的对角

占优三对角矩阵,我们可以根据线性方程组的求解方法对其求解。其中这要应用的是追赶法,追赶法对于此类线性方程组的求解非常方便,用MATLAB对追赶法进行编程,

就可以轻松实现矩阵的求解,进而解出差分方程的近似解。

2.3

2. 3.1 二维热传导方程

网格剖分

在区域D : ( x , y , t )0 x X ,0 y Y ,0 t

T 中,我们设二维热传导方程的初

始值和边界条件如下:

u

t

u( x, y,0)

a u f ( x, y,t), ( x, y,t) ( x,y),

( x, y,t) ( x, y,t)

(0,T]

(2‐1)

u( x, y,t) 0, (0,T]

其中a为正常数。通过已知方程,建立一个关于时间和步长的函数,这样就把初始区域划分为一

个网格图。先将定义域

D : ( x, y , t )0

x X ,0 y Y ,0 t T

剖分为网格

Dh {(xj,yh,tn)xj

yl

j x,j

0,1, , J , J x

Y;tn

X; n t,n 0}.

l y,l 0,1 , J , J y

X , y

Y分别为M y

其中t

T N

为时间步长,x x轴和y轴的空间步长。

M x

[3]

2.3.2

离散方程组的构建

对于二维热传导方程,利用向前差分格式

uj

n 1

uj t

n

u j 1

n

2 un

j h

2

u j 1

n

对(2-1)式进行离散,引入记号

2 n

x

2u 2u

nnjl uu

uu

n jl1,l j n j , l 1 uu

n j 1,l n j , l 1

, .

(2‐2)

2 n

y jl

jl 其中unjl 为差分方程在节点(j,l,n)的计算值。差分格式

u jl

n 1

n u jl

t

a(

2 n x jl

u

2 n y jl

u

2

x

2

y

) f ( j( x , l( y , n ( t ),

x

2

2

(2‐3)

y)。

利用Ta y l or 级数展开易得差分格式(2-3)的截断误差为 ( t 根据稳定性分析我们知道对于显式格式和隐式格式,在实际使用上都受到限制,因此构造每层计算量不大的绝对稳定的格式就成为一个较为关键的问题。在一维

中,隐式格式是绝对稳定并可用追赶法很容易求解。由此产生了交替方程隐式格式。

它具有绝对稳定、容易求解和有相当精度的特点。

[1][5]

我们在构造微分方程(2- 1)的隐式格式中,对

2

u u和 2 2 做了同样的处理,即 x y

2

u

2 用u x

2

同时在第n层或第n

1 层取值。为了构造一维形式的隐式格式,对二阶导数

2 uy

2 在第n 1层上用未知的二阶中心差分来代替,而

则用u 在第n层上用已知的二阶

中心差分来代替,这样得到的方程组在仅x方向是隐式的。比较容易求解,用追赶法就可以了。同理,为对称起见,在下一时间层上重复上述步骤,即又仅在y方向

是隐式的,对x方向是显式的。这样相邻的两个时间层合并起来构成一个差分格式。故

n

用多次追赶法就可以解出u j l 了。

注:关于追赶法的详细介绍在第三章中有详细介绍。我们解向后差分格式的方程。 令rx

ta x2

,r

y

ta yn

jl

2

,则(2-3)式变为:

uu n 1 jl

a t( r 2 n

2 n x jl u2 n

y jl u

x x

u

x2

jl

r

y2

2 n y jl

) t t y

u

f ( j( x,l( y , n( t)

f ( j( x,l( y,n(t),

(2‐4)

(2-4)在x方向是隐式时,代入(2-2),变形为

ujl ry (uj,l1 2ujl uj,l1) ujl

(2-5)化为矩阵形式:

1(2rx ry) ry 0

n n n n n1 rx(uj1,l 2ujl uj 1,l) (t f(j(x,l(y,n(t),

n uj1n uj2

n n n

(2‐5)

ry

0 ry

0 0 ry)ry

0 0 0

1 (2rx ry)

ry 0

1(2rx

0 0

nry)ry 1 (2rx u

j,m1

本文来源:https://www.bwwdw.com/article/ovyp.html

Top