• 沒有找到結果。

§4 偏微分方程的数值解法

N/A
N/A
Protected

Academic year: 2023

Share "§4 偏微分方程的数值解法"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

§ 4 偏微分方程的数值解法

一、 差分法

差分法是常用的一种数值解法.它是在微分方程中用差商代替偏导数,得到相应的差分方 程,通过解差分方程得到微分方程解的近似值.

1. 网格与差商

在平面 (x,y)上的一以S为边界的有界区域D上考虑定解问题.为了用差分法求解,分别作平 行于x轴和y轴的直线族.



jh y y

ih x x

i

i (i,j=0,1,2,…,n)

作成一个正方形网格,这里h为事先指定的正数,称为步 长;网格的交点称为节点,简记为(i,j).取一些与边界S接近 的网格节点,用它们连成折线ShSh所围成的区域记作Dh.称 Dh内的节点为内节点,位于Sh上的节点称为边界节点(图 14.7).下面都在网格Dh + Sh上考虑问题:寻求各个节点上

解的近似值.在边界节点上取与它最接近的边界点上的边值作为解的近似值,而在内节点上,用 以下的差商代替偏导数:

   

 

   

 

     

 

     

 

     

u x y h u x h y u x y h u x y

y h x

u

h y x u y x u h y x h u y

u

y h x u y x u y h x h u x

u

y x u h y x h u y u

y x u y h x h u x u

, ) , ( , 1 ,

, ,

2 1 ,

, ,

2 1 ,

, 1 ,

, 1 ,

2 2

2 2 2

2 2 2

 

 

 

 

 

注意, 1 式中的差商

u

x h y

  

u x y

h , ,

1   称为向后差商,而

u

  

x y u x h y

 

h , ,

1   称为向

前差商,

u

x h y

 

u x h y

 

h , ,

2

1    称为中心差商.也可用向前差商或中心差商代替一阶偏导数.

2 x轴与y轴也可分别采用不同的步长h,l,即用直线族



jh y y

ih x x

j

i (i,j=0, ±1, ±2, ) 作一个矩形网格.

图14.7

(2)

2. 椭圆型方程的差分方法

[五点格式] 考虑拉普拉斯方程的第一边值问题

 

 



 



y x u

D y y x

u x

u

S ,

,

2 0

2 2 2

式中(x,y)为定义在D的边界S上的已知函数.

采用正方形网格,记u(xi,yj)=uij ,在节点(i,j)上分别用差商

u u u

h

u u u

h

i1jiji1j i jiji j 2

1 1

2

2 2

, , , ,

, 代替 22 , 22

y u x

u

 ,对应的差分方程为

u u u

h

u u u

h

i jiji j i j ij i j

  

1 1

2

1 1

2

2 2

, , , , 0 (1)

uij  1 ui jui jui jui j

4 1, 1, , 1 , 1

即任一节点(i,j)上uij的值等于周围相邻节点上解的值的算术平均,这种形式的差分方程称为五点 格式,在边界节点上取

i j

   

h

ij x y i j S

u  *, * ,  (2)

式中(xi*,yj*)是与节点(i,j)最接近的S上的点.于是得到了以所有内节点上的uij值为未知量的若干个

线性代数方程,由于每一个节点都可列出一个方程,所以未知量的个数与方程的个数都等于节 点的总数,于是,可用通常的方法(如高斯消去法)解此线性代数方程组,但当步长不很大 时,用高斯消去法将会遇到很大困难,可用下面介绍的其他方法求解.

h0时,差分方程的解收敛于微分方程的解,则称差分方程为收敛的.

在计算过程中,由于进行四则运算引起舍入误差,每一步计算的舍入误差都会影响以后的计 算结果,如果这种影响所产生的计算偏差可以控制,而不至于随着计算次数的增加而无限增 大,则称差分方程是稳定的.

[迭代法解差分方程] 在五点格式的差分方程中,任意取一组初值{uij},只要求它们在边界节 点(i,j)上取以已知值(xi*,yj*),然后用逐次逼近法(也称迭代法)解五点格式:

 

       

0,1,2,

4 1

1 , 1 , , 1 , 1

1

u u u u n

uijn in j in j inj inj

逐次求出{uij(n)}.当(i+1,j),(i-1,j),(i,j-1),(i,j+1)中有一点是边界节点时,每次迭代时,都要 在这一点上取最接近的边界点的值.当n∞ 时,uij(n)收敛于差分方程的解,因此n充分大时,

{uij(n)}可作差分方程的近似解,迭代次数越多,近似解越接近差分方程的解.

(3)

[用调节余数法求节点上解的近似值] 以差商代替Δ u时,用节点(i+1,j),(i-1,j),(i,j+1),(i,j

-1)上u的近似值来表示u在节点(i,j)的值将产生的误差,称此误差为余数Rij,即

xi h yj

 

u xi h yj

 

u xi yj h

 

u xi yj h

 

u xi yj

Rij

u  ,   ,  ,   ,  4 , 

设在(i,j)上给uij以改变量uij,从上式可见Rij将减少4uij,而其 余含有u(xi,yj)的差分方程中的余数将增加uij,多次调整uij的值就 可将余数调整到许可的有效数字的范围内,这样可获得各节点上 u(x,y)的近似值.这种方法比较简单,特别在对称区域中计算更简 捷.

例 求Δu=0在内节点A,B,C,D上解的近似值.设在边界节点 1,2,3,4上分别取值为1,2,3,4(图14.8)

解 记u(A)=uA,点A,B,C,D的余数分别为

-4uA+ uB+ uc +5=RA uA-4 uB + uD+7=RB

uA -4 uc+ uD+3=RC uB+ uc-4uD+5=RD 以边界节点的边值的算术平均值作为初次近似值,即

uA(0)=uB(0)=uC(0)=uD(0)=2.5 则相应的余数为:

RA=0, RB=2, RC= -2, RD=0

最大余数为±2.先用δ uC=-0.5把RC缩减为零,uC相应地变为2,这时RA, RD也同时缩减(-0.5),

新余数是RA=-0.5,RB=2,RC 0, RD=-0.5.类似地再变更δ uB=0.5,从而 uB变为3,则得新余数为

0

B C D

A R R R

R .这样便可消去各节点的余数,于是u在各节点的近似值为:

uA=2.5, uB=3, uC=2, uD=2.5 现将各次近似值及余数列表如下:

数 调 整 值 第n 次近似值及余数

uA RA uB RB uC RC uD RD

0 1 2

δuC = -0.5 δuB = 0.5

2.5 2.5 2.5

0

-0.5 0

2.5 2.5 3

2 2 0

2.5 2 2

-2 0 0

2.5 2.5 2.5

0

-0.5 0

结果近似值 2.5 3 2 2.5

[解重调和方程的差分方法] 在矩形D(x0xx0+a,y0yy0+a)中考虑重调和方程 0

2 4

4 2 2

4 4

4

2



 

 

y u y

x u x

u u

图14.8

(4)

取步长h a

n,引直线族



jh y y

ih x x

0

0 (i, j = 0, 1, 2,, n) 作成一个正方形网格.用差商代替偏导数

            

       

 

       

u x h y u x h y u x y h u x y h

 

h y h x u h y h x u h y h x u h y h x u

h y x u h y x u y h x u y h x u y

x u

2 , 2

, ,

2 ,

2

, ,

, ,

2

, ,

, ,

20 8 , 1

上式表明了以(x,y)为中心时,u(x,y)的函数值与周围各点函数值 的关系,但对于邻近边界节点的点(x,y),如图14.9中的A,就不 能直接使用上式,此时将划分网格的直线族延伸,在延伸线上 定出与边界距离为h的点,称这些点为外邻边界节点,如图14.9 以A为中心时,点E,C为边界节点,点J,KE,C的外邻边界节 点,用下法补充定义外邻边界节点J处函数的近似值uJ,便可应 用上面的公式.

1 边界条件为

    

P P S

x P u u

S

S1 , 2

  时,定义uJ=uA-22(E)h.

2 边界条件为

    

P P S

x P u u

S

S  

  2

2 2

1 , 

 时,定义uJ=21(E)-uAh22(E).

[其他与Δ u有关的网格] 1 三角网格(图14.10(a))

P0(x,y)为中心,它的周围6个邻近节点分别为:

 

 





  





  

 



  





  

h h y

x P h h y

x P

y h x P h h y

x P

h h y

x P y h x P

2 , 3 , 2

2 , 3 2

, 2 ,

, 3 2

2 , 3 , 2

,

6 5

4 3

2 1

u u u h u R h i

i    

 

2 2 6

1 2 0

16 6 1

3 2

式中ui=u(Pi), u0=u(P0),R表示余项.

图14.9

(5)

2 六角网格(图14.10(b))

P0(x,y)为中心,它的三个邻近节点分别为

 





  

 



  

h h y

x P

y h x P h h y

x P

2 , 3 2

, 2 ,

, 3 2

3

2 1

u u u R h i

i   

 

0

3

1

2 3

3

4 .

图14.10 3 极坐标系中的网格(图14.10(c))

P0(r,)为中心,它的四个邻近节点分别为

   

r h

 

P r l

P

l r P h r P

 , , ,

, , ,

4 3

2 1

而拉普拉斯方程

1 0 1

2 2 2 2

2

 

 

 

 u

r r u r r u u

的相应的差分方程为

     

1 1 0

2 2 1 1

1

2 0 2 1 2

3 4

2 2 3 2

2 1  

 

 

u

l r u h

rh u u

l u u r

h u

3. 抛物型方程的差分方法 考虑热传导方程的边值问题

   

       





 

 

0 , ,

, ,

0

0 , 0

,

0 , 0

, 0

2 1

2 2 2

t t t

b u t t

u

b x x

x u

t b x x

a u t u

将[0,b]分为n等份,每段长为x b

n.引两族平行线(图14.11)

(6)

图14.11 x=xi=ix (i=0,1,2,,n)

y=yj=jt (j=0,1,2,, t 取值见后)

作成一个长方形的网格,记u(xi,tj)为uij,节点(xi,tj)为(i,j),在节点(i,j)上分别用

 

Δ 1,2,, 1, 1,2,

, 2

Δ 2

, 1 ,

1 1

,     

j n x i

u u u

t u

ui j ij i j ij i j

代替 2 2

, x u t u

 ,于是边值问题化为差分方程

 

 

   





 

 

, 2 , 1 , 0 Δ ,

Δ ,

1 , , 2 , 1 Δ ,

, 2 , 1 , 0 ,

1 , , 2 , 1 Δ 0

2 Δ

2 1

0 0

2 , 1 ,

2 1 1

,

j t j u

t j u

n i

x i u

j n

i x

u u a u

t u u

nj j

i

j i ij j i ij

j i

a2

 

xt2 ,差分方程可写成

1 2

1, 1,2,, 1, 1,2,

, 1 1

, u   uu inj

ui ji jiji j (1)

由此可按t增加的方向逐排求解.在第0排上ui0的值由初值(ix)确定,j+1排ui,j+1的值可由第j排的 三点(i+1,j),(i,j),(i-1,j)上的值ui+1,j, uij,ui-1,j确定,而u0,j+1,un,j+1已由边界条件1((j+1)t)及2((j+1)t) 给定,于是可逐排计算一切节点上的uij值.当(x), 1(x)和2(x)充分光滑,且 1

2时,差分方程 收敛而且稳定.所以利用差分方程(1)计算时,必须使 1

2,即 2

 

Δ 2

2

Δ 1 x

ta .

热传导方程还可用差分方程

 

Δ 0

2

Δ 2

1 , 1 1 , 1 , 2 1 1

,   

 

x u u

a u t

u

ui j ij i j ij i j

代替,此时如已知前juij的值,为求第j+1排的ui,j+1 必须解包含n-1个未知量u1,j1,,un 1,j 1的线 性代数方程组,这种差分方程称为隐式格式的差分方程,前面所提的差分方程称为显式格式差 分方程.

隐式格式差分方程对任意的λ 都是稳定的.

(7)

4. 双曲型方程的差分方法 考虑弦振动方程的第一边值问题

   

       





 

 

 

 

0 , ,

, ,

0

0 ), ) (

0 , , ( 0

,

0 , 0

, 0

2 1

2 2 2 2 2

t t t

b u t t

u

b x t x

x x u x

u

t b x x

a u t

u

用矩形网格,列出对应的差分方程:

 

 

   





 

 

 

 

, 2 , 1 , 0 Δ ,

Δ ,

1 , , 2 , 1 ),

( Δ ,

, 2 , 1 , 1 , , 2 , 1 ,

Δ 0 2 (Δ )

2

2 1

0

0 1 0

2 , 1 ,

2 1 2

1 , 1

,

j t

j u

t j u

n i

x t i

u x u

i u

j n x i

u u a u

t u u u

nj j

i i i

j i ij j i j

i ij j

i

记a t x

 与上段一样,利用u02,un2和在第0排及第1排的已知数值(初始条件)ui0 , ui1可计算 ui2,然后用已知的ui1 , ui2u03,un3可计算ui3,类似地可确定一切节点上的uij值.

当(x),(x),1(x)和2(x)充分光滑,且ω ≤ 1时,差分方程收敛且稳定,所以要取ta x

 1 .

二、 变分方法

1. 自共轭边值问题

将§3定义的共轭微分算子的概念推广到一般方程.

DEn中的有界区域,S为其边界,在D上考虑2k阶线性微分方程

 

x

x f x a u Lu

k

m i i m

i n i

m m

i i

n

n n

 

2

01 1

1 1

 的齐次边值问题

j r

u

lj S 0 1,2,, 式中f(x)是D内的已知函数,lju是线性微分算子.

DvLud 分部积分k次得

   





 

S j

j

DvLu u v RjuR~ v dS

Λ , d

k

1

式中(u,v)是一个D上的积分,其被积函数包含u,vk阶导数;RjRj是定义在边界S上的两个线

性微分算子.再将(u,v)分部积分k次得

     





 

S k

j

j

D uLv RjvR u S

v

u ~ d

d ,

1

*

*

*

(8)

式中L*是一个2k阶的微分算子,称为L的共轭微分算子.若L=L*,则称L为自共轭微分算子.从上 面可推出格林公式

     

S k

j

j j j

D vLu uLv RjuR v R vR u S

1

*

*

* ~ ~ d

d 如从lju|S=ljv|S=0可推出在边界S

 

k

j

j j j

juR v R vR u

R

1

*

* ~ 0

~

则称lju|S=0为自共轭边界条件.如果微分算子及边界条件都是自共轭的,则称相应的边值问题为

自共轭边值问题,此时有

 

]d 0

[  

D vLu uLv

每个边值问题对应于某希尔伯特空间H(例如L2(D),见第九章§7)中的一个算子A,其定

义域MAH中一线性稠密集合,它由足够次连续可微且满足边界条件的函数组成,在MA上,Au

的数值与Lu的数值相同,从而求解边值问题化为解算子方程 Auf

的问题.

A为定义在实的希尔伯特空间H中的某线性稠密集合MA上的线性算子.若对于MA的任意非零 元素u,v,成立

(Au,v)=(u,Av) 则称A为对称算子.若对任意非零元素u成立

Au,u

0 则称A为正算子.如成立更强的不等式

(Au,u)≥ r||u||2 (r>0)

则称A为正定算子.此处(u,v)表示希尔伯特空间的内积,||u||2=(u,u).

2. 变分原理与广义解

定理 设A是正定算子,u是方程Au=fMA上的解的充分必要条件是: u使泛函 F(u)=(Au,u)-2(f,u)

取极小值.

上述将边值问题化为等价的求泛函极值问题的方法称为能量法.在算子的定义域不够大时,

泛函F(u)的极值问题可能无解.不过对于正定算子,可以开拓集合MA,使在开拓了的集合上,泛 函的极值问题有解.为开拓MA,在MA上引进新的内积[u,v]=(Au,v),定义模||u||2=[u,u]=(Au,u),在 模||u||的意义下,补充极限元素,得到一个新的完备希尔伯特空间H0,在H0上,泛函F(u)仍然有 意义,而泛函的极值问题有解.但必须注意,此时使泛函F(u)取极小的元素u0不一定属于MA,因 此它不一定在原来的意义下满足方程Au=f及边界条件.称u0为广义解.

3. 极小化序列与里兹方法

在处理变分问题中,极小化序列起着重要的作用.考虑泛函

(9)

F(u)=(Au,u)-2(f,u)

d表示泛函的极小值.设在希尔伯特空间中存在一列元素{un} (n=1,2,),使

 

u d F n

n

lim

则称{un}为极小化序列.

定理 若算子A是正定的,则F(u)的每一个极小化序列既按H空间的模也按H0的模收敛于使泛 函F(u)取极小的元素.

这个定理不但指出利用极小化序列可求问题的解,而且提供一种近似解的求法,即把极小 化序列中的每一个元素当作问题的近似解.

设算子A是正定的,构造极小化序列的里兹方法的主要步骤是:

(1) 在线性集合MA中选取H0中完备的元素序列{i} , (i=1,2,) 并要求对任意的n,1,2,…,n

线性无关.称这样的元素为坐标元素.

(2) 令un ak k

k

n

1

,其中ak为待定系数.代入泛函F(u),得自变量a1,a2,…,an的函数

     

n

j

j j n

k j

k j k j

n a a A a f

u F

1 1

,

, 2

, 

(3) 为使函数F(un)取极小,必须

  

j n

a u F

j

n 0 1,2,,

 ,从而求出ak (k=1,2,…,n).序列{un} 即为极小化序列,un可作为问题的近似解.

4. 里兹方法在特征值问题上的应用 算子方程

Au-u=0

的非零解称为算子A的特征值,对应的非零解u称为所对应的特征函数.

对线性算子A,若存在常数K,使对任何MA的元素成立 (A,)≥ K||||2

则称A为下有界算子,正定算子是下有界的(此时K=0).记(A,)/||||2的下确界为d.

定理1 设A为下有界对称算子,若存在不为零的元素0MA,使

 

A d

2

0 0 0,

d就是A的最小特征值,0为对应的特征函数.

于是求下有界对称算子的最小特征值问题化为变分问题,即在希尔伯特空间中求使泛函(A,

)/||||2取极小的元素,或在||||=1的条件下求使泛函(A,)取极小的元素.

定理2 设A是下有界对称算子,1≤ 2≤ …≤ n是它的前n个特征值,1,2,…,n是对应的标准 正交特征函数,如果存在不为零的元素n1,在附加条件

(,)=1, (,1)=0, (,2)=0, …, (,n)=0 下使泛函(A,)取极小,则n+1是算子A的特征函数,对应的特征值

(10)

1, 1

Ann

 就是除1 ,,n外的最小的一个特征值.

于是求第n+1个特征值就化为变分问题,即在附加条件

(,)=1, (,1)=0, (,2)=0,, (,n)=0 下求使泛函(A,)取极小的元素.

为了利用里兹方法求特征值,在MA中选取一列在H0中完备的坐标元素序列{i}, (i=1,2,), 令un ak k

k

n

1

,确定ak,使在条件 (un,un)=1下,(Aun,un)取极小,这个问题化为求n 个变元a1,a2,…,an的函数

    

n

m k

m k k m n

n u A a a

Au

1 ,

,

,  

在条件

    

n

m k

m k m k n

n u a a

u

1 ,

1 ,

,  

下的极值问题,一般可用拉格朗日乘数法解(见第九章§3,t),此时

       

       

       

0 ,

, ,

,

, ,

, ,

, ,

, ,

1 1

2 2

2 1 2

1

1 1

1 1 1

1

n n n

n n

n

n n

n n

A A

A A

A A





的最小的根即为特征值的近似值,如果将上式的根按大小排列,就依次得后面的特征值的近似 值,但精确度较差.

对一般算子方程

Au-Bu=0 如果A为下有界对称算子,B为正定算子,则

       

       

       

0 ,

, ,

,

, ,

, ,

, ,

, ,

1 1

2 2

2 1 2

1

1 1

1 1 1

1

n n n

n n

n

n n

n n

B A

B A

B A

B A

B A

B A





的根就是特征值的近似值.

5. 迦辽金方法

用里兹方法解数学物理问题有很多限制,最主要的限制是要求算子正定,但很多问题不一 定满足这个条件,迦辽金方法弥补了这个缺陷.

迦辽金方法的主要步骤是:

(1) 在MA中选取在空间H中完备的元素序列{i} (i=1,2,),其中任意n个元素线性无关,称{

i} (i=1,2,…)为坐标元素序列.

(2) 把方程的近似解表示为

(11)

un ak k

k

n

1

式中ak是待定常数,把un代入方程Au=f中的u,两端与j (j=1,2,…,n)求内积,得 akn个代数方 程

A

 

f

 

j n

a j

n

k

j k

k , , 1,2, ,

1

 

(3) 求出ak,代回un的表达式,便得方程的近似解un.

在自共轭边值问题中,当算子是正定时,由迦辽金方法和里兹方法得到的关于ak的代数方程 组是相同的.

參考文獻

相關文件

求解二阶齐次线性方程归结为:

数值计算中的基本原则 算法的数值稳定概念

(3) 在晶体内部还存在一种确定的方向,沿 着这个方向,寻常光线和非常光线的速度一样。这个 方向 称为晶体的光

所以求解( 2.1’ )可转化为求 α 的积分曲线。虽然容易看到积分曲线经过一个 点时有切向 ( −Q, P

——

——

[初等函数] 幂函数、指数函数、对数函数、三角函数、反三角函数通称为“ 基本初等函

《数值分析》19 主要内容: Simpson公式的精度和复合型 圆周长计算外推方法(引例) 复合梯形公式外推方法 Gauss型数值积分公式... Gauss型数值积分公式 定义 如果求积结点x0, x1,···,xn,使插值型求积公式