有限差分方法

合集下载

有限差分法

有限差分法

有限差分法finite difference method用差分代替微分,是有限差分法的基本出发点。

是一种微分方程和积分微分方程数值解的方法。

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

然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。

如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。

此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。

对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。

另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。

此外,还有一个重要的概念必须考虑,即差分格式的稳定性。

因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。

前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。

只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。

最常用的方法是数值微分法,比如用差商代替微商等。

另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。

此外还可以用待定系数法构造一些精度较高的差分格式。

龙格库塔龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。

有限差分法

有限差分法

两端都要给定边界条件(双程坐标) 。
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 ⎝ ⎠ ⎝ ⎠

有限差分方法

有限差分方法

有限差分方法
有限差分方法是数值分析中常用的一种数值计算方法,它主要用于解决微分方
程和积分方程的数值逼近问题。

有限差分方法的基本思想是将微分方程中的导数用差分代替,将微分方程转化为代数方程,然后利用数值计算方法求解代数方程,从而得到微分方程的数值解。

有限差分方法的核心是将求解区域离散化,将连续的求解区域划分为有限个小
区域,然后在每个小区域内利用差分逼近微分方程,得到代数方程。

通过对这些代数方程进行适当的组合和求解,最终得到微分方程的数值解。

有限差分方法有很多种形式,常见的有向前差分、向后差分、中心差分等。


些方法在具体应用中有各自的特点和适用范围。

在选择使用哪种有限差分方法时,需要根据具体的问题和求解区域的特点来进行合理的选择。

有限差分方法在实际应用中具有广泛的适用性,它可以用于求解各种类型的微
分方程和积分方程,包括常微分方程、偏微分方程以及积分方程等。

在工程、物理、经济等领域中,有限差分方法被广泛应用于模拟和求解各种实际问题。

在使用有限差分方法时,需要注意选取合适的离散化步长和求解区域的划分方式,这对于最终的数值解的精度和稳定性有着重要的影响。

同时,还需要注意数值计算方法的稳定性和收敛性,避免出现数值解的不稳定或者发散现象。

总之,有限差分方法作为一种常用的数值计算方法,在数值分析和科学计算中
具有重要的地位和作用。

掌握有限差分方法的基本原理和应用技巧,对于解决实际问题和开展科学研究具有重要的意义。

通过不断的学习和实践,可以更好地掌握有限差分方法的使用技巧,提高数值计算的准确性和效率。

有限差分法

有限差分法

有限差分法有限差分法(Finite Differential Method, FDM )什么是有限差分法 有限差分法是指用泰勒技术展开式将变量的导数写成变量,在不同时间或空间点值的差分形式的方法。

按时间步长和空间步长将时间和空间区域剖分成若干网格,用未知函数在网格结(节)点上的值所构成的差分近似代替所用偏微分方程中出现的各阶导数,从而把表示变量连续变化关系的偏微分方程离散为有限个代数方程,然后解此线性代数方程组,以求出溶质在各网格结(节)点上不同时刻的浓度。

有限差分法的基本步骤(1)剖分渗流区,确定离散点。

将所研究的水动力弥散区域按某种几何形状(如矩形、任意多边形等)剖分成网络系统。

(2)建立水动力弥散问题的差分方程组。

(3)求解差分方程组。

采用各种迭代法,如点逐次超松驰方法(SOR)、线逐次超松驰方法(LSOR)、迭代的交替方向隐式方法(IADI)及强隐式方法(SID)等。

(1) 现在分别对时间(从0时刻到到期日)和股票价格(S max )为可达到的足够高的股票价格)进行分割,即\triangle S=S_{max}/M,\triangle T/N,这样就分别有N+1个时间段和M+1个股票价格,建立如图(所示的坐标方格,将定解区域网格化,坐标方格上的点(i,j )对应时刻和股票价格,用变量f i ,j 表示(i,j )点的期权价格。

2.建立差分格式(1)内含的有限差分方法其步骤可分为以下几步:(1)求前向差分近似:(2) 后向差分格式:(3)将(2),(3)式平均可更加对称地求出的近似,即(4)(2)求用前向差分近似:(5)(3)求(6)(4)将(4),(5),(6)式代入(1)式可得到内含有限差分公式:+ b j f i,j−c j f i,j + 1 = f i + 1,j(7)aj f i,j− 1其中:i=0,1,…,N-1。

j=0,1…,M-1针对看跌期权和看涨期权可分别求出方程的边界条件:看跌期权:看涨期权:(5)利用边界条件和(7)式可以给出M-1个联立方程组:+ b j f N− 1,j + c j f N− 1,j + 1j=1,2…,M-1aj f N− 1,j− 1求解这M-1个联立方程组即可以求出期权价格,但对美式看跌期权时我们必须考虑其提前执行的情况。

计算电磁学-第4章-有限差分法

计算电磁学-第4章-有限差分法


同样对微分方程的解y(x)在点(xn,yn)进行泰勒展开
yn1 yn hf ( xn , yn )
1 ' 2 1 '' 3 y ( xn 1 ) y ( xn ) f n h f n h f n h 2! 3!

比较上面两式,只要它们前面项的系数尽可能多的相等,就 保证了截断精度。
1、差分与差商

用差分代替微分,是有限差分法的基本出发点。 这一点由微分原理保证的,当自变量的差分趋于 零时,差分变成微分
f ( x) f ( x h) f ( x), h x
df f ( x) f ( x) lim dx x 0 x
'
f ( x) f ( x h) f ( x) f ( x) x h
龙格-库塔法

选取α、β、ω系数,使两式项的系数相等
1 fn , 2 f , 3 f , 4 f ,
' n '' n ''' n

如果该关系式能够一直维持到第m阶仍能成立, 但m+1阶不再成立,就称为m阶龙格-库塔法
cem@
cem@
cem@
cem@
cem@
cem@
cem@
CST粒子仿真

Pierce Gun
MAGIC
cem@

dy f ( x, y ) dx y x x 0 y0
y( x) y0 f (t , y(t )dt
x0
x
欧拉近似法在函数图上用阶梯的折线代替曲线
f(x) y(x)
yn+1 yn y(x n+1)1) f(n+

有限差分法基本原理

有限差分法基本原理
该方法基于差分原理,即用离散点的 差商来代替微商,将微分方程转化为 差分方程,以便于通过代数方法求解。
有限差分法的应用领域
流体力学
用于模拟流体在固定或变形网格 上的流动,如计算流体动力学 (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近似于导数。

在数值方法中,有限差分法是一种常用的数值解法,它用差商代替微分方程中的偏导数,从而得到相应的差分方程。

通过解这个差分方程,可以得到微分方程解的近似值。

以上内容仅供参考,如需更多信息,建议查阅数学类书籍或咨询数学专业人士。

有限差分法初步

有限差分法初步
有限差分法初步
• 引言 • 有限差分法的原理 • 有限差分法的应用 • 有限差分法的实现 • 有限差分法的优缺点 • 结论与展望
01
引言
有限差分法的定义
有限差分法是一种数值计算方法,通 过将偏微分方程离散化为差分方程, 从而求解偏微分方程的近似解。
近似表示微 分,从而将微分方程转化为差分方程。
有限差分法。
COMSOL Multiphysics实现
COMSOL Multiphysics是一款基于有限元法的多物理场仿真软件,也支持有限差分法。 COMSOL提供了友好的用户界面和丰富的物理模型库,使得有限差分法的实现更加便
捷。
有限差分法的并行计算实现
MPI实现
MPI(Message Passing Interface)是一种并行计算的标准,支持多个处理 器之间的通信。通过MPI,可以实现有限差分法的并行计算,提高计算效率。
自适应网格技术
根据解的特性自适应地调整离散点间距,以 提高计算精度和效率。
并行化与优化
通过并行计算和算法优化等技术提高有限差 分法的计算效率。
与其他方法的结合
将有限差分法与其他数值方法或物理模型相 结合,以处理更复杂的问题。
06
结论与展望
结论
01
有限差分法是一种数值计算方 法,通过离散化连续问题为差 分方程,进而求解数值近似解 。
有限差分法原理简单,易于理解和实现,不需要复杂的数学工 具。
有限差分法可以方便地进行并行计算,提高计算效率。
有限差分法可以应用于各种不同类型的偏微分方程,具有广泛 的适用性。
有限差分法的缺点
精度问题
由于有限差分法是一种离散化方法,其精度受到离散点间距的限制, 可能导致计算结果不够精确。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xn+1 dx f
xn
φ,x
≈ φn + hf
φn , xn

(3.1.2.2-2)
该式中的 f 也可以用 xn+1 点处的值,得到后退的Euler公式,
∫ ( ) ( ) φn+1 = φn +
xn+1 dx f
xn
φ,x
≈ φn + hf
φn+1, xn+1

(3.1.2.2-3)
(3.1.2.2-2)与(3.1.2.2-3)式有重要的差别:因为(3.1.2.2-2)式中只有左边有 φn+1 ,称它为显式的,即向前差分Euler法。而(3.1.2.2-3)式左右两边均有φn+1 , 称它是隐式的,即向后差分Euler法,通常必须用迭代的方法求解关于φn+1 的非线 性方程。隐式法尽管效率很低,但它比显式法稳定。
量和空间变量是等同看待的,它们的不同是物理含义不同,但用数学的数值方法
处理它们时,它们的地位是等价的,因此,初始值问题不一定就必定是含时的,
而边界值就是指空间问题。我们之所以考虑初始值问题和边界值问题的差异,主
要是它们对解所加的限制条件的区别。某些偏微分方程是混合型的,即对某个变
量是初始值型的,而对另外的变量则是边界值型的。
3-3
第三章 有限差分方法
§3.1 线性微分方程
用两点间的差值近似了导数,忽略了 h2 以上的高阶项。通常当 h → 0 时,这个截 断误差是很小的,但是φ '的变化值或φ '' 值较大时可能导致计算结果偏离真值, 这时我们说结果是不稳定的。控制计算误差使其不能恶性增长是计算方法的稳定 性理论所考虑的中心问题。
φ

xn+1
处的第一个预报值
φ* n +1

3-4
第三章 有限差分方法
§3.1 线性微分方程
φ* n+1
=
φn
+
hf
(φn ,
xn
)

(3.1.2.5-1)
第二步是用隐式Euler公式给出
φ* n +1
进行修正,
( ) φn+1 = φn + hf
φ* n+1
,
xn+1

(3.1.2.5-2)
如果反复多次使用第二步,则该方法就变成了迭代计算,它并不改变有限差 分法的阶数,称为迭代预报-校正法:
(3.1.2.4-2)
3.1.2.5 预报-校正法
对于常微分方程还有其它若干高精度的方法。预报-校正法也是有限差分
法,其最简单形式包含有为“预报”的向前Euler法和随后对预报结果进行修正
补值的“校正”方法。它与Verlet算法结合起来就是分子动力学中积分求解运动
方程的最常用算法。
第一步是预报步,由显式Euler公式给出
(3.1.2.1-4)
将微分的差分表示代换到微分方程中即可得到差分方程。
对于偏微分方程,我们需要在构造网格面(二维、2个变量)或格点阵(三
维),其构造方式与变量的坐标系或边界形状有关。如对于圆形边界,自然用极
坐标系下的等角度和等径距比较好,对于方形边界,则采用等边长正方形分割,
若两个变量分别是时间和坐标的话,则等时间间隔和等空间间距分割相当于二维
第三章 有限差分方法
§3.1 线性微分方程
第三章 有限差分方法
求解常微分方程和偏微分方程是物理学中最常见的问题,而用数值计算方法 求方程的解已经是一个发展得相当成熟的领域,这样的方法主要有有限差分和有 限元方法。除了物理学的问题以外,数值方法在工程和气象等众多研究领域中也 得到广泛应用,由于数值求解微分方程的课题众多,本章中只能涉及针对物理学 中一些重要内容所采用的主要普适的方法。对一些标准的微分方程形式,人们已 经开发了相应的程序库和软件包。
φ* n+1
=
φn
+
hf
(φn ,
xn
)
( ) repeat ⎧⎪⎨φn+1 = φn + hf
φ* n+1
,
xn+1

⎪⎩φn*+1 = φn+1
(3.1.2.5-3)
3.1.2.6 Crank-Nicholson 法
Crank-Nicholson方法是一种二阶有限差分法,它是对 xn 和 xn+1 的 f 函数求平 均,即将差分中一点的显式表示用显式和隐式的线性组合表示,
3.1.2.4 蛙跳法
Euler法中,截断误差是 O (h) 。采用更为对称的中心差分(即蛙跳)法可使
( ) 截断误差降为 O h2 。由(3.1.2.1-3)式,
( ) φ
'(
xn
)
=
φn+1 − φn−1 2h
+
O
h2

(3.1.2.4-1)
可得
φn+1 = φn−1 + 2hf (φn , xn ) 。
平面上的矩形分割。因此,对于函数φ ( x, y) ,(3.1.2.1-1)-(3.1.2.1-4)式中的
3-2
第三章 有限差分方法
§3.1 线性微分方程
导数应该换成对 x 和对 y 的偏微分,如
( ) ∇2φ x, y = ∂2φ + ∂2φ ≈ φm+1,n + φm−1,n − 2φm,n + φm,n+1 + φm,n−1 − 2φm,n

'(
xn
)
+
h2 2!
φ
''(
xn
)

h3 3!
φ
(3)
(
xn
)
+

(3.1.2.1-2)
两式相减和相加后分别得,
( ) φ ' xn
φn − φn−1 φn+1 − φn φn+1 − φn−1 ;
h
h
2h
(3.1.2.1-3)
( ) φ '' xn
φn+1 + φn−1 − 2φn 。 h2
(3.1.2.2-5)
求解该方程时需要知道初始值φ ( x, 0) ,即对每个 m 值都知道φm,0 ,因此可以由方
程陆续地求出φm,1,φm,2, 。值得注意的是,当 2Dτ > h2 时,该算法是不稳定的。 在数字计算时,误差主要来源于两个方面。一是舍入误差,初始值问题中的
误差会逐渐积累,特别是对于小 h 或大 N 值时,每步中的舍入误差累计后不再是 可以忽略不计的。更重要的误差是截断误差,这是因为我们在(3.1.2.1-3)式中
3.1.2.3 多步法
为了提高计算的准确性,应该在近似的公式中包含 h2 项。在(3.1.2.2-1)式
中,φn+1 只依赖于φn ,这是单步法。将 f 作插值
f
≈ ( x − xn−1 )
h
fn

(
x
− xn h
)
fn−1 ,
(3.1.2.3-1)
代入到积分表达式后得Adams两步法公式,
φn +1
∂x2 ∂y2
h2
h2
。 (3.1.2.1-5)
( ) = φm+1,n + φm−1,n + φm,n+1 + φm,n−1 − 4φm,n h2
3.1.2.2 Euler 法
求解初始值问题的最简单的方法是Euler折线法,即简单地用(3.1.2.1-3)- (3.1.2.1-4)式代换进微分方程即可,虽然它的精度有限,因而很少使用,但这
其中 a0, , ak−1 是系数, F 是某一已知的函数。当它用前面 k 个格点的值表示出 来时是线性多步法
k
( ) ∑ F φn , xn ;φn+1, xn+1; ;φn+k , xn+k = βi fn+i 。 i=0
(3.1.2.3-4)
如果 βk ≠ 0 ,差分方程式(3.1.2.2-2)式右边也包含有 φn+k 项,这时方程式是隐 式的。
§3.1 线性微分方程
3.1.1 微分方程的分类
3.1.1.1 偏微分方程的类型
微分方程是表达物理量、它对其变量的导数以及变量之间的一个关系。只有
一个变量的情形是常微分方程,多个变量下是偏微分方程。如有两个独立变量时,
二阶偏微分方程的一般形式是,
a
∂2φ ∂x2
+b
∂ 2φ ∂x∂y
+c
∂2φ ∂y 2
个方法反映了初始值问题的基本思想。例如,对于常微分方程φ ' = f (φ, x) ,Euler
折线公式是,
φn+1 ≈ φn + hf (φn , xn ) = φn + hfn ,
(3.1.2.2-1)
它也可以被看成是简单地将微分方程两端进行积分后得到的,
∫ ( ) ( ) φn+1 = φn +
+
d
∂φ ∂x
+ e ∂φ ∂y
+

+
g
=
0,
(3.1.1.1-1)
其中的系数 a, b, c, d, e, f , g 可以是独立变量 x 和 y 的函数。如果 b2 < 4ac ,称为椭
圆形偏微分方程, b2 = 4ac 是抛物线型, b2 > 4ac 双曲线型。例如,波动方程
∂2φ ∂x2
相关文档
最新文档