热传导方程差分格式
热传导方程的求解及其应用
热传导方程的求解及其应用热传导是指物质内部由高温区向低温区传递热量的过程,是自然界中十分普遍的现象。
为了更好地理解和研究这一过程,我们需要借助数学模型来描述和求解热传导过程,其中最常用的数学模型就是热传导方程。
一、热传导方程的数学模型热传导方程是描述物质内部温度变化随时间和空间的变化而变化的偏微分方程。
它可以描述均质物质内部的热量传递,以及介质中的温度变化。
热传导方程的数学表示式如下:$$ \frac{\partial u}{\partial t}=\alpha \nabla^2 u $$其中,$u$表示物质内部温度的分布,$t$表示时间,$\alpha$表示热扩散系数,$\nabla^2$表示拉普拉斯算子,表示温度分布的曲率。
二、热传导方程的求解方法热传导方程是一个偏微分方程,需要借助一定的数学方法才能求解。
下面简要介绍两种常见的求解方法:1.分离变量法分离变量法是求解偏微分方程的常见方法之一。
对于热传导方程,我们通常采用分离变量法将其转化为两个方程:$$ \frac{1}{\alpha}\frac{\partial u}{\partial t}= \nabla^2 u $$设$u(x,t)=f(x)g(t)$,代入上式得:$$ \frac{1}{\alpha}\frac{g'(t)}{g(t)}= \frac{f''(x)}{f(x)}=\lambda $$其中,$\lambda$为待定常数,$f(x)$和$g(t)$分别为$x$和$t$的函数。
将上述两个方程分别求解,可以得到形如下面的解:$$ u(x,t)=\sum_{n=1}^{\infty}c_nexp(-\lambda_n\alphat)sin(\frac{n\pi x}{L}) $$其中,$\lambda_n$为常数,$L$为问题的区间长度。
2.有限差分法有限差分法是一种常见的数值求解方法,可以用来求解各种偏微分方程,包括热传导方程。
6第六讲 典型模型方程-热传导方的差分格式程
ADE Methods
同一时间步,同时左右扫描
6、Hopscotch Method
Comments
2、Richardaon’s Method: CTCS
3、Simple Implicit(Laasonen) Method
算子表示:
其中:
未知,每一个时间步长需要求解三对角方程组
放大因子:
4、Crank-Nicolson Method: famous
1 N 1 1 uN uN j 1 2u j j 1
where
G 1
3-D: ADI Methods
假设
∆t左移,右端合并即为C-N格式
其中 rx x 2 , ry y 2
at
at
3-D: ADI Methods
4、Splitting or Fractional-step Methods
5、ADE Methods
1-D:
或
Simple Explicit Method
差分格式的放大因子与精确解的放大因子比较
精度高
Simple Explicit Method
Simple Explicit Method: Example
Simple Explicit Method: Example
没有相位误差,幅值误差:1.88%
2-D: Crank-Nicolson Scheme
通常采用迭代方 法,需要比三对 角更多的计算资 源
3、2-D: ADI Methods
time
1/ 2 n 1 / 2 1/ 2 uin , uin 1, j , ui , j 1, j
1 n 1 n 1 uin, j 1 , ui , j , ui , j 1
热传导方程的一种高精度O(τ 2+h 4)阶差分格式
“ 一 ( + 一 2 i u一 ) , u + j。 ,
验估 计和 数值 例子 。
1 网格 剖 分
取空间步长 h / 和时间步长 Z= / 其 —Z M -= N, =T
有限差分法及热传导数值计算
有限差分法及热传导数值计算有限差分法(finite difference method)是一种常用的数值计算方法,可以用于求解热传导问题。
它基于热传导方程,通过将连续的热传导问题离散化成离散网格上的代数方程组,然后利用数值迭代方法求解方程组,得到热传导问题的数值解。
热传导方程描述了热量在物体内部传导的过程,它可以写成以下形式:∂T/∂t=α∇²T其中,T是温度场的分布,α是热扩散系数,∇²是拉普拉斯算子。
为了使用有限差分法求解热传导问题,我们需要将时间和空间进行离散化。
时间上,我们将连续的时间区间[0,T]分成N个子区间,每个子区间的长度为Δt,表示为t_i=iΔt,其中i=0,1,2,...,N。
空间上,我们将研究区域Ω划分为M个离散节点,每个节点的坐标为x_j,表示为x_j=jΔx,其中j=0,1,2,...,M。
在离散化后,我们可以用差分近似的方式来近似热传导方程。
对于时间上的导数,我们可以使用前向差分,即∂T(x_j,t_i)/∂t≈(T(x_j,t_{i+1})-T(x_j,t_i))/Δt对于空间上的二阶导数,我们可以使用中心差分,即∇²T(x_j,t_i)≈(T(x_{j-1},t_i)-2T(x_j,t_i)+T(x_{j+1},t_i))/Δx²将上述差分近似带入热传导方程中,我们可以得到如下的差分方程:(T(x_j,t_{i+1})-T(x_j,t_i))/Δt=α*(T(x_{j-1},t_i)-2T(x_j,t_i)+T(x_{j+1},t_i))/Δx²重新整理得到:T(x_j,t_{i+1})=T(x_j,t_i)+α*Δt*(T(x_{j-1},t_i)-2T(x_j,t_i)+T(x_{j+1},t_i))/Δx²这个差分方程可以用于迭代求解热传导问题。
我们可以根据初始条件和边界条件,从t=0的初始时刻开始,按照时间步长Δt进行迭代计算。
热传导方程的差分格式汇总
热传导方程的差分格式汇总1.显式差分格式:显式差分格式是最简单的一种方法,通过将导热方程时间和空间上的导数进行近似,引入差分算子,将方程转化为差分格式。
其中最常见的差分格式有:a. 前向差分法(Forward Difference Method):利用当前节点和其相邻节点的温度值进行计算。
例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j)-2u(i,j)+u(i-1,j))b. 后向差分法(Backward Difference Method):利用当前节点和其相邻节点的温度值进行计算。
例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j+1)-2u(i,j+1)+u(i-1,j+1))c. 中心差分法(Central Difference Method):利用当前和其相邻节点的温度值进行计算。
例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+α(u(i+1,j)-2u(i,j)+u(i-1,j))+β(u(i+1,j)-u(i-1,j))其中α和β是时间和空间步长的比例因子。
2.隐式差分格式:显式差分格式具有较大的稳定性限制。
为了克服这个问题,可以使用隐式差分格式,其中使用下一个时间步长的温度值来求解当前时间步长。
常见的隐式差分格式有:a. C-N差分法(Crank-Nicolson Method):利用前后两个时间步长的温度值进行计算。
例如,在一维离散情况下,可以使用公式:u(i,j+1)=u(i,j)+0.5α(u(i+1,j+1)-2u(i,j+1)+u(i-1,j+1))+0.5α(u(i+1,j)-2u(i,j)+u(i-1,j))b. 力学模拟法(Finite Element Method):将空间离散化后,通过引入有限元方法,将热传导问题转化为线性方程组,再通过求解线性方程组得到温度分布。
热传导与有限差分
(6)
研究生课程《高等工程热力学与传热学》电子教案
三类边界条件
第 1 类边界条件: 给定边界上的温度。 第 2 类边界条件: 给定边界上的法向热流密度。 第 3 类边界条件: 给定外部介质的温度和给定边界上的对流换热面的对流 换热系数。
3
研究生课程《高等工程热力学与传热学》电子教案
偏微分方程的求解
) (
)]
(22)
该差分格式称之为 Crank-Nicholson 格式,它的精度要高于显 式格式和隐式格式,其截断误差为 O[( Δt ) 2 + ( Δx ) 2 ] 。
9
研究生课程《高等工程热力学与传热学》电子教案
常见差分格式的稳定性分析
所谓稳定性问题,是指:若定义第 n 步第 j 个节点的数值求解 误差为 ε n j ,如果定义误差放大倍数 ω 满足
13
研究生课程《高等工程热力学与传热学》电子教案
常见差分方程求解
1) 显式差分方程: 直接求解。 2) 隐式差分方程或者 Crank-Nicholson 差分方程: 一维问题:追赶法; 二维问题:高斯消元法或者迭代法(如高斯-赛德尔法) 。 快速算法-交替方向法(俞昌铭,1981)
14
研究生课程《高等工程热力学与传热学》电子教案
+1 εn j ω = n ≤1 εj
(23)
则称该数值解法是稳定的,反之则为不稳定。常见的稳定性分 析方法是傅里叶级数法。一般来说,稳态问题的差分方法不存在稳 定性问题。 1) 显式格式 假设误差函数 ε ( Δx , Δt ) 可以展开成傅里叶级数的形式: ∞ ε ( Δx , Δt ) = ∑ Am cos β m Δx (24)
(7) (8) (9)
一维热传导方程的差分格式
u
x j ,tk1
t
2
2u
x j ,tk1 t 2
o( ).
(2.10)
再将 u xj1,tk1 , u xj1,tk1 分别以 x j , tk1 为中心关于 x 运用泰勒级数展开, 有
u
x j1, tk1
=u
x j , tk1
u
x j , tk1
(h) u
x xj , 0 j M ,
t tk , 0 k N
将 分割成矩形网格.记 h xj | 0 j M , tk |0 k N , h h .
称 x j , tk 为结点[1].
定义 h 上的网格函数
U
k j
|0
j
M,0 k
N
,
其中U
k j
u
xj ,tk
u
x j1, tk
=u
xj ,tk
u
xj ,tk
(h) u
xj ,tk h2 u(xj ,tk() -h)3
2!
3!
u(4)
xj ,tk
h4
o(h4 ) ,
4!
u
x j1, tk
=u
xj ,tk
u
xj ,tk
u h
xj ,tk 2!
h2 u
xj ,tk 3!
舍去截断误差,
用
u
k j
代替
u
xj ,tk
,得到如下差分方程
u k 1 j
u
k j
a
u k 1 j 1
2u
k j
1
h2
u k 1 j 1
f
k j
1
,
1 j M 1, 1 k N.
热传导方程的差分格式讲解
热传导方程的左分格式—上机卖习报告二零一gg年五月一维抛物方程的初边值问题分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:du d2u”(兀0) = sin兀X、0 <x <1w(0,O = z/(l,O = 0, r >0在f = 0.05,0.1和0.2时刻的数值解,并与解析解u^t) = e-7:l sm(^x)进行比较。
1差分格式形式设空间步长h = l/N,时间步长r>0, T=M T,网比r = r/h2.(1)向前差分格式向前差分格式,即Z = /C\) ‘“;=0 =心),必=吆=0其中,丿= 1,2,…,N —1,R = 1,2,…,M—l. ^r^at/h2表示网比。
(1)式可改写成如下:M*+1 = + (i-2r)Uj + rw*_! + tfj此格式为显格式。
其矩阵表达式如下:Q-2r r)r l-2r(j、r 1一2广rl吐7、厂1一2、用丿加(2)向后差分格式(1)向后差分格式,即=0=久形)上:=WN =a其中j = 12・・\N_l,k = H,M_L (2)式可改写成- rw :[: + (l+2r )叶' -中;;=0 + 叭此种差分格式被称为隐格式。
其矩阵表达式如下:rl + 2r -r( j \ I”-r l + 2r-r l + 2r -rW.V-1-r 1 + 2广丿MJ< UN >(3) 六点对称格式六点差分格式:喟-0 _ a加:-2喟+唸;唏- 2”; +吃,—T2L戸 戸 J眄=0产久XJM=H ;=O.将(3)式改写成-g 唸;+ (1 + 时-1 昭=g 略 + (1 - 诃 * * 咯 + /其矩阵表达式如下:(1 + r -r/2<l-r r/2 ) ( j\ -r/2 l + rr/2 1-rui-r/2 l + r -r/2r/2 1-r r/2X-r 1+2匚M丿r/2 l-2r ;E >2利用MATLAB 求解问题的过程对每种差分格式依次取N = 40., r=l/1600, r=l/3200, el/6400,用 MATLAB 求解并图形比较数值解与精确解,用表格列出不同剖分时的Z?误差。
解高维热传导方程的一族高精度的显式差分格式
解高维热传导方程的一族高精度的显式差分
格式
1 热传导方程及其差分格式
热传导方程是传统数学物理中最基础和最重要的方程之一,它可以描述物体温度随时间、空间变化的过程。
该方程最早出现在18格仑偏微分方程当中。
由于它与现实生活息息相关,自20世纪以来,它发展成为热传导理论的基础,以及热传导问题的基本处理方法和工具。
同时也是热科学及工程中最重要的模拟问题之一。
高维热传导方程有分量形式和平均值形式,它关系到很多跨越学科的问题,是普通微分方程解的典型应用。
但是,通常的数值方法很难满足它的解的准确性要求,尤其是分量形式的高维热传导方程,计算它的精度更为重要。
为了解决高维热传导方程的精度问题,高精度的显式差分格式发展出来,它利用了正交网格,并用空间参数指数外推算法求解热传导方程。
首先,把分量形式简化为差分表达式,格式化为矩阵形式,采用插值方程构成差分法,然后把位置和时间进行外推;最后对比解答解,得出传热率的数值。
该差分格式提供了解高维热传导方程的精准而可靠的工具,可以有效提高高维热传导的研究的质量与速度。
综上所述,高维热传导方程解的准确性极其重要,而高精度的显式差分格式则为此提供了有力的工具,极大地提升了对高维热传导方程的研究的可能性。
matlab 热传导方程的差分
matlab 热传导方程的差分热传导方程是描述物体内部温度分布随时间变化的数学模型。
在工程和科学领域中,热传导方程的数值解是非常重要的,因为它可以帮助工程师和科学家们预测材料的温度变化,设计有效的散热系统等。
在本文中,我们将讨论如何使用Matlab对热传导方程进行差分求解。
差分法是一种常用的数值解法,它将连续的方程离散化为离散的点,通过迭代计算得到方程的近似解。
首先,让我们回顾一下热传导方程。
热传导方程通常写作:$$\frac{\partial u}{\partial t} = \alpha \nabla^2 u$$。
其中,$u$是温度分布,$t$是时间,$\alpha$是热传导系数,$\nabla^2$是拉普拉斯算子。
在一维情况下,热传导方程可以简化为:$$\frac{\partial u}{\partial t} = \alpha\frac{\partial^2 u}{\partial x^2}$$。
接下来,我们将使用有限差分法对这个一维热传导方程进行离散化。
假设我们有一个长度为$L$的杆,我们将其分成$n$个小段,每个小段的长度为$\Delta x = \frac{L}{n}$。
我们将温度在每个小段的离散点上进行逼近,即$u_i(t)$表示第$i$个小段上的温度,$t_j$表示第$j$个时间步。
我们可以使用中心差分法来逼近二阶导数:$$\frac{\partial^2 u}{\partial x^2} \approx\frac{u_{i+1} 2u_i + u_{i-1}}{(\Delta x)^2}$$。
将这个逼近代入热传导方程,我们可以得到离散化的方程:$$\frac{u_i^{j+1} u_i^j}{\Delta t} = \alpha\frac{u_{i+1}^j 2u_i^j + u_{i-1}^j}{(\Delta x)^2}$$。
其中,$\Delta t$是时间步长。
通过这个离散化方程,我们可以使用Matlab编写一个迭代算法来求解热传导方程的数值解。
2有限差分法及热传导数值计算
2有限差分法及热传导数值计算有限差分法是一种数值方法,通常用于求解偏微分方程(PDE)的数值解。
热传导方程(也称为热方程或扩散方程)是描述物质内部热传导过程的偏微分方程。
它可以写成如下形式:∂u/∂t=α∇²u其中,u是温度的分布,t是时间,α是热扩散系数。
有限差分法通过将连续的空间和时间区域离散化为离散的网格点,将偏微分方程转化为离散的差分方程。
通过在网格点上逐步迭代计算,可以得到离散区域内的温度分布。
有限差分法可以使用不同的格式,其中较为常见的有显式格式和隐式格式。
显式格式是一种简单的差分格式,可以直接根据差分方程进行计算。
隐式格式则需要使用迭代方法,如追赶法或逐次逼近法,来计算离散方程的解。
在热传导的数值计算中,有限差分法通常使用两个步骤:空间离散化和时间离散化。
空间离散化将连续空间划分为离散的网格点,这些网格点的距离通常是均匀的。
对于一维问题,空间离散化可以写成Δx = (x_max - x_min) / N其中,Δx是离散化的空间步长,x_max和x_min是空间范围的最大和最小值,N是空间网格点的数量。
时间离散化将连续时间划分为离散的时间步长。
一般来说,时间步长越小,数值解越精确,但计算时间也会增加。
时间离散化可以写成Δt=T/M其中,Δt是离散化的时间步长,T是模拟的总时间,M是时间步数。
空间离散化和时间离散化将原始的热传导方程离散为:(u_i,j+1-u_i,j)/Δt=α(u_i-1,j-2u_i,j+u_i+1,j)/Δx²其中,u_i,j表示在网格点(i,j)处的温度。
通过对上述离散方程进行重排和近似,可以得到一个逐步迭代的方程来计算网格点上的温度。
在每个时间步长中,可以通过使用已知的前一时间步骤的温度值来计算当前时间步骤的温度值。
在计算中,初始条件和边界条件是必要的。
初始条件是指在初始时间步长中所有网格点的温度值。
边界条件是指在模拟过程中边界上的温度值。
第九章 热传导方程的差分解法
2
x
2
u
2
y
2
u
2
z
2
)
其中: Kc.
9.2 一维热传导方程的差分解法
u t u
2
一维热传导方程:
x
2
,
0 ,0 t T
初值问题 u ( x , 0 ) ( x ), | x | 初值条件: 初边值混合问题 初值条件: u ( x , 0 ) ( x ), 0 xl 边值条件:(关于边界点x=0和x=l) 第一类. u ( 0, t ) g ( t )
其中g1(t), g2(t), 1(t), 2(t) 为给定函数, 要求 1(t), 2(t) , 且不同时为零.
设空间的步长为 h, 时间的步长为 . 把空间和时间离散化:
x i x 0 ih , i 0,1, 2, ...; t k t 0 k , k 0,1, 2, ...
9.3 二维热传导方程的差分解法
u t u
2
内部无热源均匀介质中二维热传导方程:
( u
2
x
2
y
2
)
0 x l, 0 y s, 0 t T
初值条件: u ( x , y , 0) ( x , y ) 边值条件视具体情况而定. 设空间的步长为 h, 时间的步长为 . 设Nh=l, Mh=s, 把时间和空间离散化:
u i 1, j , k 2 u i , j , k u i 1, j , k h
2
u i , j ,k x
2
2
u i , j ,k y
热传导方程的差分解法
热传导方程的差分解法物理学中对热传导现象和扩散现象等物理过程的描述, 通常采用二阶偏微分方程, 统称为热传导方程.9.1. 热传导方程概述一般而言, 在介质内部传导的热量与传热时间、传热截面及温度梯度成正比. 设t 时刻, 点(),,x y z 处的温度为(),,,u x y z t , 则t ∆时间内通过S ∆横截面积传导的热量为(),,,uQ k x y z t t S n∆∆∆∂=-∂其中(),,,0k x y z t >, 是介质的热传导系数. un ∂∂是温度沿S ∆面的法向微商, 即温度梯度的法向分量. 为讨论热传导的规律, 设在介质中任取一小区域V , 其边界面S 为一封闭曲面. 现讨论自1t 至2t 时间内, 小体积V 内热量变化的情况. 首先, 通过包面S 传入V 的热量为()211,,,t t S u Q dt k x y z t ds n ∂=∂⎰⎰⎰ 由矢量积分定理可得()211,,,t t VQ dt k x y z t u dV =∇⋅∇⎡⎤⎣⎦⎰⎰⎰⎰ 其中∇是哈密顿算子.设介质的比热容为c , 密度为ρ, 则V 内温度变化所消耗的热量为212t t V u Q dt c dV tρ∂=∂⎰⎰⎰⎰设体积V 内部热源密度为(),,,F x y z t , 其物理意义是, t 时刻, 点(),,x y z 处, 单位体积热源在单位时间内产生的热量. 所有内部热源产生的热量为()213,,,t t VQ dt F x y z t dV =⎰⎰⎰⎰由能量守恒定律, 即213Q Q Q =+可得()2110t t Vu Q dt c k u F dV t ρ∂⎡⎤=-∇⋅∇-=⎢⎥∂⎣⎦⎰⎰⎰⎰因为体积和时间都是任取的, 所以有 ()u c k u F t ρ∂=∇⋅∇+∂ (9.1) 式(9.1)称为各向同性介质有热源的热传导方程, 也叫做三维非齐次热传导方程. 为简单起见, 设介质是均匀的, 即c 、ρ和k 都是常量. 再设体积V 内无热源, 即(),,,0F x y z t =, 则有u c k u t ρ∂=∆∂ (9.2) 式(9.2)称为各向同性介质无热源的热传导方程, 也叫做三维齐次热做传导方程. 其中∆是拉普拉斯算子. 式(9.2)也可表示为2222222u u u u a t xy z ⎛⎫∂∂∂∂=++ ⎪∂∂∂∂⎝⎭ (9.3)其中2k a c ρ=. 9.2. 一维热传导方程的差分解法各向同性介质中无热源的一维热传导方程为22220,0u u a a t T t x ∂∂=><≤∂∂ (9.4) 其中T 表明时间的有限范围. 要求解方程(9.4), 需要一定的初始条件和边界条件, 统称为定解条件.9.2.1 初值问题()(),0u x x x ϕ=<+∞ (9.5)即初始时刻空间各点的温度颁布函数.9.2.2 初、边值混合问题初始条件为()(),00u x x x l ϕ=≤≤ (9.6)0x =和x l =两端的边界条件有三种情况:第一类边界条件()()()()120,0,u t g t t u l t g t =⎧⎪≥⎨=⎪⎩(9.7) 第二类边界条件()()()()120,0,u t g t xt T u l t g t x∂⎧=⎪⎪∂≤≤⎨∂⎪=⎪∂⎩ (9.8) 其中()1g t 、()2g t 为给定函数.第三类边界条件()()()()()()()()11220,0,0,,u t t u t g t xt T u l t t u l t g t xλλ∂⎧-=⎪⎪∂≤≤⎨∂⎪-=⎪∂⎩ (9.9) 其中1λ、2λ、()1g t 、()2g t 为给定函数, 其中10λ≥, 20λ≥, 且不同时为零.用差分方法求解偏微分方程式(9.4), 首先要建立差分格式. 通常取空间步长和时间步长均为常量. 设空间步长为h , 时间步长为τ, 计算时的步序号空间用i 表示, 时间用k 表示.定义一阶向前商近似为1kk k i i i u u u xh ++∂-=∂一阶向后差商近似为1k k k i i i u u u xh--∂-=∂二阶中心差商作为二阶微商近似为21122,2k k k i i i i k u u u ux h +--+∂=∂ (9.10) 对时间的一阶差分近似为1,k k i i i k u u ut τ+-∂=∂ (9.11) 将(9.10)和式(9.11)代入(9.4), 并令22a h τα=(9.12)即可得一维热传导方程的差分格式为()111121,2,,10,1,,k k k k i i i i u u u u i N k Mααα++-=+-+=-= (9.13)其中,l T N M h τ⎡⎤⎡⎤==⎢⎥⎢⎥⎣⎦⎣⎦, “[]”表示取整.定解条件为()()()()()()001211,2,,11,11,,1i kk Nu i h i N u g k u g k k M ϕττ=-=+=-=-=+差分公式(9.13)为显式格式, 可由初始条件和边界条件逐次计算出任一时刻各点的温度. 习惯上把时刻计算的各点称为一层, 而计算则是一层一层进行的. 计算过程中层间各点的关系如图9.1所示. 从图中可直观地看出, 1k +时刻第i 个点的值是由k 时刻1i -, i 和1i +三点的值算出来.由于初始条件和边界条件的误差及其计算中的舍入误差, 用式(9.13)计算出的值并非该式的精确解k i u . 设计算值与其精确之间的误差为k i ε, 若当k 增加时, k i ε有减小的趋势, 或至少不增加, 则称其差分格式为稳定差分格式. 可以证明, 对于一维热传导方程, 差分格式(9.13)为稳定差分格式的充分条件是2212a h τα=≤(9.14) 差分格式(9.13)计算的具体步骤如下: 1. 给定2,,,,a l h T α2. 计算初始值: ,l T N M h τ⎡⎤⎡⎤==⎢⎥⎢⎥⎣⎦⎣⎦, 计算22h aατ=3. 计算初始值:()()011,2,,1i u i h i N ϕ=-=+ ;计算边界值:()()()()0121,11,,1k k N u g k u g k k M ττ=-=-=+ 4. 用差分格式(9.13)计算1k i u +. 泛定方程2201,0u ux t t x ∂∂=<<<∂∂初始条件()(),04101u x x x x =-≤≤边界条件()()0,001,0u t t u t =⎧⎪≤⎨=⎪⎩程序设计: clear %设置参数 lambda=1; alpha=1/6; L=1; h=0.01; T=0.6;tao=alpha*h^2/lambda; N=fix(L/h); M=fix(T/tao);%设置u 矩阵及x 的值 I=N+1; K=M+1; for i=1:I x(i)=(i-1)*h; endu(I,K)=zeros; %设置初始条件 u(:,1)=4.*x.*(1-x);%设置左端第一类边界条件 u(1,:)=0;%设置右端第一类边界条件 u(I,:)=0; %计算矩阵u for k=1:K for i=2:I-1u(i,k+1)=1/6*u(i+1,k)+2/3*u(i,k)+1/6*u(i-1,k); end end %u ; for k=1:1000:Kplot(x,u(:,k),'-k','LineWidth',2) hold on endx/cmT C Oaxis([0,1,0,1])xlabel ('\fontsize{14}\bfx/cm') ylabel ('\fontsize{14}\bfTC^O') grid on8.6 一维扩散方程的有限差分格式8.6.1 隐式六点差分格式(C —N 格式)以下介绍一维扩散方程或热传导方程的有限差分解法, 考虑一维扩散方程的定解问题()()()()()()()22max 2002111222,,0,0,0t u x t u x t a x l t t t x u x t u x k a u c a u b c x n ua ubc x l n ρ=⎧∂∂=≤≤<<⎪∂∂⎪=⎪⎛⎫⎪=⎨ ⎪∂⎝⎭+==⎪∂⎪⎪∂+==⎪∂⎩ (8.62) 取,x h t ∆∆τ==进行离散化, 如图8.12所示, 结点坐标为()()()()11,2,11,2,i kx i h i N t k k K τ=-=⎧⎪⎨=-=⎪⎩ (8.63) 结点处的函数为(),ki k i u x t u =. 在(),12i k +点, u t∂∂用中心差商,22ux∂∂用(),i k 和(),1i k +两点的中心差商的平均值代替, 则(8.62)中的偏微分方程变为()()()1111111121222k k k k k k k k i i i i i i i i u u u u u u u u hλτ+++++-+-⎡⎤-=-++-+⎣⎦(8.64) 引入212211,1,1a P P P h P Pτ==+=-, 将上式中的含()1k u +项移至等号左边, 将含()ku 项移至等号右边, 式(8.64)变为11111112122k k k k k k i i i i i i u Pu u u Pu u ++++-+--+-=++ (8.65) 上式表明由k 时的值可求得1k +时的u 值, 但要解联立方程组, 所以这种差分格式是隐式的. 整个方程涉及到六个点处的u 值, 所以称为隐式差分格式, 又称为Crank_Nicolson 格式, 简称C_N 格式, 误差为()()22O O h τ+, 是无条件稳定的.8.6.2 边界条件的差分格式由式(8.62)知, 一维扩散方程的边界条件为()()11122200u a u b c x n u a u b c x a n ∂⎧+==⎪⎪∂⎨∂⎪+==⎪∂⎩(8.66)在x 轴上设置两个虚格点0i =和1i N =+(见图8.13). 用中心差商代替.66)中的un∂∂, 则得()()1110212211222N N N b a u u u c hb a u u uc h +-⎧+-=⎪⎪⎨⎪+-=⎪⎩(8.67) 由式(8.67)解出011111222u hc b ha u b u =-+tk +k 图8.12和12222122N N N u hc b ha u b u +-=-+,代入1i =的式(8.65), 有()()11112111111122211111121111121111112121211111222222222242k k k k k k k k k k k k k k k k u Pu hc ha u u u P u hc ha u b u b ub Puha ub ub u b P u hc ha u b u ++++++++-+--+=++-+-++-=++-+整理得到()()1111111212111212k k k kb P ha u b u b P ha u b u hc +++-=-++ (8.68(a)) 同理, 代入i N =的式(8.65), 得到 ()()()()1111111211111222211122221211111222121212212222222222222222k k k k k k N N N N N N k k k k k k k kN N N N N N N N k k k k k k k N N N N N N N u Pu u u P u u hc b ha u b u Pu u hc ha u b u P u u hc ha u b u b Pu b u hc ha u u b P u b ++++-+-++++----++++----+-=++--++-=-+++--++-=-+++21k N u - 整理得()()11212122122222k k k kN N N N b u b P ha u b u b P ha u hc ++---++=+-+ (8.68(b))8.6.3 差分方程组及其求解把式(8.65)和式(8.68(a))和(8.68(b))结合起来, 构成差分方程组, 其形式为AU R = (8.69)其中, ()12,,N U u u u = 是未知量组成的矢量. 系数矩阵A 是三对角的, 而R 是由前一时刻的u 值组成的矢量()12,,N R R R R = . 该方程可利用MA TLAB 求解. 由式(8.65)和式(8.68(a))和(8.68(b))可知()()11211121121212222222k kk k ki i i i k k NN N R b P ha u b u hc R u P u u R b u b P ha u hc-+-⎧=-++⎪=++⎨⎪=+-+⎩ (8.70) 11111112213121121121b P ha b P P A P b b P ha +-⎛⎫ ⎪-- ⎪ ⎪-- ⎪= ⎪ ⎪ ⎪-- ⎪ ⎪-+⎝⎭ (8.70)8.6.4 计算实例研究细杆导热问题. 杆的初始温度是均匀的0u , 保持杆的一端的温度为不变的0u ,至于另一端则有强度为恒定的0q 的热流进入. (解析解见数理方法P214)杆上温度(),u x t 满足下列泛定方程和定解条件(数理方法P214)()20t xx u a u a k c ρ-== (8.71)00x x x lu u u q k ==⎧=⎪⎨=⎪⎩ (8.72) ()000t u u x l ==<< (8.73)边界条件不是齐次的, 首先要处理这个问题. 取一个既满足边界条件(8.72)又满足泛定方程(8.71)的函数(),v x t ,()00,q v x t u x k=+(8.74)计算程序: clear%设置边界条件参数 u0=0; q0k=10; D=1; a1=1.0; b1=0.0; a2=0.0; b2=1.0; c1=u0; c2=q0k;%设置u 矩阵及计算解方程系数 I=101; K=101; h=0.1; tao=0.1; P=tao*D/h^2; P1=1/P+1; P2=1/P-1;for i=1:I x(i)=(i-1)*h; end for k=1:K t=(k-1)*tao; endu(I,K)=zeros; %设置初始条件 u(:,1)=u0;%设置左端第一类边界条件 u(1,:)=u0; %设置系数矩阵A A(I,K)=zeros; A(1,1)=b1*P1+h*a1;x/cmu /u 0A(1,2)=-b1;A(I,K-1)=-b2;A(I,K)=b2*P1+h*a2;for i=2:K-1A(i,i)=2*P1;A(i,i-1)=-1;A(i,i+1)=-1;end%解方程for k=1:K-1R(1,1)=(b1*P2-h*a1)*u(1,k)+b1*u(2,k)+2*h*c1;R(I,1)=b2*u(I-1,k)+(b2*P2-h*a2)*u(I,k)+2*h*c2;for i=2:I-1R(i,1)=u(i-1,k)+2*P2*u(i,k)+u(i+1,k);endc=rank(A)==rank([A R]);u(:,k+1)=A\R;end%作图程序for k=10:20:100plot(x,u(:,k),'-k','LineWidth',2)hold onendaxis([0,10,0,35])xlabel ('\fontsize{14}\bfx/cm')ylabel ('\fontsize{14}\bfu/u_0')grid on%理论结果作图程序clearu0=0;q0k=10;I=101;h=0.1;D=1;for i=1:Ix(i)=(i-1)*h;endl=10;a=sqrt(D);for k=10:20:100t=0.1*k;u=0;for n=1:1000u=u+2*q0k*l/pi^2*(-1).^(n)./(n-1/2)^2*exp(-(n-1/2).^2*pi^2*a^2.*t/l^2).*sin((n-1/2).*pi.*x/l);endU=u+u0+q0k.*x;plot(x,U,':r','LineWidth',2)hold onendaxis([0,10,0,35])grid on例:clear%设置边界条件参数u0=0;q0k=10;D=1;a1=1.0;b1=0.0;a2=0.0;b2=1.0;c1=u0;c2= 0;%设置u矩阵及计算解方程系数I=101;K=101;h=0.1;tao=0.1;P=tao*D/h^2;P1=1/P+1;P2=1/P-1;for i=1:Ix(i)=(i-1)*h;endfor k=1:Kt=(k-1)*tao;endu(I,K)=zeros;%设置初始条件u(:,1)=-q0k.*x;%设置左端第一类边界条件u(1,:)=u0;%设置系数矩阵AA(I,K)=zeros;A(1,1)=b1*P1+h*a1;A(1,2)=-b1;A(I,K-1)=-b2;A(I,K)=b2*P1+h*a2;for i=2:K-1A(i,i)=2*P1;A(i,i-1)=-1;A(i,i+1)=-1;end%解方程for k=1:K-1R(1,1)=(b1*P2-h*a1)*u(1,k)+b1*u(2,k)+2*h*c1;R(I,1)=b2*u(I-1,k)+(b2*P2-h*a2)*u(I,k)+2*h*c2;for i=2:I-1R(i,1)=u(i-1,k)+2*P2*u(i,k)+u(i+1,k);endc=rank(A)==rank([A R]);u(:,k+1)=A\R;end%作图程序for k=1:10:101plot(x,u(:,k),'-k','LineWidth',2)hold onend%axis([0,10,0,35])xlabel ('\fontsize{14}\bfx/cm')ylabel ('\fontsize{14}\bfu/u_0')grid on%理论结果作图程序clearu0=0;q0k=10;I=101;h=0.1;D=1;for i=1:Ix(i)=(i-1)*h;endl=10;a=sqrt(D);for k=1:10:101t=0.1*(k-1);u=0;for n=1:10000u=u+2*q0k*l/pi^2*(-1).^(n)./(n-1/2)^2*exp(-(n-1/2).^2*pi^2*a^2.*t/l^2).*sin((n-1/2).*pi.*x/l);endU=u;plot(x,U,':r','LineWidth',2)hold onend%axis([0,10,0,35])grid onx/cmu /u 0热传导方程的混合问题泛定方程2201,0u u x t t x ∂∂=<<<∂∂初始条件 ()(),04101u x x x x =-≤≤边界条件()()0,001,0u t t u t =⎧⎪≤⎨=⎪⎩ 问题的数值解.clear%设置边界条件参数u0=0;D=1;a1=1.0;b1=0.0;a2=1.0;b2=0.0;c1=u0;c2=u0;%设置u 矩阵及计算解方程系数I=101;K=101;h=0.01;tao=0.01;P=tao*D/h^2;P1=1/P+1;P2=1/P-1;for i=1:Ix(i)=(i-1)*h;endfor k=1:Kt=(k-1)*tao;endu(I,K)=zeros;%设置初始条件u(:,1)=4.*x.*(1-x);%设置左端第一类边界条件u(1,:)=u0;%设置右端第一类边界条件u(101,:)=u0;x/cmu /u 0%设置系数矩阵AA(I,K)=zeros;A(1,1)=b1*P1+h*a1;A(1,2)=-b1;A(I,K-1)=-b2;A(I,K)=b2*P1+h*a2;for i=2:K-1A(i,i)=2*P1;A(i,i-1)=-1;A(i,i+1)=-1;end%解方程for k=1:K-1R(1,1)=(b1*P2-h*a1)*u(1,k)+b1*u(2,k)+2*h*c1;R(I,1)=b2*u(I-1,k)+(b2*P2-h*a2)*u(I,k)+2*h*c2;for i=2:I-1R(i,1)=u(i-1,k)+2*P2*u(i,k)+u(i+1,k);endc=rank(A)==rank([A R]);u(:,k+1)=A\R;end%作图程序for k=1:5:101plot(x,u(:,k),'-k','LineWidth',2)hold onend%axis([0,10,0,35])xlabel ('\fontsize{14}\bfx/cm')ylabel ('\fontsize{14}\bfu/u_0')grid on泛定方程2201,0u u x t t x ∂∂=<<<∂∂初始条件 ()()(),0sin 4101u x x x x =-≤≤边界条件 ()()0,001,0u t t u t =⎧⎪≤⎨=⎪⎩问题的数值解.clear%设置参数lambda=1;alpha=1/6;L=1;h=0.01;T=0.6;tao=alpha*h^2/lambda;N=fix(L/h);M=fix(T/tao);%设置u 矩阵及x 的值I=N+1;K=M+1;for i=1:Ix(i)=(i-1)*h;endu(I,K)=zeros;%设置初始条件u(:,1)=sin(4*pi.*x.*(1-x));%设置左端第一类边界条件u(1,:)=0;%设置右端第一类边界条件u(I,:)=0;%计算矩阵ufor k=1:Kfor i=2:I-1 u(i,k+1)=1/6*u(i+1,k)+2/3*u(i,k)+1/6*u(i-1,k); endendu;for k=1:100:1000plot(x,u(:,k),'-k','LineWidth',2)hold onend%axis([0,1,0,1])xlabel ('\fontsize{14}\bfx/cm') ylabel ('\fontsize{14}\bfTC^O') grid on。
一维热传导方程的前向 、紧差分格式
中南林业科技大学本科课程论文学院:理学院专业年级:09信息与计算科学一班课程:偏微分方程数值解法论文题目:一维热传导方程的前向Euler和紧差分格式指导教师:陈红斌2012年7月学生姓名:唐黎学号: 20093936分工:程序编写,数值例子学生姓名:何雄飞学号:20093925分工:格式建立,资料收集学生姓名:汪霄学号:20093938分工:文档编辑,资料整理学生姓名:毛博伟学号:20093931分工:公式编辑,查找资料学生姓名: 倪新东学号:20093932分工:数据分析,查找资料学生姓名: 何凯明学号:20093924分工:数据分析,查找资料目录1引言 .。
.。
.....。
.。
........。
.。
..。
.....。
.。
.。
12物理背景。
.。
.。
.。
...。
.。
...。
....。
...。
.。
13网格剖分 .。
.。
..。
.。
....。
.。
..。
..。
.....。
24.1。
1向前Euler格式建立 ...。
.。
.。
...。
..。
....。
....。
24.1。
2差分格式的求解 ..。
..。
.。
...。
.。
..。
..。
..。
44.1。
3收敛性与稳定性.。
.。
.。
.。
.。
.。
.。
.。
.。
.....。
(4)4.1。
4 数值例子。
...。
..。
..。
....。
.。
.。
....。
(7)4。
2.1紧差分格式建立。
.。
.。
.....。
.。
.。
.。
.。
.。
(10)4.2.2差分格式求解。
.。
..。
.。
.。
....。
.。
...。
.。
.。
..124.2.3数值例子 ...。
..。
.。
.。
....。
..。
.......。
.。
..13总结..。
....。
.。
..。
.。
.。
.。
...。
.。
....。
....。
.........。
.17 参考文献 .........。
.。
.。
.。
...。
.。
.。
..。
..。
.18 附录 ....。
.。
..。
...。
..。
.。
......。
.。
.。
.。
.。
.。
191 引言本文考虑的一维非齐次热传导方程的定解问题:22(,),0,0,u ua f x t x l t T t x ∂∂-=<<<≤∂∂(,0)(),0,u x x x l φ=≤≤ (0,)(),(1,)(),0.u t t u t t t T αβ==<≤其中a 为正常数,(,),(),(),()f x t x t t ϕαβ为已知函数,(0)(0),(1)(0).ϕαϕβ==目前常用的求解热传导方程的差分格式有前向Euler 差分格式、向后Euler 差分格式、Crank-Nicolson 格式、Richardson 格式[1,2,3].本文将给出前向Euler 格式和紧差分格式,并给出其截断误差和数值例子.2 物理背景热传导是由于物体内部温度分布不均匀,热量要从物体内温度较高的点流向温度较低的点处。
基于变分原理的二维热传导方程差分格式
则 网格 上 建立 二 维热 传 导 方程 的差 分 格 式 就成 为 至
关重 要 的问 题 。 . 尤其 对许 多应 用 性 问题 , 激 光 如
惯性 约 束 聚变 研 究 中激 光 与靶 耦 合 过 程 , 内爆 动 力 学压 缩 过 程 , 都会 出 现 热 传 导 方 程 系数 和 温 度 函 数
流 通量 成 为独 立 的 未知 函 数 , 通过 变 分原 理 , 究 热 研 流泛 函 的极值 并 与 温 度 对 流 方 程 进 行 联 立 求 解 ; 与 此 同时 , 出每个 网 格 内 的温 度 值 以及 通 过 网 格 四 解
周 边 界上 的热 流通量 .
各 有 其 优缺 点 : 分 途 径具 有 通 用 、 微 简便 等 优 点 , 但
畸 变情 况下 数 值 求 解 结 果 的可 靠 性 , 了对 上 述 插 除
值 公式 选 取具 有 一 定 明确 物 理含 义 和计 算 精度 的公 式外, 另一 种 有效 途径 是 本 文 将 要 讨 论 的基 于 变 分
原 理 的方 法 . 先将 热 传导 方 程 写成 热 流形 式 , 得 热 使
在空 间 和 时 间上 的强 烈 非 均 匀性 , 为 问题 特 有 的 成
难点 .
分格 式 克 服 了在非 正 交 网格 上 计算 热 流 通量 漏 失偏 大, 以及 温 度分 布 变 化 明显 依 赖 于 网 格 剖 分 形 状 等 缺点 , 是 在计 算 公 式 中 因 涉及 到 网 格 结 点 上 的温 但 度值 , 要 计算 每 个 网格 四周边 界 上 的热 传 导 系数 , 需 而 这些 值 要借 助 插 值 公 式 求 得 . 网 格 发 生 强 烈 当
[ 章 编 号 ] 10 .4 X(02 0 .290 文 0 1 6 20 )40 9—6 2
热传导方程差分格式的稳定性
i M o即差分 格式 () 2 , 2 稳定 .
证明 由于方程( ) 3 与方程 () 2 等价 , 所以利用 () 3 式证明结论成立即可 . 方 面 , ( ) 中 , U = 2 u 可得 在 3式 取 k 7,
22 变分有界法主要 思想 . 变分有界法是一种通过变分考察有限差分格式中函数值 的有界性来判定格式稳定性的方法. 它避免 了通 常要进行矩阵谱半径或者 F ui 增长因子等繁琐计算 , or r e 首先在步长函数空 间中引入 内积和相应的范数, 然后 将差分格式用 内积变分, 这两步如 2 1 . 中所述 , 最后在所得到的变分形式 中利用内积和范数的相关性质确定差 分格式中函数值有界 , 从而得到格式稳定的条件.
其中 f x,) t , 为正常数 . ( t = u a, 假定区域 [ ,] 0 T] 0 1 X[ , 正好被分别平行于 轴和t 轴的直线进行均匀网格划分 , N为正整数, 设 取空间 步长为 ^= , = , ( =0 1… , +1 , ,, N ) 时间步长 忌 = 础 ,, =0 l…, 用 i , ( z ,, T) 表示 ( ,
i 1
L = 0, 0, 1
在 h定有差算 (= +) (]内 (  ̄) J . 如 V 义限分子 z [z^ z和积( 7^ I 上 ) ( 一 ) U. = h) 二 2 h
( ^^ ^ ) 并记此内积定义下的范数为 l I = {( )^专而 L [,] , , I・l ^ (‘ ) }; 01 上的内积记为()此内积 ‘, 定义下的范数记为 II这两种范数都是 Hie 空间中的范数 . ・. lr bt
2 3 基 本 引理 .
引理[ 对任意的 ∈ V , 。 ^ h 都有 l ^l 2 J ^ l I
热传导方程差分格式
热传导方程的差分格式第2页一维抛物方程的初边值问题分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:.:u ;:2ua 2,0 ::: x :: 1,.:t ;xu(x,0) =sin 二x, 0 :: x :: 1u(O,t) =u(1,t) =0, t 02在t =0.05,0.1和0.2时刻的数值解,并与解析解u(x,t)=ef t s in (二x)进行比较1差分格式形式2设空间步长h =1/ N ,时间步长• • 0, T =M •,网比r = • / h .(1) 向前差分格式该问题是第二类初边值问题(混合问题),我们要求出所需次数的偏微商的函数Eu c2uu(x,t),满足方程—a—^, 0 :::x :::1,和初始条件u(x,0)= sin x , 0 x ::: 1抚ex及边值条件u(0,t) =u(1,t) =0, t 0。
已知sin二x在相应区域光滑,并且在x =0,丨与边值相容,使问题有唯一充分光滑的解。
取空间步长h =1/ N,和时间步长-T /M,其中N,M都是正整数。
用两族平行直线x= j X =( j h0Hj 1 ,和tlNt k =X(k=0,1,|||,M) 将矩形域G二{0 — x — 1,t — 0}分割成矩形网络,网络格节点为(X j,t k)。
以G h表示网格内点集合,即位于矩形G的网点集合;G h表示闭矩形G的网格集合;丨h=G h-G h是网格界点的集合。
向前差分格式,即k 1 k k k ku, -u, u, 1 -2比■ u, 4- j二a 亠2亠t ( 1)£hk 1 kU j _Uj[ T2k 1 c k 1a U j 1 -2U jh 2k k kU j 1 _2U j U j 和]f j(3)0 U j=(X j ), U 0 = U N = 0.f i = f(x),k kU j j = (X j ), U o = U N = 0其中,j =1,2,…,N _1,k =1,2,…,M 一1.以r =a ./h 2表示网比。
CP090-计算物理热传导方程的差分解法
t T
(9.6)
9.2 一维热传导方程的差分解法
边界条件: 3、 第三类边界条件:
u (, t ) x (t )u (, t ) g (t ) u (l , t ) (t )u (l , t ) g (t ) x
其中, (t )
9.1 热传导方程概述
四、三维非齐次热传导方程 由能量守恒定律,即
Q Q Q
可得:
或
u t dt V [c t ( Ku) F ]dV u c ( Ku ) F ( x, y, z, t ) t
t
(9.1)
式(9.1)称为各向同性介质有热源的热传导方程,也叫三维 非齐次热传导方程。
9.1 热传导方程概述
五、三维齐次热传导方程 当介质均匀( c 、 和 K 为常数) 内无热源( F ( x, y, z, t ) )时: 、V
u c Ku, t
上式可表示为:
其中 x y z
u K u u u ( ) t c x y z
9.2 一维热传导方程的差分解法
例 9.1 求热传导方程混合问题:
u u t x u ( x,) x( x) u (, t ) , u (, t )
x , t x t
的数值解,取 N=10,h=0.1,计算到 k=36 为止。
9.2 一维热传导方程的差分解法
2、差分格式的稳定条件
h
3、具体步骤 (1)给定 , l , h, , T ; (2)计算 h / , N l / h, M T / ;
一维热传导方程的差分法
一维热传导方程的差分法一维热传导方程是描述物体内部温度分布随时间演化的数学模型。
在工程领域,热传导方程经常被用来分析物体在不同热边界条件下的温度分布和热传导速度。
为了求解一维热传导方程,常常会采用差分法来进行数值计算。
差分法是一种利用差分逼近代替微分运算的数值方法,通过将空间和时间均匀划分为若干个小区间,用离散的点代表连续的物理量,在这些离散点上建立差分方程,最终得到一个离散的求解方程组。
通过求解这个方程组,可以得到不同时间和空间点上的温度分布。
一维热传导方程的一般形式可以写作:\[ \frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2} \]\(u(x, t)\)为温度场变量,\(x\)为空间坐标,\(t\)为时间,\(\alpha\)为热传导系数。
为了利用差分法进行数值计算,首先需要将一维热传导方程离散化。
空间坐标可以划分为若干个网格点,记为\(x_i\),时间可以划分为若干个时间步长,记为\(\Delta t\)。
通过差分法,可以用以下二阶中心差分逼近代替偏导数:将上述离散化的结果代入一维热传导方程,可以得到如下的差分方程:\(u_i^n\)表示在空间点\(x_i\)和时间点\(t_n\)处的温度值。
通过求解上述差分方程,可以得到物体在不同的时间和空间点的温度分布。
为了求解这个差分方程,可以采用显式差分法或者隐式差分法。
显式差分法是一种迭代数值计算的方法,通过某一时刻的温度值计算下一个时刻的温度值;隐式差分法是一种同时求解多个时刻温度值的方法,需要通过线性方程组的求解来得到下一个时间点的温度分布。
在实际工程中,差分法常常会遇到数值稳定性和收敛性的问题,需要谨慎选择时间步长和空间步长以保证数值计算的准确性。
还需要考虑边界条件和初始条件的选择,对于不同类型的热传导问题,需要考虑不同的求解策略。
差分法是求解一维热传导方程的一种重要的数值方法,通过将连续的偏导数转化为离散的差分方程进行数值计算,可以得到物体在不同时间和空间点的温度分布,为工程实践中的热传导问题提供重要的数值模拟手段。
二位热传导方程第二类边界有限差分法
这是一个关于热传导方程的问题,可以使用有限差分法进行求解。
首先,我们需要定义一个二维热传导方程:
∂u/∂t = α (∂²u/∂x² + ∂²u/∂y²)
其中,u表示温度,t表示时间,x和y表示空间坐标,α表示热扩散率。
然后,我们可以使用第二类边界有限差分法来求解这个方程。
将方程进行离散化处理,得到如下的差分方程:
u_i,j^(n+1) = u_i,j^n + Δt/α * [(u_i+1,j^n - 2u_i,j^n + u_i-1,j^n)/Δx² + (u_i,j+1^n - 2u_i,j^n + u_i,j-1^n)/Δy²]
其中,u_i,j^(n) 表示在时刻n,坐标为(i, j) 处的温度值,Δt 表示时间步长,Δx 和Δy 表示空间步长。
我们可以使用这个差分方程来迭代求解温度场的变化。
需要注意的是,在边界处需要考虑边界条件。
具体的边界条件可以根据实际问题的需求进行设定。
以上就是使用第二类边界有限差分法求解二维热传导方程的基本步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
u(: , i+1) =R * u(: , i);
end
u=[0 ; u(: , i+1) ; 0];
fori=1 : k
forj=1 : N+1
up(j , i)=exp(-pi*pi*t) * sin(pi*(j-1)*h);
end
end
x=0 : h : 1;
plot(x , u ,'b.', x , up(: , k) ,'r--');
t=0.1
0.0443229427820120
0.0442555796634600
0.0442226561119014
t=0.2
0.0265375944429049
0.0264980178171388
0.ቤተ መጻሕፍቲ ባይዱ264788945621501
3方法总结及分析
本文向前差分格式,向后差分格式及六点差分格式都是使用三对角系数矩阵,计算简单。根据matlab作,特别明显的是, 时,图像解析解波动特别大,与真解差距很大。这是因为 差分格式不稳定。根据误差比较,解本题时向后差分格式误差最小。衡量一个差分格式是否经济实用,有点多方面因素决定,应考虑不同的情况决定。
t=0.2
1.16572934157246e+136
0.00126149089942459
0.000315223617970853
向后差分格式
t=0.05
0.00483090554361983
0.00276517069125328
0.00172971295195573
t=0.1
0.00590373504606959
此格式为显格式。
其矩阵表达式如下:
(2)向后差分格式
向后差分格式,即
(2)
其中 (2)式可改写成
此种差分格式被称为隐格式。
其矩阵表达式如下:
(3)六点对称格式
六点差分格式:
(3)
将(3)式改写成
其矩阵表达式如下:
2利用MATLAB求解问题的过程
对每种差分格式依次取 , , , ,用MATLAB求解并图形比较数值解与精确解,用表格列出不同剖分时的 误差。
k = t / t1;
fori = 1 : k
u(:,i+1) =inv(R) * u(:,i);
end
u=[0;u(:,i+1);0];
fori=1:k
forj=1:N+1
up(j,i)=exp(-pi*pi*t)*sin(pi*(j-1)*h);
end
end
x=0:h:1;
plot(x,u,'b.',x,up(:,k),'r--');
legend('数值解','精确解');
err=norm(u-up(:,k));
end
六点差分格式:
function[ u , err ] =ld( t , t1 )
N = 40;
h = 1 / N;
x=[h:h:(1-h)]';
r = t1 / (h^2);
u(:,1)=sin(pi * x);%t=0时刻
R = zeros(N-1 , N-1);
fori = 2 : N-2
R(i ,i) = 1 + 2 * r;
R(i , i+1) = -r;
R(i, i-1) = -r;
end
R(1 , 1) = 1 + 2 * r;
R(1 , 2) = -r;
R(N-1 , N-1) = 1 + 2 * r;
R(N-1, N-2) = -r;
向前差分格式:
:
:
:
:
:
:
:
向后差分格式:
六点差分格式:
误差:
t=1/1600 t=1/3200 t=1/6400
向前差分格式
t=0.05
8.888396579076e+21
0.0014
0.00034640856587426
t=0.1
8.83785296707723e+59
0.0017
0.000422936658240724
fori = 2 : N-2
R(i , i) = 1 - 2 * r;
R(i , i+1) = r;
R(i, i-1) = r;
end
R(1 , 1) = 1 -2 * r;
R(1 , 2) = r;
R(N-1 , N-1) = 1 - 2 * r;
R(N-1, N-2) = r;
k = t / t1;
fori = 1 : k
u(:,i+1) =inv(R) *R1* u(:,i);
end
u=[0;u(:,i+1);0];
fori=1:k
forj=1:N+1
up(j,i)=exp(-pi*pi*t)*sin(pi*(j-1)*h);
end
end
x=0:h:1;
plot(x,u,'b.',x,up(:,k),'r--');
一维抛物方程的初边值问题
分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:
在 时刻的数值解,并与解析解 。
1差分格式形式
设空间步长 , 时间步长 , ,网比 .
(1)向前差分格式
该问题是第二类初边值问题(混合问题),我们要求出所需次数的偏微商的函数 ,满足方程 和初始条件 ,及边值条件 。
fori = 2 : N-2
R1(i ,i) = 1 - r;
R1(i , i+1) = r/2;
R1(i, i-1) = r/2;
end
R1(1 , 1) = 1 - r;
R1(1 , 2) = r/2;
R1(N-1 , N-1) = 1 -2 * r;
R1(N-1, N-2) = r/2;
k = t / t1;
legend('数值解','精确解');
err=norm(u - up(: , k));
end
向后差分格式:
function[ u , err ] = xh( t , t1 )
N = 40;
h = 1 / N;
x=[h:h:(1-h)]';
r = t1 / (h^2);
u(:,1)=sin(pi * x);%t=0时刻
R = zeros(N-1 , N-1);
fori = 2 : N-2
R(i ,i) = 1 + r;
R(i , i+1) = -r/2;
R(i, i-1) = -r/2;
end
R(1 , 1) = 1 + r;
R(1 , 2) = -r/2;
R(N-1 , N-1) = 1 + 2 * r;
R(N-1, N-2) = -r;
legend('数值解','精确解');
err=norm(u-up(:,k));
end
已知 在相应区域光滑,并且在 与边值相容,使问题有唯一充分光滑的解。
取空间步长 ,和时间步长 ,其中 都是正整数。用两族平行直线 和 将矩形域 分割成矩形网络,网络格节点为 。以 表示网格内点集合,即位于矩形 的网点集合; 表示闭矩形 的网格集合; 是网格界点的集合。
向前差分格式,即
(1)
,
其中, 以 表示网比。(1)式可改写成如下:
附件程序
向前差分格式:
function[ u , err ] = xq( t , t1 )
% t 是时刻值;
% t1 是时间步长;
N = 40;
h = 1 / N;
x=[h : h : (1-h)]';
r = t1 / (h^2);
u(:,1)=sin(pi * x);%t=0时刻
R = zeros(N-1 , N-1);
0.00337797222842041
0.00211264169361075
t=0.2
0.00440853027126062
0.00252054496720081
0.00157579425393478
六点差分格式
t=0.05
0.0526000555873324
0.0525169033137740
0.0524758656498487