有限差分法
有限差分法
有限差分法finite difference method用差分代替微分,是有限差分法的基本出发点。
是一种微分方程和积分微分方程数值解的方法。
把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。
然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。
如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。
此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。
对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。
另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。
此外,还有一个重要的概念必须考虑,即差分格式的稳定性。
因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。
前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。
只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。
最常用的方法是数值微分法,比如用差商代替微商等。
另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。
此外还可以用待定系数法构造一些精度较高的差分格式。
龙格库塔龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。
有限差分法
第2章 有限差分法2.1 引言所有的守恒方程都具有相似的结构,而且都可以看作是输运方程的特殊形式。
本章以一般输运方程在Cartesian 坐标系下的表达式为例来讲述有限差分法。
()φφφρq xx x u j jjj +⎪⎪⎭⎫⎝⎛∂∂Γ∂∂=∂∂ (2.1)在上述方程中,除外都认为是已知函数。
2.2 基本概念FD 方法的第一步是离散几何的求解域,也就是说定义数值网格。
在FD 中,网格是局部结构化的,每个网格节点都可以看作是局部坐标系的原点,网格线则是局部坐标系的坐标线。
同族的网格线两两互不相交。
每一个网格节点都可用一组指标唯一的标定。
差分形式的标量守恒方程(2.1)是FD 法的原始方程。
并被近似为以网格节点上的守恒量为未知数的代数方程系统。
代数方程组的解近似为原微分方程的解。
每一个带有未知数的节点都必须有一个代数方程,在节点以及相邻节点上的未知数之间建立联系。
这个代数方程用在接点处用有限差分近似代替偏导数的形式获得。
对于Dirichlet 边界条件,边界上不需要代数方程,,对于其他边界条件,则必须将边界条件离散以得到所需的代数方程。
有限差分的概念是从导数的定义中得到的:x x x x x i i x x i∆-∆+=⎪⎭⎫⎝⎛∂∂→∆)()(lim 0φφφ (2.2)几种常用的差分格式:向前差分(forward difference )ii ii x x x --≈∂∂++11φφφ (2.3)向后差分(backward difference )11----≈∂∂i i i i x x x φφφ (2.4)中心差分(central difference )1111-+-+--≈∂∂i i i i x x x φφφ (2.5)2.3 一阶导数的近似(2.1) 式中的对流项()xu ∂∂φρ需要对一阶导数进行离散。
2.3.1 Taylor 级数展开法任意的连续函数(x)可在x i 的领域内展开成Taylor 级数()()()()()H x n x x x x x x x x x x x x x in nni ii i i ii i +⎪⎪⎭⎫ ⎝⎛∂∂-++⎪⎪⎭⎫ ⎝⎛∂∂-+⎪⎪⎭⎫⎝⎛∂∂-+⎪⎭⎫ ⎝⎛∂∂-+=φφφφφφ!...!32)(333222(2.6)H 为高阶项,用x i -1,x i +1代替x 这些点处的函数值在x i 附近的展开式。
微分方程数值求解——有限差分法
1. 引言有限差分法(Finite Difference Method,FDM)是一种求解微分方程数值解的近似方法,其主要原理是对微分方程中的微分项进行直接差分近似,从而将微分方程转化为代数方程组求解。
有限差分法的原理简单,粗暴有效,最早由远古数学大神欧拉(L. Euler 1707-1783)提出,他在1768年给出了一维问题的差分格式。
1908年,龙格(C. Runge 1856-1927)将差分法扩展到了二维问题【对,就是龙格-库塔法中的那个龙格】。
但是在那个年代,将微分方程的求解转化为大量代数方程组的求解无疑是将一个难题转化为另一个难题,因此并未得到大量的应用。
随着计算机技术的发展,快速准确地求解庞大的代数方程组成为可能,因此逐渐得到大量的应用。
发展至今,有限差分法已成为一个重要的数值求解方法,在工程领域有着广泛的应用背景。
本文将从有限差分法的原理、基本差分公式、误差估计等方面进行概述,给出其基本的应用方法,对于一些深入的问题不做讨论。
2. 有限差分方法概述首先,有限差分法是一种求解微分方程的数值方法,其面对的对象是微分方程,包括常微分方程和偏微分方程。
此外,有限差分法需要对微分进行近似,这里的近似采取的是离散近似,使用某一点周围点的函数值近似表示该点的微分。
下面将对该方法进行概述。
2.1. 有限差分法的基本原理这里我们使用一个简单的例子来简述有限差分法的基本原理,考虑如下常微分方程\begin{cases} u'(x)+c(x)u(x)=f(x), \quad x \in [a, b]; \\u(x=a) = d \end{cases} \tag{1}微分方程与代数方程最大的不同就是其包含微分项,这也是求解微分方程最难处理的地方。
有限差分法的基本原理即使用近似方法处理微分方程中的微分项。
为了得到微分的近似,我们最容易想到的即导数定义u'(x)=\lim_{\Delta x\rightarrow 0} \frac{u(x+\Delta x)-u(x)}{\Delta x}\approx \frac{u(x+\Delta x)-u(x)}{\Delta x} \tag{2}上式后面的近似表示使用割线斜率近似替代切线斜率,\Delta x 即为步长,如图 1(a)所示。
传热学有限差分法
传热学有限差分法
传热学有限差分法是一种精确且高效的热分析方法。
它利用数学模型对传热过程进行模拟,能够准确地预测温度分布和热传导系数。
这种方法在工程领域被广泛应用,特别是在建筑、航空航天、电子和化学工业等领域。
有限差分法通过将连续的空间离散化为有限个网格,以解决偏微分方程的数值解问题。
在每个网格点上,有限差分法用差分方程近似代替偏微分方程,从而得到一组线性方程组。
然后,通过求解这组线性方程组,可以得到每个网格点的温度值,进而得到整个空间的温度分布。
这种方法具有高效性和精确性,因此在许多实际应用中都得到了广泛的应用。
例如,在建筑行业中,有限差分法可以用来模拟建筑物的热传导过程,从而预测建筑物的能耗和热舒适度。
在航空航天领域,有限差分法可以用来模拟飞机和火箭的热传导过程,从而预测其性能和安全性。
总的来说,传热学有限差分法是一种非常重要的工具,在解决复杂的传热问题时具有广泛的应用前景。
有限差分法基本原理
有限差分法的应用领域
流体力学
用于模拟流体在固定或变形网格 上的流动,如计算流体动力学 (CFD)中的数值模拟。
热传导
用于求解热传导方程,模拟热 量在物体中的传播和分布。
波动传播
用于求解波动方程,如地震波 、声波和电磁波的传播。
有限差分法基本原理
CONTENTS 目录
• 引言 • 有限差分法的基本原理 • 有限差分法的实现 • 有限差分法的优缺点 • 有限差分法的改进方向
CHAPTER 01
引言
有限差分法的定义
有限差分法是一种数值计算方法,通 过将连续的物理量离散化为有限个离 散点上的数值,并建立代数方程来近 似描述物理量随时间和空间的变化规 律。
缺点
精度问题
由于有限差分法采用的是离散化的方法, 因此其精度受到网格大小的影响,网格越
小精度越高,但同时也会增加计算量。
数值耗散误差
在模拟非线性问题时,有限差分法可能会 产生数值耗散误差,导致能量的损失或者
非物理振荡。
数值色散误差
在模拟波动性问题时,有限差分法可能会 产生数值色散误差,导致波的传播速度发 生变化。
常用的离散化方法包括均匀网格、非均匀网格、有限元法等,
应根据实际问题选择合适的离散化方法。
差分近似
Hale Waihona Puke 01差分近似公式根据微分方程的性质,构造差分 近似公式,将微分方程转化为差 分方程。
精度分析
02
03
稳定性分析
分析差分近似公式的精度,确定 其与微分方程的误差大小和分布。
分析差分近似公式的数值稳定性, 确保计算过程中误差不会累积放 大。
有限差分公式
有限差分公式
有限差分是微分方程解的近似值的一种表示方法,通常用数学表达式
f(x+b)-f(x+a)来表示。
如果将有限差分除以b-a,则可以得到差商。
在微分方程数值解的有限差分方法中,特别是处理边界值问题时,有限差分导数的逼近起着关键的作用。
有限差分通常考虑三种形式:正向差分、反向差分和中心差分。
正向差分是f(x+h)-f(x),反向差分是f(x)-f(x-h),中心差分是f(x+h)-f(x-h)。
当h取为1时,正向差分除以h近似于导数。
在数值方法中,有限差分法是一种常用的数值解法,它用差商代替微分方程中的偏导数,从而得到相应的差分方程。
通过解这个差分方程,可以得到微分方程解的近似值。
以上内容仅供参考,如需更多信息,建议查阅数学类书籍或咨询数学专业人士。
工程电磁场数值分析(有限差分法)
进一步的参考书:
胡之光. 电机电磁场的分析与计算. 北京:机械工业出版 社,1989
从有限差分法看数值解的基本思想
离散解(数值解)的概念
方程的离散——化无限维问题为有限维问题 (化微分方程为代数方程组,借助计算机求解)
解的离散——离散点上的数值解
数值法的一般步骤
求解区域的离散(前处理) 方程的离散 代数方程组的求解 离散数据的分析(后处理)
h
2
F0
对所有的节点都建立一个方程,N 个 齐次第二类边界条件 节点有 N 个未知数,建立 N 个方程。
③ 求解线性代数方程组
N个方程联立成为线性代数方程组
[ A][ ] [ F ]
求解得到节点上的电位值。
④ 后处理
计算电场强度E,
Ex 0
1 3
2h
Ey
0
2 4
2h
绘制场图;计算电容、受力、能量分布等。
一些实际需要考虑的问题
精度问题与计算量
媒质交界面条件问题
边界条件处理问题
不规则网格问题
三维问题
有限差分法是最古老、最直观的一种数值方法,直至现
在仍有强大的生命力,在许多学科领域广为应用。在电磁场 领域,目前最受关注的是时域有限差分法(Finite Difference Time-Domain Method, FDTD)和有限体积法(Finite Volume Method, FVM)。
各种数值方法的不同之处
在于离散方程所依据的原
理不同,从而导致方程求
解技术、求解效率、适用 对象等的不
有限差分法(Finite Differential Method,FDM) 是基于差分原理的一种数值计算法。其基本思想是: 将场域离散为许多小网格,用差分代替微分,用差商 代替求导,将求解连续函数 的泊松方程的问题转换 为求解网格节点上 的差分方程组的问题。
有限差分法
第四章有限差分方法4.1引言有限差分法:数值求解常微分方程或偏微分方程的方法。
物理学和其他学科领域的许多问题在被分析研究之后, 往往可以归结为常微分方程或偏微分方程的求解问题。
一般说来,处理一个特定的物理问题,除了需要知道它满足的数学方程外,还应当同时知道这个问题的定解条件,然后才能设计出行之有效的计算方法来求解。
有限差分法以变量离散取值后对应的函数值来近似微分方程中独立变量的连续取值。
在有限差分方法中,我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。
但是从原则上说,这种方法仍然可以达到任意满意的计算精度。
因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值插值计算来近似得到。
这种方法是随着计算机的诞生和应用而发展起来的。
其计算格式和程序的设计都比较直观和简单,因而,它的实际应用已经构成了计算数学和计算物理的重要组成部分。
有限差分法的具体操作分为两个部分:(1)用差分代替微分方程中的微分,将连续变化的变量离散化,从而得到差分方程组的数学形式; (2)求解差分方程组。
在第一步中,我们通过所谓的网络分割法,将函数定义域分成大量相邻而不重合的子区域。
通常采用的是规则的分割方式。
这样可以便于计算机自动实现和减少计算的复杂性。
网络线划分的交点称为节点。
若与某个节点P 相邻的节点都是定义在场域内的节点,则P 点称为正则节点;反之,若节点P 有处在定义域外的相邻节点,则P 点称为非正则节点。
在第二步中,数值求解的关键就是要应用适当的计算方法,求得特定问题在所有这些节点上的离散近似值。
有限差分法的差分格式:一个函数在x 点上的一阶和二阶微商,可以近似地用它所临近的两点上的函数值的差分来表示。
如对一个单变量函数f(x),x 为定义在区间[a,b]的连续变量。
以步长h=Δx 将[a,b]区间离散化,我们得到一系列节点x = a , x = x + h , x = x + h = a + 212132Δx , ..., x = x + h = b , 然后求出 f(x)在这些点上的近似值。
第4章 有限差分法
可见, 对应于式(4-2)和式(4-3), 它们 都截断于 hf′(x0)项, 而把 h2项和更高幂次的 项全部略去。 换句话说, 就式(4-2)、 式 (4-3)而言, 略去余数项所引入的误差将 大致和 h 的一次方成正比。
第 4 章
有 限 差 分 法
而对于式(4-4)的一阶中心差商表达式则相当于把相应的泰勒公式
第 4 章
有 限 差 分 法
应用二元函数的泰勒公式,节点 1 的位函数值 u1 可通过 u0 表示为
同理
以 h 和 h1 分别与以上两式相乘,且相加,然后截断于 h 的二次项,便得关 于 的差分表达式为
同理可得
第 4 章
有 限 差 分 法
令 h1 =αh, h2 =βh,代入以上两式,最终再代入给定的泊松方程,即得这类 边界情况所对应的差分计算格式为
第 4 章
有 限 差 分 法
(2) 第三类边界条件的差分离散化 对此,同样需分两种情况讨论。第一种情况是在边界处引入的相应节 点恰好落在边界 L上。 这时,取决于边界 L 在该边界节点处的外法线方向 是否与网格线相重合, 对应有不同的差分离散化结果。 当边界 L 在边界节点 o 处的外法向 n 与网格线相重合时,如图 4-4 所 示,则问题在于如何用差商近似替代法向导数 。 显然, 最简洁的处
3)由所建立的差分格式(即与原定解问题对应的离散数学模型——代数方程 组),选用合适的代数方程组的解法,编制计算程序,算出待求的离散解。
有限差分法有上述大致固定的处理和计算模式,具有一定的通用性。
第 4 章
有 限 差 分 法
4.2 差分与差商
有限差分法是以差分原理为基础的一种数值计算法。它用离散的函数值 所构成的差商来近似逼近相应的偏导数, 而所谓差商则是基于差分应用的数 值微分表达式。 设一函数 f(x), 其自变量 x 得到一个很小的增量Δx = h, 则 函数 f(x)的增量 称为函数 f(x)的一阶差分。显然,只要增量 h 很小, 差分Δf与微分 df之间 的差异将很小 。 一阶差分仍是自变量 x 的函数,相类似地按式(4-1)计算一阶差分的差 分, 就得到Δ2f(x),称之为原始函数 f(x)的二阶差分。 同样, 当 h 很小时, 二阶差分Δ2f(x)逼近于二阶微分d2f。依同理,可以定义更高阶的差分。
有限差分法
1.6.1 差分格式
上页
下页
返回
结束
如图,以二维场为例,在一由边界区域L界定的二维区域 界定的二维区域D 如图 , 以二维场为例 , 在一由边界区域 界定的二维区域 电位函数φ满足拉普拉斯方程且给定为第一类边界条件: 内,电位函数φ满足拉普拉斯方程且给定为第一类边界条件
∂ 2ϕ ∂ 2ϕ ∇ 2ϕ = + 2 ∂x ∂y 2
启动 赋边界节点已知电位值 赋予场域内各节点电位初始值 累计迭代次数 N=0 N=N+1 按超松弛法进行一 次迭代,求 ϕi(,N+1) j
上页
下页
返回
结束
Y N
所有内点 相邻二次迭代值的最大误差 是否小于 W 打印 N,ϕ(i, j ) 迭代解程序框图 停机
上页
下页
返回
结束
例 一长直接地金属槽截面如图。其侧壁与底面的电位均为零, 而顶盖电位ϕ4=100。求槽内电位分布。 解: •二维场第一类边值问题。 •将二维场域划分成正方形 网格,步距h=a/4。 •场域内任一点电位ϕ应满 足二维拉普拉斯方程的差 分计算格式。
α
4
k+ k) [ϕ i(− 1,1j ) + ϕ i(,kj+ 1 ) + ϕ i(+ 1, j + ϕ i(,kj )+ 1 − 4ϕ i(,kj ) ] −1
迭代收敛的速度与 α 有明显关系: 有明显关系: 迭代收敛的速度与 收敛的速度
收敛因子(α ) 迭代次数( N) 1.0 >1000 1.7 269 1.8 1.83 1.85 1.87 1.9 174 143 122 133 171 2.0 发散
上页
下页
有限差分法
有 限 差 分 法流体运动的控制方程多为偏微分方程,在复杂的情况下不存在解析解。
但是对于一些简单的情况存在解析解,偏微分方程的解析解可用精确的数学表达式表示,该表达式给出了因变量在整个定义域中的连续变化状况。
有限差分法(Finite Difference Method ,FDM )是数值计算中比较经典的方法,由于其计算格式直观且计算简便,因此被广泛地应用在计算流体力学中。
有限差分法首先将求解区域划分为差分网格,变量信息存储在网格节点上,然后将偏微分方程的导数用差商代替,代入微分方程的边界条件,推导出关于网格节点变量的代数方程组,通过求解代数方程组,获得偏微分方程的近似解。
偏微分方程被包含离散点未知量的代数方程所替代,这个代数方程能求出离散节点处的变量,这种离散方法叫做有限差分法。
2.1有 限 差 分 逼 近2.1.1 有限差分网格 由于有限差分法求解的是网格节点上的未知量值,因此首先介绍有限差分网格。
图2.1 – 1是x-y 平面上的矩形差分网格示意图。
在x 轴方向的网格间距为△x ,在y 轴方向的网格间距为△y ,网格的交点称为节点,计算变量定义在网格节点上。
称△x 和△y 为空间步长,△x 一般不等于△y ,且△x 和△y 也可以不为常数。
取各方向等距离的网格,可以大大简化数学模型推导过程,并且经常会取得更加精确的数值解。
本章作为计算流体力学入门知识,假设沿坐标轴的各个方向网格间距分别相等,但是并不要求各方向的网格间距一致。
例如假设△x 和△y 是定值,但是不要求△x 等于△y 。
在图2.1 - 1中,网格节点在x 方向用i 表示,在y 方向用j 表示。
因此,假如(i ,j )是点P 在图2.1 – 1中的坐标,那么,点P 右边的第一个点的就可以用(i+1,j )表示;在P 左边的第一个点的就可以用(i —1,j )表示;点P 上边的第一个点的就可以用(i ,j+1)表示;点P 下边的第一个点的就可以用(i ,j —1)表示。
有限差分法
有限差分法有限差分法是基于差分原理的一种数值计算法。
其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续函数ϕ的泊松方程的问题转换为求解网格节点上ϕ的差分方程组的问题。
1.1 二维泊松方程的差分格式图1-1 有限差分的网格分割二维静电场边值问题:F yx =-=∂∂+∂∂ερϕϕ2222 (1-1) )(s f L =ϕ (1-2)通常将场域分成足够小的正方形网格,网格线之间的距离为h ,节点4,3,2,1,0上的电位分别用3210,,,ϕϕϕϕ和4ϕ表示。
设函数ϕ在0x 处可微,则沿x 方向在0x 处的泰勒公式展开为()()()∑=-+-=nK n K K K 000)(!χχοχχϕϕχ (1-3)将1χχ=和3χ分别代入式(1-3),得⋅⋅⋅⋅⋅⋅+∂∂+∂∂+∂∂+=03330222001)(!31)(!21)(x h x h x h ϕϕϕϕϕ (1-4)⋅⋅⋅⋅⋅⋅+∂∂-∂∂+∂∂-=03330222003)(!31)(!21)(xh x h x h ϕϕϕϕϕ (1-5)由(1-4)-(1-5)得h2x 31x x 0ϕϕϕ-≈∂∂=)((1-6)(1-4)+(1-5)得2301x x 22h2x 0ϕϕϕϕ+-≈∂∂=)( (1-7) 同理hy y y 2)(310ϕϕϕ-≈∂∂= (1-8) 2301222)(0hy y y ϕϕϕϕ+-≈∂∂= (1-9) 将式(1-7)、(1-9)代入式(1-1),得到泊松方程的五点差分格式)(414243210204321Fh Fh -+++=⇒=-+++ϕϕϕϕϕϕϕϕϕϕ当场域中,0=ρ得到拉普拉斯方程的五点差分格式)(41044321004321ϕϕϕϕϕϕϕϕϕϕ+++=⇒=-+++1.2 边界条件的离散化处理图1-2 边界条件的离散化处理若场域离散为矩形网格(如图2-2示),差分格式为:F 2h 1h 1h 1h 10222142222121=+-+++ϕϕϕϕϕ)()()( (1-10) (1)第一类边界条件:给边界离散节点直接赋已知电位值 (2)对称边界条件:合理减小计算场域,差分格式为:)(F h 24124210-++=ϕϕϕϕ (1-11)图1-3 边界条件的离散化处理•12(3)第二类边界条件:边界线与网格线相重合的差分格式:h f f hn 2102010-ϕ=ϕ=ϕ-ϕ≈∂ϕ∂,)((1-12)(4)介质分界面衔接条件 的差分格式)1212(4143210ϕϕϕϕϕ+++++=KKK (1-13)其中b a K εε=1.3 差分方程组的求解方法(1) 高斯——赛德尔迭代法][)(,)(,)(,)(,)(,2k 1j i k j 1i 1k 1j i 1k j 1i 1k j i Fh 41-+++=+++-+-+ϕϕϕϕϕ (1-14)式中:⋅⋅⋅⋅⋅⋅=⋅⋅⋅⋅⋅⋅=,2,1,0,2,1,k j i ,• 迭代顺序可按先行后列,或先列后行进行。
2 有限差分法
o
一阶偏导数的差分格式(P.23)
(
h1 h3 hx
二阶精度,O(h3)
3 ) 0 1 3 O (hx ) x 2hx
二阶偏导数的差分格式(P.23-23) 20 3 2 2 ( 2 )0 1 O ( h x) 2 x hx 20 4 2 2 ( 2 )0 2 O ( h ) y 2 y hy
2) df ( x ) 1 2 d 2 f ( x ) 一阶精度 ,O(h f ( x h) f ( x ) h h 2 dx 2! dx
df ( x) 2 3 d 3 f ( x) 二阶精度,O(h3) h f ( x h) f ( x h ) 2h dx 3! dx 3
由误差的泰勒展开式,如果: (7)
则称为K阶方法。
若迭代公式中ψ(x,y,h)在定义域内连续,并且关于y 满足利普希茨(Lipschitz)条件:
| ( x, y, h) ( x, z , h) | L | y z |
(8)
若截断误差满足式(7),则单步法迭代公式的误差估计式为:
同介质分界面上的差分格式)
第三步,编程计算,迭代运算或者求解方程组
二、泊松方程的有限差分格式 泊松方程:
f
2
2 2 2 f 2 x y
(1)
第一类边界条件:已知整个边界上的位函数,
|C g ( p )
n g ( p)
C
又叫Dirichlet(狄里赫利)问题。
一、有限差分法基本概念
二阶差分
2 f ( x) 1 f ( x h) f ( x) x 2 x x
(前向差分)
有限差分法
有限差分法一、有限差分法的定义有限差分法(Finite Differential Method )是基于差分原理的一种数值计算法。
其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续函数ϕ的泊松方程的问题转换为求解网格节点上ϕ的差分方程组的问题。
二、有限差分法的应用例3.7.1 有一个无限长直的金属槽,截面为正方形,两侧为正方形,两侧面及底板接地,上盖板与侧面绝缘,其上的电位为ϕ=100V, 试用有限差分法计算槽内电位。
(1)用Matlab 中的有限差分法计算槽内电位;(2)对比解析法和数值法的异同点;(3)选取一点,绘制收敛曲线;(4)总的三维电位图;1、根据有限差分公式计算出电位最终近似值为1,12,13,11,22,23,21,32,33,3=7.144=9.823=7.144=18.751=25.002=18.751=42.857=52.680=42.857ϕϕϕϕϕϕϕϕϕ,,,,,,用Matlab有限差分法计算出来结果:(见附录程序一)2、解析法和数值法的异同点解析法数值法定义在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示出来,解决了这些表达式,问题也就得以解决。
数值法是用高性能的计算机以数值的、程序的形式解决问题,主要是指有限元法和差分法相同点都是在具体问题的基础上取一个用解析表达式表示的数学模型来解决问题;数值法是在解析法的基础上在不同尺度上进行有限元离散,离散单元尺度不同,进行有限元计算时要满足的连续性条件不同,预测结果的精确度就不同不同点解析法可以计算出精确的数值结果;可以作为近似解和数值解的检验标准;解析法过程可以观察到问题的内在和各个参数对数值结果起的作用。
但是分析过程困难又复杂使其仅能解决很少量的问题。
数值法求解过程简单,普遍性强,用户拥有的弹性大;用户不必具备高度专业化的理论知识就可以用提供的程序解决问题。
但求解结果没有解析法精确。
岩石力学-有限差分法
平衡方程 (运动方程)
新的速度和 位移
应力-应变关系 (本构方程)
新的应力或 力
显式有限差分法计算流程图
显式算法的核心概念是计算“波速”总 是超前于实际波速。
用运动方程求解静力问题,还必须采取 机械衰减方法来获得非惯性静态或准静态解, 通常采用动力松弛分法是求解给定初值和(或)边值问题 的较早数值方法之一。
有限差分法和有限元法都产生一组待解方程组。 1、有限差分基本方程 2、平面问题有限差分方程 3、显式有限差分算法-时间递步法
可以保证在被模拟的物理系统本身是非稳定的 情况下,有限差分数值计算仍有稳定解。对于非线 性材料,物理不稳定的可能性总是存在的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两端都要给定边界条件(双程坐标) 。
9
(C) 双曲型方程:适当的边界条件和初始条件,与波动传 播的性质有关 如:一维对流方程
∂u ∂u +c =0 ∂t ∂x u (x ,0) = f (x )
解为 u (x , t ) = f (x − ct ) ,代表一个向右(c > 0 时)或向左 ( c < 0 时)传播的波形。必须在波形传来的一侧提供边界条 件(单程坐标) 。
10
不适定的例子:
utt + u xx = 0 u (x ,0) = u t (x ,0) = 0
拉普拉斯方程+非闭域边界条件,解为 u (x , t ) ≡ 0 。 然而,若定解条件为 u (x ,0) = 0, ut (x ,0) =
u (x , t ) = 1 sin nx ,解为 n
1 sinh nt sin nx n
(
)
n n um+1 = um −
cτ n n um +1 − um −1 2h
(
)
设计算到第 n 步时的累积误差
n ~n εn = 计算值um − 差分法精确解um m
反之
n ~n um = εn + um m
15
则第 n+1 步的计算值
~n ~ n cτ u n − u n ~ ~ um+1 = um − m +1 m −1 2h cτ n cτ n n n = um − um +1 − um −1 + εn − εm +1 − εn −1 m m 2h 2h n = um+1 + εn +1 m
uin +1 − uin −1 uin+1 − uin +1 − uin −1 − uin−1 −α =0 Lh u = τ h2 ατ 2 ⎛ ∂ 2u ⎞ τ 2 ⎛ ∂ 3u ⎞ Ti = Lh u − Lu (x i , t n ) = 2 ⎜ 2 ⎟ + ⎜ 3 ⎟ − L 截断误差 6 ⎜ ∂t ⎟i h ⎜ ∂t ⎟i ⎝ ⎠ ⎝ ⎠
n n i 2 τ n 2⎛ ∂ u ⎞ 若 = r = 常数, Ti → αr ⎜ 2 ⎟ ≠ 0 ,不相容。 ⎜ ∂t ⎟ h ⎝ ⎠i n n n
(
) (
)
13
3. 收敛性:当步长趋于零时,差分解应收敛于微分方程的真 解。 Lax 等价定理:对于适定的线性微分方程的初值问题,若差 分格式相容,则稳定性是收敛性的充分必要条件。
(
)
( β = cτ / h )
17
◆ 用范数来表示计算误差的总体大小 可取 或 稳定性要求 然而
εn m ⎛ ⎞2 = ⎜ ∑ | εn |2 ⎟ m ⎝m ⎠
m
1
εn = sup | εn | m m εn +1 = λ εn ≤ εn ,即 m m m λ ≤1
| λ |= 1 − βi sin kh = 1 + β 2 sin 2 kh ≥ 1
n n ⎧ um − um −1 c ∂u ⎪ ⎪ c ≈⎨ n h n ∂x ⎪ um +1 − um c ⎪ h ⎩
(c > 0时) (c < 0时)
来流的上游决定下游。
|β|≤1,即 Δt ≤
Δx ――Courant 条件 c
即: Δt ≤ 波传播Δx 距离所用的时间,使 umn+1 的依赖区域不 超出[xm-1,xm+1]。
22
例 5:一维扩散方程
n m
∂u ∂ 2u −α 2 = 0 ∂t ∂x
n n n n n um+1 − um um +1 − 2um + um −1 −α =0 (1) 用显格式 Lh u = τ h2
令 r=
ατ ,有 h2
n n n n um+1 = (1 − 2r )um + r (um +1 + um −1 )
uin = u (x i , tn )
差分方程 截断误差
uin +1 − uin uin+1 − uin−1 =0 Lh u = +c 2Δx Δt
n i
Tin = Lh uin − Lu = O (Δt , Δx 2 ) →0,相容。
12
例 3:扩散方程
n i
∂u ∂ 2u Lu = −α 2 = 0 ∂t ∂x
⎛ ∂ 2u ∂ 2u ⎞ ∂u = α⎜ 2 + 2 ⎟ ⎜ ∂x ∂t ∂y ⎟为闭域边界条件;初 始条件 u (x , y ,0) = u 0 (x , y ) ,可以从初始条件开始步进计算。 又如:一维扩散方程
∂u ∂ 2u =α 2 ∂t ∂x u (x ,0) = u 0 (x ) ; u (0, t ) = f 1 (t ) , u (L , t ) = f 2 (t )
⎛ dy ⎞ ⎛ Δy ⎞ y i +1 − y i ⎜ ⎟ ≈⎜ ⎟ = dx ⎠i ⎝ Δx ⎠i x i +1 − x i ⎝
1
向前差商
由此产生的误差称为截断误差:
⎛ Δy ⎞ ⎛ dy ⎞ y (x i + h ) − y (x i ) − y ′(x i ) ⎜ ⎟ −⎜ ⎟ = h ⎝ Δx ⎠i ⎝ dx ⎠i ⎫ ⎤ 1 ⎧⎡ h2 = ⎨⎢y (x i ) + hy ′(x i ) + y ′′(x i ) + L⎥ − y (x i )⎬ − y ′(x i ) h ⎩⎣ 2 ⎦ ⎭ = h y ′′(x i ) + L = O (h ) 2
(i-1,j)
(i,j)
(i+1,j)
(i,j-1)
6
二、差分法的基本问题 (其它方法也存在类似问题)
1. 适定性:方程在一定的定解条件(初始条件,边界条件) 下有唯一解,并且解连续性地依赖定解条件(解随定解条 件的连续变化而连续变化)
7
(A) 椭圆型方程:要求在闭域边界上给出边界条件。 如:拉普拉斯方程 第一类边界条件 第二类边界条件
误差方程为
εn +1 = (1 − 2r )εn + r (εn +1 + εn −1 ) m m m m λ = 1 − 2r (1 − coskh )
εn = Ak e ikxm = Ak e ikmh m
则 放大因子
⎡ cτ ikh ⎤ εn +1 = Ak e ikmh ⎢1 − e − e −ikh ⎥ = λε n m m ⎣ 2h ⎦
(
)
λ = 1−
cτ ikh cτi e − e −ikh = 1 − sin kh = 1 − βi sin kh 2h 2h
则 放大因子
εn +1 = 1 + β − βe ikh εn m m λ = 1 + β − βe ikh
(
)
不同 k 值,复数 1 + β − βe ikh 位于复平面上圆心为 (1 + β, 0) , 半径为 | β | 的轨迹圆上。
19
β>0 (c > 0)时,轨迹圆在|λ|=1 之外,不满足|λ|≤1。 β<0 (c < 0),且|β|≤1 时,|λ| ≤1,格式稳定。 (3) 向后差商格式
所以中心差格式不满足稳定性要求(计算结果出现较大的波 动) 。
18
n n um+1 − um c n n + um +1 − um = 0 (2)向前差商格式 τ h
(
)
即 误差方程为
n ikmh 令 εm = Ak e ,
n n n um+1 = (1 + β)um − βum +1
εn +1 = (1 + β)εn − βε n +1 m m m
第二章 流体力学中的有限差分法
2.1 基本概念
一、 差分法:用离散点上函数值的差商代替导数 如:取离散点(结点) x 0 < x 1 < x 2 < LL < x n −1 < x n 结点函数值为 y 0 , y1 , y 2 ,LLy n −1 , y n 用差商代替 y(x)在结点 xi 的导数
(
)
放大因子 λ = 1 − β + βe ikh β<0 (c < 0)时,|λ|≥1,不稳定。 β>0 (c > 0),且|β|≤1 时,|λ|≤1,格式稳定。
结论:c > 0,且|β|≤1 时,后差商格式稳定 c < 0,且|β|≤1 时,前差商格式稳定
21
――迎风格式(上风格式,upwind scheme)
步长 h = x i +1 − x i
2
若
⎛ dy ⎞ ⎛ Δy ⎞ yi − yi −1 ⎜ ⎟ ≈⎜ ⎟ = dx ⎠i ⎝ Δx ⎠i x i − x i −1 ⎝
向后差商
截断误差为 O (h ) 。
若
⎛ dy ⎞ ⎛ Δy ⎞ yi +1 − yi −1 ⎜ ⎟ ≈⎜ ⎟ = ⎝ dx ⎠i ⎝ Δx ⎠i x i +1 − x i −1
例 1: 对拉普拉斯方程 得到差分格式如下
u i +1, j − 2u ij + u i −1, j Δx 2
∂ 2u ∂ 2u + =0 ∂x 2 ∂y 2
+
ui , j +1 − 2u ij + u i , j −1 Δy 2
=0
或
5
2 ⎤ ⎡ ⎛ Δx ⎞ ⎟ (u i , j +1 + u i , j −1 )⎥ u ij = ⎢u i +1, j + u i −1, j + ⎜ ⎜ Δy ⎟ ⎥ ⎢ ⎝ ⎠ ⎦ ⎣