热传导方程紧差分格式的区域分解算法
- 格式:pdf
- 大小:120.78 KB
- 文档页数:2
热传导方程的求解及其应用热传导是指物质内部由高温区向低温区传递热量的过程,是自然界中十分普遍的现象。
为了更好地理解和研究这一过程,我们需要借助数学模型来描述和求解热传导过程,其中最常用的数学模型就是热传导方程。
一、热传导方程的数学模型热传导方程是描述物质内部温度变化随时间和空间的变化而变化的偏微分方程。
它可以描述均质物质内部的热量传递,以及介质中的温度变化。
热传导方程的数学表示式如下:$$ \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.有限差分法有限差分法是一种常见的数值求解方法,可以用来求解各种偏微分方程,包括热传导方程。
热传导方程二阶并行区域分解差分算法
田敏;羊丹平
【期刊名称】《山东大学学报:理学版》
【年(卷),期】2006(41)5
【摘要】提出了一类新的计算热传导方程数值解的并行差分算法.算法基于区域分解和子区域校正,在每个子区域上进行残量修正,各子域之间可以并行计算.证明了算法的收敛性,并且理论分析表明,在每一时间步,只需校正一次或两次,即可达到最优的收敛阶.数值试验表明了算法的有效性和优越性.
【总页数】9页(P12-19)
【关键词】区域分解;子区域校正;单位分解;中心差分格式;热传导方程
【作者】田敏;羊丹平
【作者单位】山东大学数学与系统科学学院
【正文语种】中文
【中图分类】O241.82
【相关文献】
1.热传导方程紧差分格式的区域分解算法 [J], 张红梅;岳素芳;许娟
2.热传导方程的一类区域分解差分算法 [J], 张红梅
3.关于热传导方程有限差分区域分解并行算法精度的注记 [J], 万正苏;方春华;张再云
4.热传导方程紧差分格式的区域分解算法 [J], 张红梅;岳素芳;许娟
5.热传导方程的一类新型重叠型并行区域分解有限差分算法 [J], 田敏;羊丹平因版权原因,仅展示原文概要,查看原文内容请购买。
热传导方程的差分格式汇总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):将空间离散化后,通过引入有限元方法,将热传导问题转化为线性方程组,再通过求解线性方程组得到温度分布。
文献综述信息与计算科学热传导方程差分格式的收敛性和稳定性在实际研究物理问题过程中, 往往能给出问题相应的数学表达式, 但是由于实际物理问题的复杂性, 它的解却一般不容易求出. 由此计算物理应运而生, 计算物理是以计算机为工具, 应用数学的方法解决物理问题的一门应用性学科, 是物理、数学和计算机三者结合的交叉性学科. 它产生于二战期间美国对核武器的研究, 伴随着计算机的发展而发展.计算物理的目的不仅仅是计算, 而是要通过计算来解释和发现新的物理规律. 这一点它与传统的实验物理和理论物理并无差别, 所不同的只是使用的工具和方法. 计算物理早已与实验物理和理论物理形成三足鼎立之势, 甚至有人提出它将成为现代物理大厦的“栋梁”.在一个物理问题中一个数值解往往比一个式子更直观, 更有价值. 在实际求解方程时, 除了一些特殊的情况下可以方便地求得其精确解外, 在一般情况下, 当方程或定解条件具有比较复杂的形式, 或求解区域具有比较复杂的形状时, 往往求不到, 或不易求到其精确解. 这就需要我们去寻找方程的近似解, 特别是数值近似解, 简称数值解. 这里主要研究的是热传导方程.有限差分法是微分方程和积分微分方程数值解的方法. 其基本思想是把连续的定解区域用有限个离散点构成的网格来代替, 这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似, 积分用积分和来近似, 于是原微分方程和定解条件就近似地代之以代数方程组, 即有限差分方程组, 解此方程组就可以得到原问题在离散点上的近似解. 然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解.热传导的差分法是求解热传导方程的重要方法之一. 对于差分格式的的求解, 我们首先要关注差分格式的收敛性和稳定性. 对于一个微分方程建立的各种差分格式, 为了有实用意义, 一个基本要求是它们能够任意逼近微分方程, 即相容性要求. 一个差分格式是否有用, 就要看差分方程的精确解能否任意逼近微分方程的解, 即收敛性的概念. 此外, 还有一个重要的概念必须考虑, 即差分格式的稳定性. 因为差分格式的计算过程是逐层推进的, 在计算第n +1层的近似值时要用到第n 层的近似值 , 直到与初始值有关. 前面各层若有舍入误差, 必然影响到后面各层的值, 如果误差的影响越来越大, 以致差分格式的精确解的面貌完全被掩盖, 这种格式是不稳定的, 相反如果误差的传播是可以控制的, 就认为格式是稳定的. 只有在这种情形, 差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解. 由Lax 等价定理告诉我们, 对于各适定的线性的初值问题, 对相容性的差分逼近来说, 稳定性则是差分方程的解收敛于微分方程的解的充分必要条件. 收敛是差分方程的本质要求, 稳定是差分方程的基本特性, 对于计算的问题来说, 数值稳定性事差分格式必须要具备的条件, 一个不稳定的差分格式, 即使其他方面有很多的优点, 也是不能用来计算的. 可见由于收敛性和稳定性的重要性, 对于他们的研究是非常具有价值的.热传导方程: 2222222.u u u u a t x y z ⎛⎫∂∂∂∂=++ ⎪∂∂∂∂⎝⎭ 一维热传导方程的初边值问题:22200120(0,0),()(0),(),()(0).t x x l u u a x l t t x u x x l u t u t t ϕμμ===⎧∂∂==<<>⎪∂∂⎪⎪ =<<⎨⎪⎪⎪ = =>⎩用, , 及分别表示初边值问题的解及其偏导数及n j u n j u t ∂⎛⎫ ⎪∂⎝⎭22nj u x ⎛⎫∂ ⎪∂⎝⎭(,)u x t (,)u x t t ∂∂在点之值, 表示求解区域内网格节点. 当初边值问题的解在22(,)u x t x ∂∂(,)j n x t (,)j n x t 区域内部适当光滑时, 对任一区域内部的节点利用泰勒展开公式, 然后化简得(,)j n x t 到显示差分格式:1112200220,()()(1,,1),(),()(0,1,2,).n n nn n j j j j j j n n J U U U U U a t x U j x j J U n t U n t n ϕμμ++-⎧--+-=⎪∆∆⎪⎪=∆=⋅⋅⋅-⎨⎪⎪⎪=∆=∆=⋅⋅⋅⎩这里由于差分方程的解与原初边值问题的解一般是不同的, 故用不同的记号表示.U u 明显的用上式近似热传导方程的初边值问题, 所忽略掉的项, 即截断误差是. 记 2()(())O t O x ∆+∆22()t a x λ∆=∆ 其隐式格式: 111110012(12),()(1,,1),(),()(0,1,2,).n n n n j j j j j n n J U U U U U j x j J U n t U n t n λλλϕμμ+++-+⎧-++-=⎪⎪=∆=⋅⋅⋅-⎨⎪=∆=∆=⋅⋅⋅⎪⎩ 其中. 22()t a x λ∆=∆参考文献[1] 谷超豪, 李大潜, 陈恕行等. 数学物理方程[M ]. 北京: 高等教育出版社, 2002.[2] 刘盾. 实用数学物理方程[M ]. 重庆: 重庆大学出版社, 1996.[3] 张锁春. 抛物型方程定解问题的有限差分数值计算[M ]. 北京: 科学出版社, 2010.[4] (美)哈伯曼. 实用偏微分方程[M ]. 北京: 机械工业出版社, 2007.[5] 陆金甫, 关治. 偏微分方程数值解法[M ]. 北京: 清华大学出版社, 2003.[6] K. W. Morton, D. F. Mayers. 偏微分方程数值解[M ]. 北京: 人民邮电出版社, 2006.[7] 戴嘉尊, 邱建贤. 微分方程数值解法[M ]. 南京: 东南大学出版社, 2002.[8] 徐琛梅. 一类非线性偏微分方程差分格式的稳定性分析[J ]. 江西科学, 2008,27(3) :227~230.[9] 张天德, 张希华, 王玮. 偏微分方程差分格式的构造[J]. 山东工业大学学报, 1997,26(2) :245~246.[10] P. Darania and A. Ebadian. A method for the numerical solution of integrodifferentialequations [J]. Applied Mathematics and Computation , 2007, 188(1): 657~668.[11] Yang Zhang. A finite difference method for fractional partial differential equation [J].Journal of Computational and Applied Mathematics, 2009, 215(2):524~529.。
一维热传导方程的差分法一维热传导方程描述了一个热量在一条长度为L的薄杆上的传导过程。
由于实际的解析解较为复杂,因此常用数值方法来求解。
其中一种常用方法是差分法。
差分法是通过将连续的函数离散化为一系列点,用差分来近似微分方程的解的方法。
在一维热传导方程的差分法中,我们将杆分为N个小段,每个小段长度为Δx,时间步长为Δt。
我们可以数值求解一维热传导方程的具体步骤如下:1. 离散化空间和时间首先,我们需要将空间和时间分别离散化。
对空间,我们可以将杆等分为N个小段,每个小段长度为Δx=L/N。
对时间,我们将时间区间T等分成M个小区间,每个小区间的时间长度为Δt=T/M。
2. 数值求解$\frac{\partial u}{\partial t}-\alpha\frac{\partial^2u}{\partial x^2}=0$其中,u(x,t)是杆上某个位置x处和时间t时的温度,α是热传导系数。
我们可以使用向前差分或者向后差分来近似时间导数:这里,$u_i^m$表示在时间步m时位置x=iΔx处的温度。
对于空间导数,我们可以使用中心差分:将这些差分近似代入原方程,我们得到:$u_i^{m+1}=u_i^m+\frac{\alpha\Delta t}{(\Deltax)^2}(u_{i+1}^m-2u_i^m+u_{i-1}^m)$这个式子是数值求解一维热传导方程的核心算式,它描述了每个时刻每个位置的温度变化。
3. 边界条件由于杆的两端是固定的,因此需要给出边界条件。
一般情况下,可以将杆的两端固定在恒温T0:$u_0^m=u_N^m=T_0$或者,我们可以给出初始温度分布u(x,0),然后根据差分法逐步推进温度分布的变化。
4. 迭代求解将边界条件代入核心算式,然后逐步迭代求解每个时刻每个位置的温度分布,最终得到温度分布随时间的演化过程。
总的来说,数值求解一维热传导方程的差分法是一种比较简单的数值方法,通过离散化空间和时间,并运用差分法中心差分和向前差分或者向后差分来逼近微分方程的解,有效地模拟杆上温度的变化。
Science &Technology Vision科技视界一直以来热传导问题受到了广泛的关注,姜尚礼等[1]利用分离变量法分析给出了齐次边界条件的热传导问题的解;曹钢等[2]介绍了用积分变换法来求解一维热传导问题的基本解,同时对物理意义做出了讨论;徐建良等[3]利用差分法对一维热传导问题进行分析,给出了直观的图像。
一维热传导问题的求解通常比较复杂,在这些工作的基础上,文章讨论给出一维热传导混合问题的向后差分格式,同时对2018年全国大学生数学建模竞赛A 题建立一维热传导方程,进行数值计算并给出直观图像。
1一维热传导方程的向后差分格式及求解考虑如下一维热传导方程u t =a 2u xx ,0<x <l ,0<t ⩽T(1)u (x ,0)=φ(x ),0⩽x ⩽l(2)u (0,t )=α(t ),u (l ,t )=β(t ),0⩽t ⩽T(3)⎧⎩⏐⏐⏐⏐⏐⏐⏐⏐⎨⏐⏐⏐⏐⏐⏐⏐⏐※基金项目:国家自然科学基金资助项目(11561011);贵州省免疫细胞与抗体工程研究中心(KY 字[2017]017);贵州医科大学生物与工程重点实验室(校重点实验室2016002)。
作者简介:张旭清(1987.12—),女,汉族,山东人,贵州医科大学,讲师,硕士研究生,研究方向:计算数学。
*通讯作者:黄文竹(1983.01—),女,汉族,黑龙江人,贵州医科大学,副教授,博士,研究方向:微分方程数值解。
一维热传导方程的差分法张旭清1,2,3黄文竹1,2,3*(1.贵州省免疫细胞与抗体工程研究中心,贵州贵阳550025;2.贵州医科大学生物与医学工程重点实验室,贵州贵阳550025;3.贵州医科大学生物与工程学院,贵州贵阳550025)【摘要】利用差分法对一维热传导问题进行分析,给出向后差分格式。
同时对2018年全国大学生数学建模竞赛A 题建立一维热传导方程,并进行数值计算。
【关键词】差分法;一维热传导方程;热防护服中图分类号:O241.8文献标识码:A 文章编号:2095-2457(2019)07-0118-003DOI :10.19694/ki.issn2095-2457.2019.07.049A Differece Method on One -dimensional Heat Conduction EquationZHANG Xu -qing 2,3HUANG Wen -zhu 1,2,3,*(1.Guizhou immune cell and antibody engineering research center ,Guiyang Guizhou 550025,China ;2.Key laboratory of biological and medical engineering ,guizhou medical university ,Guiyang Guizhou 550025,China ;3.School of Biology and Engineering ,Guizhou Medical University ,Guiyang Guizhou 550025,China )【Abstract 】Using the difference method to analyze the one -dimensional heat conduction problem ,and give a blackward difference scheme.At the same time,we establish the one -dimensional heat conduction problem,which from the question A of the 2018national college students mathematical modeling contest,finally we carry out illustration of the solution.【Key words 】Difference method ;One -dimensional heat conduction equation ;Heat -protective clothing 118图1一维热传导方程的图解用向后差商代替方程(1)中的偏微分,结合初边值条件,得如下向后差分格式:(4)(5) (4)式整理得中式用向量中,且。
一维热传导方程的差分法
热传导方程是描述物体内部温度变化随时间和位置的方程,可以用来研究热传导现象。
一维热传导方程是最简单的一种,适用于只考虑物体在一条直线方向上的温度变化的情
况。
一维热传导方程可以用下述形式表示:
∂u/∂t = α * ∂²u/∂x²
u是温度,t是时间,x是位置,α是热扩散系数。
这个方程描述了温度随时间的变化率与温度随位置的变化率之间的关系。
为了数值计算一维热传导方程,我们可以采用差分法来近似求解。
差分法是将连续的
问题离散化为离散的问题,使得计算机可以进行计算。
常用的差分方法包括显式差分法和
隐式差分法。
显式差分法是一种较为简单的差分方法,它的基本思想是使用中心差分来近似高阶导数。
具体步骤如下:
1.将时间和空间区域离散化,得到网格点。
2.根据差分近似,将一维热传导方程转化为差分方程。
3.根据初始条件和边界条件,确定网格点上的温度初始值。
4.按照差分方程进行迭代计算,更新网格点上的温度值。
差分法计算一维热传导方程的优点是简单易用,可以得到较为准确的结果。
差分法也
存在一些不足之处,比如需要选择适当的离散化步长和求解方程组等问题。
热传导方程的差分解法物理学中对热传导现象和扩散现象等物理过程的描述, 通常采用二阶偏微分方程, 统称为热传导方程.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。
热传导方程的左分格式—上机卖习报告二零一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. 引言1.1 简介一维热传导方程是描述物体内部热分布随时间变化的数学模型,广泛应用于工程领域中的热传导问题。
而差分法是求解偏微分方程的一种常用数值求解方法,通过将连续空间离散化为离散节点,时间离散化为不同时间步长,将偏微分方程转化为代数方程组进行求解。
在一维热传导方程的求解中,差分法可以分为显式差分法和隐式差分法两种主要方法。
显式差分法根据当前时刻的温度值和相邻节点的温度值计算下一个时刻各节点的温度值,而隐式差分法则需要求解一个代数方程组来更新温度值。
通过稳定性分析可以确定差分法的条件和参数选择,保证数值解的收敛性和准确性。
本文将从一维热传导方程的基本概念出发,介绍差分法的基本原理以及显式、隐式差分法的求解过程,最后对稳定性进行分析和讨论。
通过对差分法的研究,可以更好地理解和应用于解决实际工艺过程中的热传导问题,提高问题求解的效率和准确性。
【简介】1.2 研究背景热传导是物体内部热量传递的一种方式,其在工程、材料学、气象学等领域有着广泛的应用。
而研究热传导方程的数值解法,对于模拟和预测各种实际问题中的热传导过程具有重要意义。
研究背景部分主要介绍了一维热传导方程的差分法。
研究一维热传导方程的差分法是研究热传导过程的重要方法之一,它通过将物体划分成若干个小区间,并在每个小区间内利用差分格式逼近偏微分方程,从而得到离散的数值解。
差分法基本原理部分将介绍差分法的基本原理,包括离散化、边界条件的处理等内容。
显式差分法和隐式差分法部分将详细介绍这两种经典的差分格式及其数值求解过程。
稳定性分析部分将讨论差分法的稳定性问题,这是保证数值解的准确性和可靠性的重要因素。
通过对一维热传导方程的差分法进行研究,可以更深入地了解热传导过程的数值模拟方法,并为实际工程中的热传导问题提供有效的数值解法。
在未来的研究中,我们可以进一步探索更高维度热传导方程的差分法,以及将差分法与其他数值方法相结合,提高数值求解的效率和精度。
一维热传导方程的差分法一维热传导方程是描述物体内部温度分布随时间演化的数学模型。
在工程领域,热传导方程经常被用来分析物体在不同热边界条件下的温度分布和热传导速度。
为了求解一维热传导方程,常常会采用差分法来进行数值计算。
差分法是一种利用差分逼近代替微分运算的数值方法,通过将空间和时间均匀划分为若干个小区间,用离散的点代表连续的物理量,在这些离散点上建立差分方程,最终得到一个离散的求解方程组。
通过求解这个方程组,可以得到不同时间和空间点上的温度分布。
一维热传导方程的一般形式可以写作:\[ \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\)处的温度值。
通过求解上述差分方程,可以得到物体在不同的时间和空间点的温度分布。
为了求解这个差分方程,可以采用显式差分法或者隐式差分法。
显式差分法是一种迭代数值计算的方法,通过某一时刻的温度值计算下一个时刻的温度值;隐式差分法是一种同时求解多个时刻温度值的方法,需要通过线性方程组的求解来得到下一个时间点的温度分布。
在实际工程中,差分法常常会遇到数值稳定性和收敛性的问题,需要谨慎选择时间步长和空间步长以保证数值计算的准确性。
还需要考虑边界条件和初始条件的选择,对于不同类型的热传导问题,需要考虑不同的求解策略。
差分法是求解一维热传导方程的一种重要的数值方法,通过将连续的偏导数转化为离散的差分方程进行数值计算,可以得到物体在不同时间和空间点的温度分布,为工程实践中的热传导问题提供重要的数值模拟手段。