有限差分法

合集下载

有限差分法

有限差分法

第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 附近的展开式。

有限差分法

有限差分法

两端都要给定边界条件(双程坐标) 。
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个联立方程组即可以求出期权价格,但对美式看跌期权时我们必须考虑其提前执行的情况。

微分方程数值求解——有限差分法

微分方程数值求解——有限差分法

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
稳定性分析
分析差分近似公式的精度,确定 其与微分方程的误差大小和分布。
分析差分近似公式的数值稳定性, 确保计算过程中误差不会累积放 大。

有限差分法

有限差分法

第四章有限差分方法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)在这些点上的近似值。

有限差分法

有限差分法

对所学有限差分法的总结和其一些应用07410301班邓齐波20032471一:有限差分方法的总结有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用。

该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。

有限差分法以Taylor级数展开等方法,把控制方程中的导数用网各界点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。

该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。

分类对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。

从差分的空间形式来考虑,可分为中心格式和逆风格式。

考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。

目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。

差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

构造差分的方法构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。

其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。

通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。

在所学课程‘力学计算’中《偏微分方程数值解》,我们主要学习了一维抛物型方程、二维和三维抛物型方程、一维双曲型方程以及二维线形二阶椭圆型方程。

流体力学有限差分法与结构力学有限元法区别对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。

从差分的空间形式来考虑,可分为中心格式和逆风格式。

考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。

目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。

差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

第4章 有限差分法

第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 发散
上页
下页

有限差分法初步

有限差分法初步
有限差分法初步
• 引言 • 有限差分法的原理 • 有限差分法的应用 • 有限差分法的实现 • 有限差分法的优缺点 • 结论与展望
01
引言
有限差分法的定义
有限差分法是一种数值计算方法,通 过将偏微分方程离散化为差分方程, 从而求解偏微分方程的近似解。
近似表示微 分,从而将微分方程转化为差分方程。
有限差分法。
COMSOL Multiphysics实现
COMSOL Multiphysics是一款基于有限元法的多物理场仿真软件,也支持有限差分法。 COMSOL提供了友好的用户界面和丰富的物理模型库,使得有限差分法的实现更加便
捷。
有限差分法的并行计算实现
MPI实现
MPI(Message Passing Interface)是一种并行计算的标准,支持多个处理 器之间的通信。通过MPI,可以实现有限差分法的并行计算,提高计算效率。
自适应网格技术
根据解的特性自适应地调整离散点间距,以 提高计算精度和效率。
并行化与优化
通过并行计算和算法优化等技术提高有限差 分法的计算效率。
与其他方法的结合
将有限差分法与其他数值方法或物理模型相 结合,以处理更复杂的问题。
06
结论与展望
结论
01
有限差分法是一种数值计算方 法,通过离散化连续问题为差 分方程,进而求解数值近似解 。
有限差分法原理简单,易于理解和实现,不需要复杂的数学工 具。
有限差分法可以方便地进行并行计算,提高计算效率。
有限差分法可以应用于各种不同类型的偏微分方程,具有广泛 的适用性。
有限差分法的缺点
精度问题
由于有限差分法是一种离散化方法,其精度受到离散点间距的限制, 可能导致计算结果不够精确。

有限差分法推导

有限差分法推导

有限差分法推导摘要:一、有限差分法简介1.有限差分法的概念2.有限差分法在数值计算中的应用二、有限差分法的推导1.差分法的定义2.有限差分法的推导过程3.有限差分法的性质三、有限差分法的应用1.微分方程的数值解法2.有限差分法在数值积分中的应用四、有限差分法的优缺点1.优点2.缺点正文:一、有限差分法简介有限差分法是一种数值计算方法,通过将连续函数离散化,用差分代替微分,从而实现对微分方程或积分方程的求解。

有限差分法广泛应用于科学、工程和金融领域,例如,在天气预报、海洋学、生物学、经济学等方面都有重要作用。

二、有限差分法的推导1.差分法的定义差分法是一种将函数在某一点上的值与该点附近点的值相减的方法,用于近似计算函数在该点处的导数或变化率。

给定一个函数f(x),在x=a 处求导,可以得到差分算子Df(a,h),其中h 为差分步长。

2.有限差分法的推导过程有限差分法是将差分法应用于离散点集,通过有限个差分算子来近似表示函数在某一点的值。

设函数f(x) 在区间[x0, x1] 上可导,离散点集为{x0,x0+h, x0+2h, ..., x1},有限差分法的表达式为:Df(x0+k h) ≈ (h/(k+1)) * [f(x0+k h) - f(x0+(k-1) h)] (k=1,2,3,...,n-1)3.有限差分法的性质有限差分法具有以下性质:(1) 线性性质:Df(x) + Dg(x) = D(f(x) + g(x))(2) 移位性质:Df(x+h) = Df(x) + h * df(x)/dx(3) 微分性质:Df(x) * (x - x0) = f"(x) * (x - x0) + O(h^2)三、有限差分法的应用1.微分方程的数值解法有限差分法可以用于求解微分方程,例如,对于一阶线性微分方程:df(x)/dx + p(x) * f(x) = q(x)可以用有限差分法将其离散化为一个线性代数方程组,从而求解离散解。

有限差分法

有限差分法

有 限 差 分 法流体运动的控制方程多为偏微分方程,在复杂的情况下不存在解析解。

但是对于一些简单的情况存在解析解,偏微分方程的解析解可用精确的数学表达式表示,该表达式给出了因变量在整个定义域中的连续变化状况。

有限差分法(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 ,• 迭代顺序可按先行后列,或先列后行进行。

有限差分法

有限差分法

有限差分法一、有限差分法的定义有限差分法(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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。

该算法是构建在数学支持的基础之上的。

对于一阶精度的欧拉公式有:
yi+1=yi+h*K1
K1=f(xi,yi)
当用点xi处的斜率近似值K1与右端点xi+1处的斜率K2的算术平均值作为平均斜率K*的近似值,那么就会得到二阶精度的改进欧拉公式:
yi+1=yi+h*( K1+ K2)/2
K1=f(xi,yi)
K2=f(xi+h,yi+h*K1)
依次类推,如果在区间[xi,xi+1]内多预估几个点上的斜率值K1、K2、……Km,并用他们的加权平均数作为平均斜率K*的近似值,显然能构造出具有很高精度的高阶计算公式。

经数学推导、求解,可以得出四阶龙格-库塔公式,也就是在工程中应用广泛的经典龙格-库塔算法:
yi+1=yi+h*( K1+ 2*K2 +2*K3+ K4)/6
K1=f(xi,yi)
K2=f(xi+h/2,yi+h*K1/2)
K3=f(xi+h/2,yi+h*K2/2)
K4=f(xi+h,yi+h*K3)
ode45:使用四阶龙格-库塔法求微分方程,调用格式为:
[t,y]=ode45(‘fname’,tspan,y0)
其中fname为由M函数定义的线性或者非线性微分方程的句柄函数名。

tspan形式为[t0,tf],表示求解区间。

y0是初始状态列向量。

t和y分别给出时间向量和相应的状态向量。

四阶龙格-库塔法(ode45):计算原理为预报-校正法,预报值采用Euler算出,下式又作了3次校正,因此计算精度远高于Euler算法。

ode23:使用二阶龙格-库塔法求微分方程,调用格式为:
[t,y]=ode23(‘fname’,tspan,y0)
eg. 二阶非线性系统的微分方程:
x″ + 0.5*x′+ 2*x + x^2 = 0
求系统在初始条件为x(0)=1,x′(0)=0的数值解。

建立M函数:
function xdot=odetest(t,x)
%龙格-库塔算法测试
%二阶非线性系统微分方程xdotdot + 0.5*xdot + 2*x + x^2 = 0
%求系统在初始条件为x(0)=1,xdot(0)=0的数值解
xdot=zeros(2,1);
xdot(1)=x(2);
xdot(2)=-0.5*x(2)-2*x(1)-x(1)^2;
tspam=[0 20];
x0=[0 1];
[t,x]=ode23(@odetest,tspan,x0);
plot(t,x)
微分方程数值解曲线如下图:
Crank-Nicolson 方法
数值分析中,Crank-Nicolson方法是有限差分方法中的一种,用于数值求解热方程以及形式类似的偏微分方程。

它在时间方向上是隐式的二阶方法,数值稳定。

该方法诞生于20世纪,由John Crank与Phyllis Nicolson发展。

对于扩散方程(包括许多其他方程),可以证明Crank-Nicolson方法无条件稳定。

但是,如果时间步长与空间步长平方的比值过大(一般地,大于1/2),近似解中将存在虚假的振荡或衰减。

基于这个原因,当要求大时间步或高空间分辨率的时候,往往会采用数值精确较差的后向欧拉方法进行计算,这样即可以保证稳定,又避免了解的伪振荡。

目录
[隐藏]
•1方法
•2示例
o 2.1线性扩散问题
o 2.2一维多通道连接的扩散问题
[编辑]方法
Crank-Nicolson方法在空间域上的使用中心差分;而时间域上应用梯形公式,保证了时间域上的二阶收敛。

例如,一维偏微分方程
令,则通过Crank-Nicolson方法导出的差分方程是第n步上采用前向欧拉方法与第n+1步上采用后向欧拉方法的平均值(注意,Crank-Nicolson方法本身不是这两种方法简单地取平均,方程对解隐式依赖)。

(前向欧拉方法)
(后向欧拉方法)
(Crank-Nicolson)
对于F,通过中心差分方法使其在空间上是离散的。

注意,这是一个隐式方法,需要求解代数方程组以得到时间域上的下一个u值。

如果偏微分方程是非线性的,中心差分后得到的方程依旧是非线性方程系统,因此在时间步上推进会涉及求解非线性代数方程组。

许多问题中,特别是线性扩散,代数方程中的矩阵
是三对角的,通过三对角矩阵算法可以高效求解,这样,算法的时间复杂度由直接求解全矩阵的转化为。

[编辑]示例
[编辑]线性扩散问题
•线性扩散方程
通过Crank-Nicolson方法将得到离散方程
引入变量:
这是一个三对角问题,应用三对角矩阵算法(追赶法)即可得到,而不需要对矩阵直接求逆。

•准线性扩散方程
离散化后则会得到非线性方程系统。

但是某些情况下,通过使用a的旧值,即用替代,可将问题线性化。

其他时候,也可能在保证稳定性的基础上使用显式方法估计
[编辑]一维多通道连接的扩散问题
这种模型可以用于描述水流中含稳定污染流,但只有一维信息的情况。

它可以简化为一维问题并得到有价值的信息。

我们对水中污染溶质富集的问题进行建模,这种问题由三部分组成:已知的扩散方程(D x为常量),平流分量(即由速度场导致的系统在空间上的变化,表示为常量Ux),以及与纵向通道k旁流的相互作用。

其中C表示污染物的富集水平,下标N和M分别对应上一通道和下一通道。

Crank-Nicolson方法(i对应位置,j对应时间)将以上偏微分方程中的每个部分变换为现在引入以下常量用于简化计算:
把<1>, <2>, <3>, <4>, <5>, <6>, α, β和λ代入<0>. 把新时间项(j+1)代入到左边,当前时间项(j)代入到右边,将得到
第一个通道只能与下一个通道(M)有关系,因此表达式可以简化为:
同样地,最后一个通道只与前一个通道(N)有关联,因此表达式可以简化为
为求解此线性方程组,我们需要知道边界条件在通道始端就已经给定了。

: 当前时间步某通道的初始条件
: 下一时间步某通道的初始条件
: 前一通道到当前时间步下某通道的初始条件
: 下一通道到当前时间步下某通道的初始条件
对于通道的末端最后一个节点,最方便的条件是是绝热近似,则
当且只当
时,这一条件才被满足。

以3个通道,5个节点为例,可以将线性系统问题表示为
其中,
需要清楚的是,AA和BB是由四个不同子矩阵组成的矩阵,
其中上述矩阵的的矩阵元对应于下一个矩阵和额外的4x4零矩阵。

请注意,矩阵AA和BB的大小为12x12
&。

相关文档
最新文档