文档视界 最新最全的文档下载
当前位置:文档视界 › 有限差分法

有限差分法

第2章 有限差分法

2.1 引言

所有的守恒方程都具有相似的结构,而且都可以看作是输运方程的特殊形式。本章以一般输运方程在Cartesian 坐标系下的表达式为例来讲述有限差分法。

()φφφρq x

x x u j j

j

j +⎪⎪⎭

⎝⎛∂∂Γ∂∂=

∂∂ (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 )

i

i i

i x x x --≈∂∂++11φφφ (2.3)

向后差分(backward difference )

1

1

----≈∂∂i i i i x x x φφφ (2.4)

中心差分(central difference )

1

11

1-+-+--≈∂∂i i i i x x x φφφ (2.5)

2.3 一阶导数的近似

(2.1) 式中的对流项

()x

u ∂∂φρ需要对一阶导数进行离散。 2.3.1 Taylor 级数展开法

任意的连续函数(x)可在x i 的领域内展开成Taylor 级数

()()()()

()H x n x x x x x x x x x x x x x i

n n

n

i i

i i i i

i i +⎪⎪⎭⎫ ⎝⎛∂∂-++⎪⎪⎭⎫ ⎝⎛∂∂-+

⎪⎪⎭⎫

⎝⎛∂∂-+

⎪⎭⎫ ⎝⎛∂∂-+=φφφφφφ!...!

32)(33

3

222

(2.6)

H 为高阶项,用x i -1,x i +1代替x 这些点处的函数值在x i 附近的展开式。利用这些展开式可得一阶和

高阶导数在x i 的近似表达式。例如

()()H x x x x x x x x x i i i i i

i i i i +⎪⎪⎭⎫

⎝⎛∂∂--⎪⎪⎭⎫ ⎝⎛∂∂----=⎪⎭⎫ ⎝⎛∂∂++++3331222

11162φφφφφ (2.7)

或者是:

()()H x x x x x x x x x i i i i i i i i i +⎪⎪⎭

⎫ ⎝⎛∂∂--⎪⎪⎭⎫ ⎝⎛∂∂----=

⎪⎭⎫ ⎝⎛∂∂----3331222

11

162φφφφφ (2.8)

()()()()()

()

H x x x x x x x x x x x x x x x x x i i i i i i i i i i i i i i i i i +⎪⎪⎭

⎫ ⎝⎛∂∂--+--

⎪⎪⎭

⎝⎛∂∂-------=

⎪⎭⎫ ⎝⎛∂∂-+-+-+-+-+-+33

113

13

122112

12

1111162φφφφφ (2.9)

当网格间距较小时,高阶项很小,在各级数中截取第一项,得:

i-2 i-1 i i+1 i+2

中心差分 CDS

向前差分 FDS

向后差分 BDS

精确解

i i i i i x x x --≈⎪

⎭⎫ ⎝⎛∂∂++11φφφ (2.10)

11----≈⎪⎭⎫

⎝⎛∂∂i i i i

i x x x φφφ (2.11)

1

111-+-+--≈⎪

⎭⎫

⎝⎛∂∂i i i i i x x x φφφ (2.12)

上面三个公式依次是FDS (forward difference scheme ),BDS (backward difference scheme ),CDS (central difference scheme )被截去的项称为截断误差。

FDS 和BDS 为一阶精度差分格式,当网格均匀时,CDS 具有二阶精度。

2.3.2 多项式拟合法

在构造差分格式时,也可以用多项式曲线(或样条曲线)来拟合函数,然后用拟合曲线的导数来近似原函数的导数。

例如采用抛物线拟合x i-1,x i ,x i+1三点,可得:

()()()()[]

)(1

12

2

12

112

1++++-+∆+∆∆∆∆-∆+∆+∆=⎪⎭⎫ ⎝⎛∂∂i i i i i i i i i i i i x x x x x x x x x φφφφ (2.13)

采用不同的插值曲线可获得不同的差分格式,如

()()

3

211

6632x O x x i i i i i

∆+∆+-+=⎪⎭⎫ ⎝⎛∂∂--+φφφφφ (2.14)

()()

3

2116632x O x x i i i i i

∆+∆-+--=⎪

⎭⎫ ⎝⎛∂∂+++φφφφφ (2.15)

()()

4

21121288x O x x i i i i i

∆+∆+-+-=

⎪⎭⎫ ⎝⎛∂∂--++φφφφφ (2.16)

(2.14)~(2.16)依次为三阶精度的BDS ,FDS 和4阶精度的CDS

2.3.3 迎风格式

对于发展方程:

()

⎪⎪⎩

⎪⎨⎧≥=≥=>≤≤=∂∂+∂∂0

)(),0(0)()0,(0,100t t t u x x f x u a x x u a t u

ψ

(2.17)

方程的解为:

()()⎪⎩

⎨⎧≤--≥--=0

)(0,at x a x

t at x at x f t x u ψ

(2.17)

当x-at=常数时,u 为常数,利用这一特性可得

A n j

u u =+1 (2.18)

利用线性插值:

()

n j n j j j j A n

j A u u

x x x x u

u 1111

-------+

=

(2.19)

由此可得差分格式:

()

n j n

j j j j A n

j n j u u

x x x x u u 11

111----+---+

=

(2.20)

由于t a x x A j ∆=-,1--=∆j j x x x

()()

n j n j n

j n j n j n j n j u u x

t a u u u x t a x u u 1111

---+-∆∆-=-∆∆-∆+

=

(2.21)

整理得:

()011

=∆-+∆--+x

u u

a t

u u n j n j n j

n j (2.22)

当a<0时,同理可得:

()0

1

1

=∆-+∆-++x

u u a

t u u n j

n

j n j

n j (2.23)

结合(2.22)和(2.23)可得:

(

)()0

2

211

1=∆--+∆-++

∆-+-+x

u u

a a x

u u a a t

u u n j

n

j n

j n j n

j

n j (2.24)

j-1 j j+1

n+1

n

A

(j,n+1)

(2.24)式中,a 相当于流体力学动量方程中的速度u ,差分格式(2.24)反映了上游对下游影响较大这一事实,这种差分格式称为迎风格式(upwind scheme)

2.4 二阶导数的近似

方程(2.1)中的扩散项

⎪⎭

⎝⎛∂∂Γ∂∂x x φ为二阶导数项,二阶导数可以用一阶导数的差分得到,也可以用Taylor 级数法得到二阶导数的差分。

采用Taylor 级数法可得二阶导数的差分

()()()()()()()()H x x x x x x x x x x x x x x x x x x i

i i i i i i i i i i i i i i i i i i i i

+⎪⎪

⎭⎫

⎝⎛∂∂----

------+-=⎪⎪⎭⎫ ⎝⎛∂∂-+-+-+-++--+33

111111*********

2/φφφφφ (2.25)

也可以用一阶偏导数的差分得到:

2

/)(2/)(111

1

2/1112/1112

/12/1-+---+++-+-+---Γ---Γ≈

-⎪⎭⎫ ⎝⎛∂∂Γ-⎪

⎭⎫ ⎝⎛∂∂Γ≈⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛∂∂Γ∂∂i i i i i i

i i i i i i i i i i i

x x x x x x x x x x x x φφφφφφφ

(2.26)

2.5 混合导数的近似

混合偏导数的差分可以用一阶导数的差分得到

⎪⎪⎭

⎝⎛∂∂∂∂=∂∂∂y x y x φφ2 (2.27)

2.6 边界条件

在网格的内点,用差分格式来离散PDE ,为了得到唯一的解,还需要在边界点上给出边界信息。

对于Dirichlet 边界条件,边界上的值直接给出,无需用新的方程。对于Neumann 边界条件和混合边界条件,则需在边界上对边界条件进行离散。对于邻近边界的内点,当采用高阶精度格式时,其差分格式也应作特殊处理。

()()

4123452

603310186x O x x ∆+∆-+++-=⎪

⎭⎫ ⎝⎛∂∂φφφφφφ (2.28)

()()

3123452

2260147240189621x O x x ∆+∆+-++-=⎪⎪⎭⎫ ⎝⎛∂∂φφφφφφ (2.29)

在边界上

001

212

1=--⇒=⎪⎭⎫

⎝⎛∂∂x x x φφφ (2.30)

采用高阶差分格式

()()()()[]

()()()2

313122

122

1312

1322

1231x x x x x x x x x x x x x x x --------+--≈

⎪⎭⎫

⎝⎛∂∂φφφφ (2.31)

如果网格是均匀的,(2.31)简化为:

x x ∆-+-≈

⎪⎭⎫

⎝⎛∂∂2341231

φφφφ (2.32)

2.7 有限差分法的应用实例

例1.一维扩散方程

()()()()()

⎪⎪⎩⎪⎪⎨

⎧===≥≤≤Γ=t B t l t A t x f x t l x xx

t ,,0)0,(0

,0φφφφφ

(2.33)

采用均匀网格,将直线段均匀划分为N 份,网格节点l N

i x i 1

-=,1,....,2,1,0+=N i ,网格间距N l x /=∆,时间步长为t ∆。 空间扩散项采用中心差分格式:

()

2

1

12x i i i xx ∆+-Γ

=Γ+-φφφφ (2.32)

对于时间项则分别采用三种不同格式:

A :FTCS 格式(时间向前差分,空间中心差分)

()2

1

112x t t n

i n i n i n i n i n

i

∆+-Γ=∆-≈⎪⎭⎫ ⎝⎛∂∂+-+φφφφφφ (2.33)

上式中物理量的上标表示时间步。令()

2

x t

∆Γ∆=

σ

()n i n i n i n i 11121+-++-+=σφφσσφφ

(2.34)

边界条件:

()()11

1111;+++++==n n N n n t B t A φφ

(2.35)

由于采用时间推进算法,在计算n +1时间层时,n 时间层已求解完毕,(2.34)式可以根据上一

时间层的结果直接获得当前时间层的物理量而无需求解代数方程组,这样的差分格式称为显格式。

B :CTCS 格式

()()⎪⎪⎭

⎫ ⎝⎛∆+-+∆+-Γ=∆-≈

⎪⎭⎫ ⎝⎛∂∂++++-+-++21

1

11121112

/1222x x t

t n i n i n i n i n i n i n

i n i n i

φφφφφφφφφ (2.36) 整理后得:

n i n

i n i n i n i

n i 111

11

112

)1(2

2

)1(2

+-++++-+

-+=

-++-

φσ

φσφσ

φσ

φσφσ

(2.37)

边界条件为 (2.35)式。

注意到(2.37)式中每个方程有3个未知量:1

1+-n i φ、1

+n i

φ和1

1++n i φ,需要求解联立代数方程组。当

差分格式离散代数方程组中具有多个未知元素而需要通过求解代数方程组的形式来获得数值解时,

这种差分格式成为隐格式。

(2.37)式写成矩阵形式为:

()()⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

⎝⎛+-++-++-++-+=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫

⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎭⎫ ⎝

⎛-+-

-

+-

-+-

-

+-++---+++++-+++11112432

32111111113121

12

)1(22)1(22

)1(22)1(2

10

021200002

12

00

002

12

00002

12000001n n N n N n N n

N n N n N n n n n n n n n N n N n N n n n t B t A φσφσφσφσφσφσφσφσφσφσφσφσφφφφφφσσσ

σ

σσ

σ

σ

σ

σ

σσ

(2.38)

系数矩阵为三对角矩阵,可通过追赶法求解。

通过计算机编程的方式对上面的两种差分格式进行求解 取1,0,10,2sin )(,

1=Γ=====B A N x x f l π,这样1.0=∆x ,取不同的条件数

()

2

x t

∆Γ∆=

σ进行数值求解,具体计算结果见程序“CFD271”的运行结果。

(此时运行程序“CFD271”,通过实际算例演示两种差分格式数值解的差别)

结论:当5.0>σ时,FTCS 格式计算发散,CTCS 格式在任意条件数时计算结果都收敛。 (通过对实际计算发现问题,引出下一节:差分格式的稳定性分析)

2.8 差分格式的稳定性分析 2.8.1 Von Neumann 方法

讨论差分格式(2.34)的稳定性:

记n

i n i n i u u -=+1ε,利用n+1时间层的方程可得:

()n i n i n i n i 11121+-++-+=σεεσσεε

(2.39)

将求解域向x 轴正负方向作周期性延拓,把u ,e 看作周期函数,展开成富氏级数:

∑-=+=

2

/2

/1N N k ikx n k n i

j

e

a ε

(2.40)

代入(2.39)得:

()

∑∑∑∑-=-=-=-=++-+-+=2

/2

/2

/2

/2

/2

/2

/2

/11

1

21N N k ikx n k

N N k ikx n k

N N k ikx n k

N N k ikx n k

j j

j j e

a

e

a

e

a

e a

σ

σσ

(2.41)

整理后得:

∑∑-=-=+⎥⎦⎤⎢

⎡⎪⎭⎫ ⎝⎛∆-=2

/2/22

/2

/12sin 41N N k ikx n k N N k ikx n k

j j e x k a e a

σσ

(2.42)

利用富氏级数的正交性可得:

⎥⎦⎤⎢⎣

⎡⎪⎭⎫ ⎝⎛∆-=+2sin 4121x k a a n k n k σ (2.43)

误差放大因子

12sin 4121≤⎪⎭

⎝⎛∆-==+x k a a G n i n i σ

(2.44)

即2/1≤σ

再讨论隐格式(2.37)的稳定性,误差方程为:

n i n i n i n i n i

n i 111

11112

)1(2

2

)1(2

+-++++-+

-+=

-++-

εσ

εσεσ

εσ

εσεσ

(2.45)

将(2.40)代入(2.45)得:

()()∑∑-=-=+-+∆=

--∆-

2

/2

/2

/2

/11cos 1cos N N k ikx

n j N N k ikx n j

j

j e

a x k e a

x k σσσσ (2.50)

放大因子

12sin 212sin 212

2

1

≤∆+∆-=

=

+x

k x

k a

a G n j

n

j

σσ (2.51)

差分格式无条件稳定。

(比较显格式和隐格式的有缺点)

2.8.2 几种常用差分格式的稳定性

2.9 差分格式代数方程组及其求解方法

(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注!)

有限差分法

有限差分法 finite difference method 用差分代替微分,是有限差分法的基本出发点。是一种微分方程和积分微分方程数值解的方 把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。 如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。此外,还有一个重要的概念必须考虑,即差分格式的稳定性。因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。 最常用的方法是数值微分法,比如用差商代替微商等。另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。此外还可以用待定系数法构造一些精度较高的差分格式。

有限差分法

第2章 有限差分法 2.1 引言 所有的守恒方程都具有相似的结构,而且都可以看作是输运方程的特殊形式。本章以一般输运方程在Cartesian 坐标系下的表达式为例来讲述有限差分法。 ()φφφρq x x x u j j j j +⎪⎪⎭ ⎫ ⎝⎛∂∂Γ∂∂= ∂∂ (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 ) i i i i x x x --≈∂∂++11φφφ (2.3) 向后差分(backward difference ) 1 1 ----≈∂∂i i i i x x x φφφ (2.4) 中心差分(central difference ) 1 11 1-+-+--≈∂∂i i i i x x x φφφ (2.5)

有限差分法应用

有限差分法应用 有限差分法(Finite Difference Method)是一种常用的数值计算方法,在数学和工程领域中广泛应用。该方法通过将连续问题离散化为离散点上的差分方程,从而近似求解连续问题。 有限差分法的应用非常广泛,涉及到很多领域,如物理学、力学、金融学等。在物理学中,有限差分法可以用于求解热传导方程、波动方程、薛定谔方程等。在力学领域,有限差分法可以用于求解静力学、动力学、流体力学等问题。在金融学中,有限差分法可以用于计算期权定价、风险管理等。 有限差分法的基本思想是将求解区域划分为离散点,然后利用差分近似代替微分运算。一般来说,我们可以通过中心差分、前向差分或后向差分来近似求解导数。其中,中心差分是最常用的一种方法,它利用两个相邻点的函数值来估计导数的值。例如,对于一阶导数,中心差分可以表示为: $$f'(x) \approx \frac{f(x+h)-f(x-h)}{2h}$$ 其中,$h$是离散点之间的间距。通过这种方法,我们可以将连续的导数问题转化为离散的差分问题。 有限差分法的优点之一是它适用于不规则网格。在实际问题中,求解区域的形状可能是复杂的,有限差分法可以灵活地适应这种情况。

此外,有限差分法还可以处理非线性问题和边界条件,因此在实际应用中非常有用。 然而,有限差分法也存在一些限制。首先,离散化过程会引入误差,特别是在离散点较少时。此外,有限差分法对于高阶导数的近似不够准确,因此在求解高阶问题时需要谨慎选择差分格式。此外,有限差分法对于某些问题可能需要大量的计算资源,因此在实际应用中需要考虑计算效率。 有限差分法是一种重要的数值计算方法,广泛应用于各个领域。它通过离散化和差分近似,将连续问题转化为离散问题,并近似求解。虽然有限差分法存在一些限制,但在实际应用中仍然具有广泛的适用性。未来,随着计算能力的提高和算法的改进,有限差分法将继续发挥重要作用,并在更多领域得到应用。

有限差分法

有限差分法有限差分法 finite difference method 微分方程和积分微分方程数值解的方法。基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。 有限差分法的主要内容包括:如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。此外,还有一个重要的概念必须考虑,即差分格式的稳定性。因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。关于差分格式的构造一般有以下3种方法。最常用的方法是数值微分法,比如用差商代替微商等。另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。此外还可以用待定系数法构造一些精度较高的差分格式。 有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛

有限差分法

有限差分法 例题1:求常微分方程 2566x y y y xe '''-+=+ (1,1) 定解条件为()6421y e e ---=-+,()01y = 将求解区域离散为n 个点。子区间长度()() ()02/1h n =---,分点 ()()21,1,2, k x k h k n =-+-=,由 ()() ()112()2k k k y x y x y x O h h +--'=+ ()()()()()112 2 2k k k k y x y x y x y x O h h +--+''= + 忽略余项,将差商代替微商,用k y 近似表示()k y x ,记26k x k k f x e =+,对内点建立差分 方程, ()1111 2 256,2,3,,12k k k k k k k y y y y y y f k n h h +-+--+--+==- (1,2) 1,n y y 由边界值确定。整理后得到关于12,,,n y y y 的方程组, ()641112221 152156,2,3,1221k k k k n y e e y y y f k n h h h h h y ----?=-+? ???????++-+-==-? ? ? ??? ??????=? (1,3) (1,3)为三对角方程组,可使用追赶法求解。 为验证计算结果,求出(1,1)的精确解 ()322 21212 x x x y e e x x e =-- ++ (1,4) 并引入相对误差, 100%i i x x x α-'= ? (1,5) 标准误差, σ= (1,6) 取51n =,计算结果如下,

有限差分法

有 限 差 分 法 流体运动的控制方程多为偏微分方程,在复杂的情况下不存在解析解。但是对于一些简单的情况存在解析解,偏微分方程的解析解可用精确的数学表达式表示,该表达式给出了因变量在整个定义域中的连续变化状况。有限差分法(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)表示。 2.1.2 几种差分近似 将微分方程化为有限差分方程时,最普遍的形式是基于泰勒展开(Taylor expantion )的。如图2.1 – 2 所示,假如,i j u 表示点(i ,j )的待求量,那么,点(i+1,j )的未知量1,i j u +就可以用基于点(i ,j )的Taylor 展开表示 2 21,,,,2()()()2 i j i j i j i j x u u u u x x x +???=+?+?? 3 3,3()()6 i j x u x ??++???? (2.1 - 1) 式(2.1 - 1)是1,i j u +的数学精确表达式,假如数值是有限的而且系列是收敛的,并且△x 趋近于零。 通过下面的例子来进一步说明泰勒展开及其计算精度。考虑关于自变量x 的连续方程f(x),其中所有的微分都针对x 。如在点x 处的函数值f(x)已知,那么,f(x+△x)值可以通过

有限差分法

有限差分法——傅立叶稳定性分析 分析差分格式稳定性的方法很多,大部份应用于线性方程,这里只介绍其中最常用的一种:傅立叶稳定性分析法。 傅立叶稳定分析法由V on Neumann 于20世纪40年代提出,所以又称为V on Neumann 稳定性分析法。该方法的基本思想是,将解的误差作周期延拓并用傅立叶级数表示出来,然后考察每一个傅立叶级数分量的增大和衰减情况。如果每一分量的强度(或振幅)是随时间的推移而增大的,则所讨论的差分格式是不稳定的;反之,若每一分量的振幅是随时间的推移而衰减或保持不变,则格式是稳定的。为了进行这种分析,可以把某一分量的表达式代入到误差传播方程中,得出相邻二时间层间该分量的振幅比,通常称为放大因子。稳定性的条件要求放大因子的绝对值(或模)小于或等于1。当放大因子等于1时,称为中性稳定,在这种情况下任何时刻引进的误差都不会衰减或放大。 【例11.1E 】讨论逼近以下一维对流方程的FTCS 格式的稳定性: 0=??+??x u t u α α> 0 (11.1.51) 该方程的FTCS 格式为 021 11=?-+?--++x u u t u u n i n i n i n i α (11.1.52) 将式(11.1.52)改写成易于递推计算的差分格式,有 () n i n i n i n i u u u u 1112 -++-- =λα 式中,)/(x t ??λ=为网格比。相应于上式的误差传播方程为 () n i n i n i n i 1112 -++-- =εελα εε (11.1.53) 式中,ε是各节点上的离散量。如果对ε在正负方向上作周期延拓,即把ε看作是以某一定值为周期的周期函数,则n ε、1+n ε可以展开为以下的傅立叶级数: ??? ????==∑∑∞ -∞=++∞ -∞ =k kx n k n k kx n k n e C x e C x I 11I )()(εε 于是 ??? ????====∑∑∞ -∞=+++∞-∞=k kx n k i n n i k kx n k i n n i i i e C x e C x I 111I )()(εεεε (11.1.54) ??? ????=±==±=∑∑∞ -∞=±+++±∞-∞=±±k x x k n k i n n i k x x k n k i n n i i i e C x x e C x x )(I 1111)(I 1)()(???εε?εε (11.1.55) 其中,1I -=。将式(11.1.54)和(11.1.55)代入式(11.1.53)并整理,得

有限差分法

有限差分法 有限差分法是数学领域的一项最新成果,它在某些特定情况下能得到非常好的结果。所谓有限差分方程就是利用积分和求差公式将差分方程化成为多个等价的偏微分方程组的组合形式,然后再应用最优化方法求解这种方程组,从而得出未知数的近似值。当已知方程组的每个参数及其变量代入数据计算后的误差时,只要对其进行必要的调整或者修改后,就可获得满意的精度与效率的估计值。此外,还可以通过有限差分方程的求解来了解其物理背景。比如说在物体碰撞问题中,两个质点之间距离的测量往往涉及到很复杂的三维几何关系。即使是一个小的距离误差也会引起很大的误差。因此,对于碰撞问题中两个质点之间的相互位置误差测量,必须考虑它们之间的三维几何关系,并根据具体问题建立相应的坐标系统。有限差分方程可以用来描述许多不同类型的实际问题,例如质量、压力、速度、温度、流动、热传导、声音和电磁场等。但是由于数学模型本身的复杂性,使得有限差分方程在求解上遇到了困难。因此,人们开始寻找一种更加直观的方法来解决问题。有限差分法正是基于此原理提出的。 利用有限差分方程求解偏微分方程,我们首先要给出所求解的偏微分方程的数学表达式,这样才能够在有限差分方程的数学模型中寻找解析解。有限差分方程的解析解,需要借助解析函数的理论来确定。但是在自然科学和工程技术领域里,对于一般的实际问题,很少会存在着某种数学模型完全适合于所有的具体问题,那么对于任意一个偏微分方程,总是存在着一个解析解。当把偏微分方程的解析解用适当

的坐标表示出来后,有限差分方程的求解就转化为如何寻找与这个解相对应的函数值的问题。通常,解析函数的形式是比较复杂的,因此需要运用数值方法进行拟合,从而得到符合实际的数学表达式。然后通过对这个数学表达式的求解来确定所求偏微分方程的解析解。这种数值求解方法称为数值积分法。 在研究有限元法和边界元法时都可以采用一些简单易行而且计算机可能很容易处理的函数作为边界条件,而这些函数本身又是很容易计算的。所以,这些边界条件和解析解联系起来构成了一个比较简便的数学模型,即边界元法。在有限差分方程的数学模型中,往往包含着众多的未知函数。

有限差分法

有限差分法 一、有限差分法的定义 有限差分法(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. 前言 有限差分法(Finite Difference Method)是一种常见的数值计算方法,用于求 解偏微分方程(Partial Differential Equations,简称PDE)。它通过在求解域中采 用离散点来逼近微分算子,将连续的微分方程转换为离散的代数方程,从而实现对PDE的数值求解。有限差分法具有简单易懂、易于实现的优点,被广泛应用于科 学计算、工程分析等领域。 2. 原理 有限差分法的原理基于以下两个基本思想: - 寻找定义域上的离散点,并通过 这些离散点来近似表示原方程中的未知函数。 - 使用差分格式来近似微分算子,从 而将偏微分方程转化为代数方程组。 具体而言,有限差分法将定义域按照均匀的网格划分为一个个网格点,这些点 被称为节点。同时,有限差分法还使用网格点上的函数值来近似表示原方程中的未知函数。通过将对原方程中的微商用差商来近似表示,然后将差商带入到原方程中,得到离散的代数方程。 3. 应用 有限差分法广泛应用于各个科学领域和工程领域中的数值计算问题。以下列举 几个常见的应用领域: 3.1 流体力学 在流体力学中,有限差分法被用来模拟流体的运动。通过将流体领域离散化, 将流体的速度、压力等参数表示为离散点上的函数值,可以使用有限差分法求解Navier-Stokes方程,从而得到流体的流动行为。 3.2 热传导 有限差分法可以用于求解热传导方程。通过将传热领域离散化,并将温度表示 为离散点上的函数值,可以使用有限差分法求解热传导方程,从而得到材料内的温度分布。 3.3 结构力学 有限差分法也被广泛用于求解结构力学中的问题。例如,在弹性力学中,可以 通过将结构域离散化,并将结构的位移、应力等参数表示为离散点上的函数值,使用有限差分法求解相应的弹性方程,从而得到结构的应力分布和变形情况。

有限差分法基本原理

有限差分法基本原理 有限差分法(Finite Difference Method)是一种常用的数值计算方法,用于求解偏微分方程的近似解。其基本原理是将连续的偏微分方程转 化为网格上的差分方程,通过对差分方程进行数值求解,得到问题的数值解。 首先,有限差分法将求解区域划分为一个个小网格。通常使用矩形网 格(二维)或立方体网格(三维),这些小网格称为离散点。每个离散点 上的函数值表示在该点处的近似解。 然后,将偏微分方程中的导数用差商来代替。对于一阶导数,可以使 用中心差商、前向差商或后向差商等。中心差商是最常用的一种,它使用 左右两个离散点的函数值来逼近导数的值。例如,对于一维情况下的导数,中心差商定义为: f'(x)≈(f(x+h)-f(x-h))/(2h) 其中,h表示网格的步长。通过调整步长h的大小,可以控制逼近的 精度。 对于高阶导数,可以使用更复杂的差分公式。例如,对于二阶导数, 可以使用中心差商的差商来逼近。具体公式为: f''(x)≈(f(x+h)-2f(x)+f(x-h))/h^2 通过将导数用差商代替,将偏微分方程转化为差分方程。例如,对于 二维泊松方程: ∇²u(x,y)=f(x,y) 其中,∇²表示拉普拉斯算子。

u(i,j)=1/4[u(i+1,j)+u(i-1,j)+u(i,j+1)+u(i,j-1)]-h²/4*f(i,j) 其中,u(i,j)表示离散点(i,j)处的近似解,f(i,j)表示离散点(i,j) 处的右端项。 最后,通过求解差分方程,得到问题的数值解。可以使用迭代方法, 例如Jacobi迭代法、Gauss-Seidel迭代法或SOR迭代法等,来求解差分 方程。迭代过程通过更新离散点上的函数值,直到满足收敛条件或达到指 定的迭代次数。 总结来说,有限差分法通过将连续的偏微分方程转化为网格上的差分 方程,然后通过数值求解差分方程,得到问题的近似解。它是一种简单且 高效的数值计算方法,广泛应用于科学计算、工程计算和物理仿真等领域。

有限差分法推导

有限差分法推导 【最新版】 目录 1.有限差分法的基本概念 2.有限差分法的推导方法 3.有限差分法的应用实例 4.有限差分法的优缺点 正文 一、有限差分法的基本概念 有限差分法是一种数值计算方法,主要应用于求解偏微分方程的初值问题。它是通过将连续的函数值用有限个离散点上的函数值来代替,从而将偏微分方程转化为关于这些离散点上的代数方程组。这种方法可以有效地降低问题的复杂度,使得求解过程更加简便。 二、有限差分法的推导方法 有限差分法的推导过程主要包括以下几个步骤: 1.对边界条件进行离散处理,将边界上的函数值用有限个离散点上的函数值来代替。 2.对偏微分方程进行离散处理,将偏微分方程转化为关于这些离散点上的代数方程组。 3.求解代数方程组,得到离散点上的函数值。 4.通过插值方法,将离散点上的函数值还原为连续函数。 三、有限差分法的应用实例 有限差分法广泛应用于各种物理、工程和数学问题中,例如求解热传导方程、波动方程和亥姆霍兹方程等。下面以求解一维热传导方程为例,

展示有限差分法的应用过程。 假设我们要求解如下的热传导方程: u/t = k * ^2u/x^2 x = [0, 1] t = [0, T] 边界条件:u(0, t) = f(t), u(1, t) = 0 初始条件:u(x, 0) = 0 我们可以通过以下步骤应用有限差分法: 1.对边界条件进行离散处理,将边界上的函数值用有限个离散点上的函数值来代替。 2.对偏微分方程进行离散处理,将偏微分方程转化为关于这些离散点上的代数方程组。 3.求解代数方程组,得到离散点上的函数值。 4.通过插值方法,将离散点上的函数值还原为连续函数。 四、有限差分法的优缺点 有限差分法具有以下优点: 1.适用范围广泛,可以应用于各种偏微分方程的初值问题。 2.推导过程相对简单,容易理解和实现。 3.计算精度较高,可以通过增加离散点数来提高精度。 然而,有限差分法也存在以下缺点: 1.计算量较大,需要处理大量的代数方程组。 2.对于某些问题,可能需要进行特殊的处理,例如处理不稳定的代数方程组。

有限差分方法

有限差分方法 有限差分法是一种用于数值解决常微分方程(ODE)、偏微分方程(PDE)的数学技术。它将原本的微分方程式转化为差分方程,最终可以用数值计算解决。作为一门数值分析技术,有限差分方法主要用于计算解决微分方程的参数和状态。 有限差分法的步骤一般分为三个:(1)数学模型的构建,(2)对物理场的离散化,(3)对差分方程进行求解。首先,我们要建立准确的物理模型,这一步涉及到选取合适的假设和参数,以及采用适当的边界条件和初始条件。其次,我们要对原方程进行离散处理,使其转化为有限差分方程,从而为求解此类方程打下基础。最后,我们要设计出一个有效的求解方法,通过用数值计算解决有限差分方程,获得所求解的结果。 有限差分法的优点主要体现在精度和速度上。首先,它的精度极高,它可以求解出精确的解,而且计算速度也很快,无需复杂的数学推理,就可以较快速度解决问题,大大降低了计算的难度。其次,有限差分法可以拓展到更多的系统,不限于只能解决二维静止场,而能够解决一般感兴趣的场景。此外,有限差分技术也可以解决有时限性的问题,例如分析物体的动态特性。 此外,有限差分方法也存在一些缺点,例如边界条件的处理和计算复杂性的增加。由于差分的求解是基于某些边界条件的,一旦边界条件发生变化,原有的求解方案就会失效。此外,在进行离散化处理时,随着问题规模的增大,计算复杂性也会随之增加,使得求解较大

规模的问题极其困难。 有限差分法已经成为当今解决复杂问题数值计算的重要技术手段。它在准确性、精度和计算速度方面均具有优势,深受工业界、医学界及数学领域的青睐。有限差分法的实际应用也正在层出不穷,今后有望在更多的领域得到广泛的应用。

计算流体力学有限差分法

计算流体力学有限差分法 流体力学有限差分法(Finite Difference Method,FDM)是一种常用的计算流体力学的方法。它是基于流体力学基本方程对系统求解压力、速度和位置变化的一种近似数值方法,这些方程可以使用有限差分法求解得到准确结果。 一、流体力学有限差分法的概念 1、端点条件:端点条件是差分方程组确定变量的边界条件,主要有边界条件和内部条件。 2、场变量定义:流动的物质可以用速度、压力和密度来描述,这种变量称为场变量。 3、有限差分法:有限差分法试图使描述精度在最小情况下得到一个可以接受的结果。它将待求解区域划分为若干个小块,并且计算每一个小块上的变量。 4、边界条件:边界条件是用来描述物理事件发生的时候的物理量,如压力、流动量等。 二、流体力学有限差分法的基本步骤 1、数学模型:开发有限差分方程,用来描述流体力学问题,这种模型可以由流体力学的基本方程得到。 2、网格划分:将区域网格划分成更小的网格,为了更准确的解决流体力学问题。

3、空间离散:将每一个网格按照有限差分公式空间离散,获得离散的 压力方程式。 4、时间离散:在解决大规模动态流体力学问题时,通过一个更小的时 间步骤进行求解。 5、求解:用适当的方法和算法求解有限差分方程式,获得求解结果。 三、流体力学有限差分法的优势 1、高精度:使用此法,可以获得较高数值精度,从而准确描述流体力 学过程。 2、计算效率:该方法可以快速找出有效的解决方案,并且计算效率更高。 3、计算能力:此方法可以处理复杂的物理问题,而且没有太多的硬件 限制。 4、收敛性:当求解复杂的物理问题时,有限差分法不太容易出现"收敛"的情况。 5、可靠性:此方法可以快速、准确的求解出可靠的结果,相对于其他 求解方法,其精度更高。 四、总结 流体力学有限差分法是一种常用的计算流体力学的方法。它易于实施,并且可以获得较高数值精度,从而准确描述流体力学过程。处理复杂 的物理问题时,它可以提供较快、较准确的结果,更能可靠性和可靠 性更好。从而,它有着重要的地位,在计算流体力学中扮演了重要的 角色。

计算电磁学---有限差分法

第一章 有限差分法 一元函数泰勒公式: 设函数()f x 在0x 处的某邻域内具有1n +阶导数,则对该邻域异于0x 的任意点x ,在0 x 与x 之间至少存在一点ξ,使得 ()2 0000000()()()()()()()()()2!!n n n f x f x f x f x f x x x x x x x R x n '''=+-+-+⋅⋅⋅+-+ 其中,(1)10() ()()(1)! n n n f R x x x n ξ++= -+ 二元函数的泰勒公式: 设函数(,)z f x y =在点00(,)x y 的某一邻域内连续且有直到1n +阶连续偏导数, 00(,)x h y k ++为此邻域内任意点,则有 00000020000100(,)(,)()(,)1()(,)2!1()(,)!1()(,)(1)!n n f x h y k f x y h k f x y x y h k f x y x y h k f x y n x y h k f x h y k n x y θθ+∂∂ ++=++∂∂∂∂ + ++⋅⋅⋅∂∂∂∂ ++∂∂∂∂+++++∂∂ 式中01θ<<; 0000(,) 0(,)m m m p p m p m x y p m p p f h k f x y c h k x y x y --=⎛⎫∂∂∂+= ⎪∂∂∂∂⎝⎭∑ 1.利用泰勒展开求不等间距的差分格式。 (1)2x y ϕ∂∂∂ (2)33x ϕ ∂∂ 解:(1) 26001 04001040101040010400010041()()2!11()()(,)!(1)!n n h h h h x y x y h h h h x h y h n x y n x y ϕϕϕϕϕϕθθ+∂∂∂∂ =+-++-++⋅⋅⋅∂∂∂∂∂∂∂∂+-++-+-+∂∂+∂∂(1.1)

相关文档
相关文档 最新文档