偏微分方程数值方法 - nanjing...

162
偏微分方程数值方法 武海 南京大学数学系 [email protected] 2020 11 18

Upload: others

Post on 16-Oct-2020

37 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

偏微分方程数值方法

武海军南京大学数学系

[email protected]

2020 年 11 月 18 日

Page 2: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

ii

Page 3: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

目录

第一章 有限差分法 31.1 五点差分格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 网格剖分 . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 五点差分格式 . . . . . . . . . . . . . . . . . . . . . . . 31.1.3 极值原理 . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.4 误差估计 . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.5 Neumann 边界条件 . . . . . . . . . . . . . . . . . . . . 71.1.6 曲边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 三角网上的差分方法——有限体积方法 . . . . . . . . . . . . . 91.2.1 三角剖分 . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.2 积分守恒形式 . . . . . . . . . . . . . . . . . . . . . . . 101.2.3 单元中心式有限体积方法 . . . . . . . . . . . . . . . . 101.2.4 节点中心式有限体积法——有限体积元方法 . . . . . . 111.2.5 其它边界条件 . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

第二章 椭圆问题变分原理 152.1 Sobolev 空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.1.1 弱导数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.1.2 Sobolev 空间的定义 . . . . . . . . . . . . . . . . . . . 162.1.3 磨光 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.4 Lipschitz 边界的区域 . . . . . . . . . . . . . . . . . . . 172.1.5 稠密性定理 . . . . . . . . . . . . . . . . . . . . . . . . 182.1.6 延拓定理 . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.7 嵌入定理 . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.8 迹定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2 变分公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

iii

Page 4: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

iv 目录

2.2.1 变分问题——弱解的定义 . . . . . . . . . . . . . . . . 212.2.2 存在唯一性 . . . . . . . . . . . . . . . . . . . . . . . . 232.2.3 其它边界条件的变分公式 . . . . . . . . . . . . . . . . 242.2.4 正则性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.3 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

第三章 有限元方法 293.1 一维的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 两点边值问题及其变分公式 . . . . . . . . . . . . . . . 293.1.2 网格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.1.3 有限元空间 . . . . . . . . . . . . . . . . . . . . . . . . 303.1.4 有限元方法 . . . . . . . . . . . . . . . . . . . . . . . . 303.1.5 节点基 . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.1.6 有限元方程 . . . . . . . . . . . . . . . . . . . . . . . . 313.1.7 插值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.1.8 先验误差估计 . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Galerkin 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.1 抽象框架 . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.2 Petrov-Galerkin 方法 . . . . . . . . . . . . . . . . . . . 363.2.3 非协调 Galerkin 方法 . . . . . . . . . . . . . . . . . . 373.2.4 应用到二阶椭圆问题 . . . . . . . . . . . . . . . . . . . 37

3.3 有限元空间的构造 . . . . . . . . . . . . . . . . . . . . . . . . 383.3.1 有限元 . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.3.2 三角形上的有限元 . . . . . . . . . . . . . . . . . . . . 393.3.3 有限元空间 . . . . . . . . . . . . . . . . . . . . . . . . 44

3.4 有限元方程组的形成 . . . . . . . . . . . . . . . . . . . . . . . 453.5 MATLAB PDE 工具箱简介 . . . . . . . . . . . . . . . . . . . 48

3.5.1 第一个例子——求解单位圆上的 Poisson 方程 . . . . . 503.5.2 网格数据结构 . . . . . . . . . . . . . . . . . . . . . . . 513.5.3 快速参考 . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.6 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

第四章 有限元方法的收敛性理论 574.1 插值理论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1.1 一些辅助结果 . . . . . . . . . . . . . . . . . . . . . . . 574.1.2 局部有限元插值 . . . . . . . . . . . . . . . . . . . . . . 604.1.3 整体有限元插值 . . . . . . . . . . . . . . . . . . . . . . 62

Page 5: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

目录 v

4.1.4 有限元逆估计 . . . . . . . . . . . . . . . . . . . . . . . 634.1.5 局部迹不等式 . . . . . . . . . . . . . . . . . . . . . . . 63

4.2 H1 误差估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.3 L2 误差估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.4 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

第五章 有限元多重网格法 675.1 模型问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2 经典迭代法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.2.1 矩阵形式和算子形式 . . . . . . . . . . . . . . . . . . . 685.2.2 磨光性质 . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.3 多重网格 V 循环算法 . . . . . . . . . . . . . . . . . . . . . . 715.4 完全多重网格方法和工作量估计 . . . . . . . . . . . . . . . . . 735.5 多重网格 V 循环算法的实现 . . . . . . . . . . . . . . . . . . . 75

5.5.1 算法的矩阵形式 . . . . . . . . . . . . . . . . . . . . . . 755.5.2 MATLAB 程序 . . . . . . . . . . . . . . . . . . . . . . 76

5.6 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

第六章 内罚有限元方法 876.1 高波数声波散射问题 . . . . . . . . . . . . . . . . . . . . . . . 87

6.1.1 模型问题 . . . . . . . . . . . . . . . . . . . . . . . . . 876.1.2 稳定性估计 . . . . . . . . . . . . . . . . . . . . . . . . 88

6.2 有限元方法误差估计 . . . . . . . . . . . . . . . . . . . . . . . 906.2.1 经典的对偶论证 . . . . . . . . . . . . . . . . . . . . . . 916.2.2 改进的对偶论证 . . . . . . . . . . . . . . . . . . . . . . 93

6.3 内罚有限元方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.1 离散格式 . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.2 椭圆投影 . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.3 稳定性估计 . . . . . . . . . . . . . . . . . . . . . . . . 966.3.4 内罚有限元方法的误差估计 . . . . . . . . . . . . . . . 101

6.4 最优加罚参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.4.1 内罚有限元方程 . . . . . . . . . . . . . . . . . . . . . . 1026.4.2 离散波数 . . . . . . . . . . . . . . . . . . . . . . . . . 1036.4.3 最优加罚参数 . . . . . . . . . . . . . . . . . . . . . . . 104

6.5 一个数值例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.6 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Page 6: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

vi 目录

第七章 间断有限元方法 1137.1 IPDG 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7.1.1 离散格式 . . . . . . . . . . . . . . . . . . . . . . . . . 1137.1.2 SIPG 方法的误差分析 . . . . . . . . . . . . . . . . . . 1157.1.3 NIPG 方法的误差分析 . . . . . . . . . . . . . . . . . . 118

7.2 LDG 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.2.1 离散格式 . . . . . . . . . . . . . . . . . . . . . . . . . 1207.2.2 原始变量形式 . . . . . . . . . . . . . . . . . . . . . . . 1227.2.3 误差估计 . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.3 HDG 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287.3.1 离散格式 . . . . . . . . . . . . . . . . . . . . . . . . . 1287.3.2 变分形式 I . . . . . . . . . . . . . . . . . . . . . . . . 1297.3.3 误差估计 . . . . . . . . . . . . . . . . . . . . . . . . . 1307.3.4 后处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347.3.5 变分形式 II . . . . . . . . . . . . . . . . . . . . . . . . 136

7.4 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

第八章 界面问题的非拟合界面罚有限元方法 1398.1 非拟合界面罚有限元方法 . . . . . . . . . . . . . . . . . . . . 140

8.1.1 网格剖分 . . . . . . . . . . . . . . . . . . . . . . . . . 1408.1.2 方法构造 . . . . . . . . . . . . . . . . . . . . . . . . . 141

8.2 辅助结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1438.3 SUIPFEM 的误差估计 . . . . . . . . . . . . . . . . . . . . . . 1478.4 NUIPFEM 的误差估计 . . . . . . . . . . . . . . . . . . . . . . 1508.5 刚度矩阵条件数 . . . . . . . . . . . . . . . . . . . . . . . . . . 151

8.5.1 三个条件数 . . . . . . . . . . . . . . . . . . . . . . . . 1518.5.2 κ(Ah) 的估计 . . . . . . . . . . . . . . . . . . . . . . . 1528.5.3 κ(M) 的估计 . . . . . . . . . . . . . . . . . . . . . . . 1538.5.4 κ(A) 的估计 . . . . . . . . . . . . . . . . . . . . . . . . 154

8.6 作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

索引 155

Page 7: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

引言

本课程考虑如下椭圆问题的数值解法:

(0.1) −∇ · (a(x, y)∇u) + c(x, y)u = f(x, y) (x, y) ∈ Ω

其中 Ω 是 xy 平面上一有界区域, 其边界 Γ = ∂Ω 为分段光滑曲线. 在 Γ 上满足下列边值条件之一.

u = g, (Dirichlet 边界条件),(0.2)

a∇u · n = g, (Neumann 边界条件),(0.3)

a∇u · n+ αu = g, (Robin 边界条件).(0.4)

我们将分别介绍有限差分方法, 有限元方法, 有限体积方法, 间断有限元方法等等. 将主要以下面 Poisson 方程为例介绍:

(0.5) −∆u := −uxx − uyy = f.

一般情形请同学们自己推导.

1

Page 8: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2 目录

Page 9: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第一章 有限差分法

本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差分格式; 然后, 从椭圆问题的积分守恒形式出发, 构造有限体积方法.

1.1 五点差分格式

假设 Ω = (0, 1) × (0, 1) 是正方形, Γ = ∂Ω. 考虑带 Dirichlet 边界条件(0.2)的 Poisson 方程(0.5), 即

−∆u = −uxx − uyy = f (x, y) ∈ Ω, u = g (x, y) ∈ Γ.(1.1)

我们将给出上面问题的五点差分离散并用离散的极值原理证明其误差估计。

1.1.1 网格剖分

取正整数 n, 令 h = 1/n. 用两族与坐标轴平行的直线

x = ih, i = 0, 1, · · · , n,

y = jh, j = 0, 1, · · · , n,

将单位正方形 Ω 分为 n2 个边长为 h 的小正方形. n = 6 的情形见图 1. 两族直线的交点 (ih, jh) 称为节点, 记为 (xi, yj). 记

N Ih := (xi, yj)| 1 ≤ i ≤ n− 1, 1 ≤ j ≤ n− 1

为 Ω 内部节点的集合.

1.1.2 五点差分格式

差分法的思想是用差商代替微商. 我们知道

d2v(x)

dx2≈ v(x− h)− 2v(x) + v(x+ h)

h2.

3

Page 10: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

4 第一章 有限差分法

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

图 1.1: 网格剖分, n = 6.

事实上, 由泰勒展开可得:

v(x− h)− 2v(x) + v(x+ h)

h2=d2v(x)

dx2+h2

12

d4v(ξ)

dx4,(1.2)

ξ ∈ (x− h, x+ h).

我们有

uxx(xi, yj) ≈u(xi−1, yj)− 2u(xi, yj) + u(xi+1, yj)

h2,

uyy(xi, yj) ≈u(xi, yj−1)− 2u(xi, yj) + u(xi, yj+1)

h2

记 uij 为 u(xi, yj) 的近似, fij = f(xi, yj). 我们得到 Poisson 方程在内部节点 (xi, yj) 的离散化

−∆huij := −ui−1,j − 2uij + ui+1,j

h2− ui,j−1 − 2uij + ui,j+1

h2= fij ,(1.3)

1 ≤ i ≤ n− 1, 1 ≤ j ≤ n− 1.

在边界节点满足:

uij = g(xi, yj), i = 0 或j = 0 或i = n 或j = n.(1.4)

Page 11: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

1.1 五点差分格式 5

由于差分方程(1.3)中只出现在 (xi, yj) 及其四个邻点的 u 的近似值, 故称为五点差分格式.由(1.2)易得:存在 ξ ∈ (xi−1, xi+1), η ∈ (yi−1, yi+1) 使得

Rij :=f(xi, yj) + ∆hu(xi, yj) = −∆hu(xi, yj) + (∆u)(xi, yj)(1.5)

=h2

12

(ux4(ξ, yj) + uy4(xi, η)

).

Rij 称为截断误差.

1.1.3 极值原理

先给出 Poisson 方程的极值原理.

定理 1.1. 假设 u ∈ C2(Ω) ∩ C(Ω) 且在 Ω 内满足

−∆u ≤ 0,(1.6)

那么maxΩ

u ≤ maxΓ

u.

证明: 略.

定理 1.2. 假设 u ∈ C2(Ω), 那么存在常数 C 使得

maxΩ|u| ≤ max

Γ|u|+ C max

Ω|∆u| .

证明: 取函数 φ使得在 Ω中 φ ≥ 0且 ∆φ ≥ 1. 比如取 φ(x, y) = 14(x2+y2).

定义函数v = u+ φmax

Ω|∆u| .

则∆v = ∆u+ max

Ω|∆u|∆φ ≥ 0, in Ω.

所以函数 v 在边界上 Γ 取得最大值, 从而

u ≤ v ≤ maxΓ

v ≤ maxΓ|u|+ max

Ω|∆u|max

Γφ.

同理,

−u ≤ maxΓ|u|+ max

Ω|∆u|max

Γφ.

取 C = maxΓ φ 即得证明.

Page 12: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6 第一章 有限差分法

再讨论五点差分格式的极值原理.

定理 1.3. 假设网格函数 eij 满足

−∆heij ≤ 0 ∀(xi, yj) ∈ Ω,

则maxΩ

eij ≤ maxΓ

eij .

证明: 显然, 对内部节点有

eij =ei−1,j + ei+1,j + ei,j−1 + ei,j+1

4− h2

4∆heij

≤ ei−1,j + ei+1,j + ei,j−1 + ei,j+1

4.

假设 eij 的最大值 emax 在某一个内部节点 (xi0 , yj0) 取到, 那么其四个相邻的值 ei0±1,j0 , ei0,j0±1 也都是最大值. 否则

ei0j0 >ei0−1,j0 + ei0+1,j0 + ei0,j0−1 + ei0,j0+1

4,

矛盾. 即 ei0±1,j0 = ei0,j0±1 = ei0j0 = emax 都是最大值. 继续同样的论证可知, eij 在内部节点及其邻点上是常数. 得证.

定理 1.4. 设 eij 是任一网格函数. 存在常数 C 使得

maxΩ|eij | ≤ max

Γ|eij |+ C max

Ω

∣∣∆heij∣∣.

证明: 类似定理 1.2的证明. 取函数 φij 使得在 φij ≥ 0 且 ∆hφi,j ≥ 1. 比如取 φij =

14(x2i + y2j ) 即可. 定义函数

vij = eij + maxΩ

∣∣∆heij∣∣φij .

则∆hvij = ∆heij + max

Ω

∣∣∆heij∣∣∆hφij ≥ 0, ∀(xi, yj) ∈ Ω.

所以由定理1.3,

eij ≤ vij ≤ maxΓ

vij ≤ maxΓ|eij |+ max

Ω

∣∣∆heij∣∣max

Γφij .

同理,

−eij ≤ maxΓ|eij |+ max

Ω

∣∣∆heij∣∣max

Γφij .

取 C = maxΓ

φij 即得证明.

Page 13: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

1.1 五点差分格式 7

1.1.4 误差估计

定理 1.5. 设 u(x, y) 是(1.1)的解, uij 是五点差分格式(1.3)–(1.4)的解. 则

|uij − u(xi, yj)| ≤ Ch2 |u|C4 ∀(xi, yj) ∈ Ω.

证明: 令 eij = uij − u(xi, yj). 则由(1.4), eij 在边界 Γ 上为零, 且由(1.5)知

−∆heij = fij +∆hu(xi, yj) = Rij .

从而, 由定理1.4及(1.5)式可得,

|eij | ≤ C maxΩ|Rij | ≤ Ch2 |u|C4 .

证毕.

1.1.5 Neumann 边界条件

设 Ω = (0, 1)× (0, 1),Γ0 := (0, y) : 0 < y < 1, 考虑如下模型问题:

−∆u = f, (x, y) ∈ Ω(1.7)∂u

∂n= g, (x, y) ∈ Γ0, u = 0, (x, y) ∈ ∂Ω \ Γ0.(1.8)

网格剖分同 §1.1.1. 在区域内部节点的离散化同样是五点差分公式(1.3). 在∂Ω \ Γ0 上取

uij = 0 (xi, yj) ∈ ∂Ω \ Γ0.(1.9)

下面给出 Γ0 上 Neumann 边界条件的离散. 为了用中心差分离散 ∂u

∂n, 在

Γ0 的左边引入虚拟网格点 (x−1, yj), 1 ≤ j ≤ n − 1, 其中 x−1 = −h. 在点(x0, yj) 处列方程:

u−1,j − u1,j2h

= g0,j := g(x0, yj),

4u0,j − u−1,j − u1,j − u0,j−1 − u0,j+1

h2= f0,j .

消去 u−1,j 得 Neumann 边界条件的离散化:

4u0,j − 2u1,j − u0,j−1 − u0,j+1

h2= f0,j +

2g0,jh

, 1 ≤ j ≤ n− 1.(1.10)

最后得问题(1.7)–(1.8)的离散化由(1.3), (1.9)和(1.10)组成. 关于这一离散格式的误差估计, 我们留做习题.

Page 14: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8 第一章 有限差分法

1.1.6 曲边界

为简单见, 假设 Ω 是凸区域, 其边界是光滑曲线. 记

N Ih :=

(xi, yj) ∈ Ω|其四个邻点都 ∈ Ω

,

NBh :=

(xi, yj) ∈ Ω|其四个邻点中至少有一个 6∈ Ω

,

N Γh := (xi, yj) ∈ Γ 及(xi, yj) ∈ Γ

如图1.2, 对 NBh 中的点 (xi, yj) 利用线性插值列如下方程:

(xi , yj)(xi, yj)

图 1.2: 曲边界.

`huij : = uij −(xi − xi)ui−1,j + hui,j

h+ xi − xi= 0,(1.11)

其中 ui,j 为 u(xi, yj) 的(近似)值. 对 NBh 中的点的其它情形可类似定义

`h. 得到差分格式

−∆huij = fij , (xi, yj) ∈ N Ih ,

`huij = 0, (xi, yj) ∈ NBh ,(1.12)

uij = g(xi, yj)或g(xi, yj), 于N Γh .

我们有如下稳定性估计

定理 1.6. 设 eij 是任一网格函数. 存在常数 C 使得

maxN I

h∪NBh

|eij | ≤ 2(

maxNΓ

h

|eij |+ maxNB

h

|`heij |)+ C max

N Ih

∣∣∆heij∣∣.

Page 15: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

1.2 三角网上的差分方法——有限体积方法 9

证明: 类似定理 1.4的可证:

maxN I

h

|eij | ≤ max(

maxNB

h

|eij |,maxNΓ

h

|eij |)+ C max

N Ih

∣∣∆heij∣∣.(1.13)

对某 (xi, yj) ∈ NBh , 不妨设 (xi+1, yj) 6∈ Ω, 如图1.2,

|eij | =∣∣∣∣`heij + (xi − xi)ei−1,j + hei,j

h+ xi − xi

∣∣∣∣≤ |`heij |+

1

2|ei−1,j |+ |ei,j | ,

maxNB

h

|eij | ≤ maxNB

h

|`heij |+1

2maxN I

h

|eij |+ maxNΓ

h

|eij |.(1.14)

由上式及(1.13)即得证明.

定理 1.7. 设 u(x, y) 是(1.1)的解, uij 是差分格式(1.12)的解. 则

|uij − u(xi, yj)| ≤ Ch2 ‖u‖C4 ∀(xi, yj) ∈ Ω.

证明: 略.

1.2 三角网上的差分方法——有限体积方法

三角网上的有限体积方法(finite volume method)从微分方程的积分守恒形式出发构造数值格式, 容易处理复杂平面区域和各类边界条件, 可以自然地保持物理量守恒, 在流体计算中有广泛应用. 先考虑带 Dirichlet 边界条件的 Poisson 方程:

−∆u = f in Ω, u = g on Γ.(1.15)

假设 Ω 是多边形区域, 否则可用边数足够多的多边形近似代替. 我们只介绍离散方法, 对无穷模误差估计感兴趣的同学可以自己仿照上一节推导.

1.2.1 三角剖分

将 Ω分割成若干个小三角形(如图1.3), 所组成集合记为Mh. 记 h为这些小三角形的最大直径. 我们称 Mh 是 Ω 的一个三角剖分 (triangula-tion), 如果Mh 满足:

(i) Ω =⋃

K∈MhK.

Page 16: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

10 第一章 有限差分法

(ii) 任意 Mh 中的两个小三角形或者不相交, 或者交于一条公共边, 或者交于一个公共顶点.

Mh 中的小三角形称为单元, 三角形单元的顶点称为节点.

图 1.3: 三角剖分.

1.2.2 积分守恒形式

在任意闭子区域 V ⊂ Ω 上对 Poisson 方程积分, 并利用 Green 公式得:

−∫∂V

∂u

∂nds =

∫∫V

f dxdy,(1.16)

其中 n 为 V 的边界的单位外法向量. 称 V 为控制体积(control volume).

1.2.3 单元中心式有限体积方法

假设Mh 中的每个单元 K 是锐角三角形. 在(1.16)中取控制体积 V =

K 得,

−∑e⊂∂K

∫e

∂u

∂nds =

∫∫K

f dxdy, ∀K ∈Mh.(1.17)

其中 e 为单元 K 的边. 下面考虑左边线积分的近似. 记 QK 为 K 的外心,Me 为 e 的中点. 如果 e ⊂ Ω, 记另一个以 e 为边的单元为 Ke. 显然, 如果e ⊂ Ω, 则线段 QKQKe

与边 e 垂直, 如果 e ⊂ ∂Ω, 则线段 QKMe 与边 e 垂直, 如图1.4. 若 e ⊂ Ω, 则

Page 17: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

1.2 三角网上的差分方法——有限体积方法 11

e

MeQK QKe

eMe

QK

图 1.4: 单元 K 和边 e.

∫e

∂u

∂nds ≈ u(QKe

)− u(QK)

|QKQKe|

|e|.

若 e ⊂ Γ, 则 ∫e

∂u

∂nds ≈ u(Me)− u(QK)

|MeQK ||e|

其中 Me 为 e 的中点, u(Me) = g(Me).记 UK 为 u(QK) 的近似, 定义算子

`eU =

UKe− UK

|QKQKe||e|, e ⊂ Ω,

g(Me)− UK

|MeQK ||e|, e ⊂ Γ.

则得如下差分格式:

−∑e⊂∂K

`eU = f(CK)|K|, ∀K ∈Mh,(1.18)

其中 CK 为 K 的重心坐标.

1.2.4 节点中心式有限体积法——有限体积元方法

记 N Ih 为 Ω 内部节点的集合, NB

h 为边界节点的集合, Nh = N Ih ∪ NB

h

为所有节点的集合. 先引入对偶剖分的概念. 对于任一节点 P ∈ Nh, 考虑所有以它为顶点的三角形单元和以它为端点的三角形的边, 连接每条边的中点

Page 18: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

12 第一章 有限差分法

和含有此边的三角形单元的重心, 从而得到围绕该节点的小多边形区域, 称为对偶单元, 记为 K∗

P(如图1.5). 所有对偶单元的全体构成区域 Ω 的一个新的剖分, 称为Mh 的对偶剖分.

P

P

图 1.5: 对偶单元 K∗P , 左图 P ∈ N I

h , 右图 P ∈ NBh .

对任意 P ∈ Nh, 在(1.16)中取控制体积 V = K∗P 得,

−∫∂K∗

P

∂u

∂nds =

∫∫K∗

P

f dxdy.(1.19)

下面我们用连续的分片线性函数来逼近精确解 u. 引入逼近空间

(1.20) Vh :=vh ∈ C(Ω) : vh|K 是线性函数,∀K ∈Mh.

显然, Vh 中的任意函数 vh 由其在各个节点的值唯一确定. 对 P ∈ N I

h ,将(1.19)中的 u 换为 uh, 即得线性有限体积元方法:求 uh ∈ Vh 使得

−∫∂K∗

P

∂uh∂n

ds =∫∫

K∗P

f dxdy, ∀P ∈ N Ih ,(1.21)

uh(P ) = g(P ), ∀P ∈ NBh .(1.22)

1.2.5 其它边界条件

以 Robin 边界条件为例:

∂u

∂n+ αu = g, (x, y) ∈ Γ.(1.23)

Page 19: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

1.3 作业 13

先考虑单元中心式有限体积法. 只需对边 e ⊂ Γ 的情形, 修改算子 `eU

的定义, 即考虑∫e

∂u∂n的近似计算. 我们有

∂u

∂n(Me) = −α(Me)u(Me) + g(Me) ≈

u(Me)− u(QK)

|MeQK |.

所以

u(Me) ≈u(QK) + |MeQK | g(Me)

1 + α(Me) |MeQK |.

从而

∂u

∂n(Me) ≈ −α(Me)

u(QK) + |MeQK | g(Me)

1 + α(Me) |MeQK |+ g(Me)

=g(Me)− α(Me)u(QK)

1 + α(Me) |MeQK |.

故只需在边 e ⊂ Γ 时, 将算子 `eU 的定义按如下修改即可:

`eU =g(Me)− α(Me)u(QK)

1 + α(Me) |MeQK ||e|

有限体积差分法仍按 (1.18)来定义.下面考虑有限体积元方法. 只需再对边界节点 P ∈ NB

h 补充有限体积元方程. 将线积分中位于 Γ 的部分按边界条件(1.23)代入即可. 此时有限体积元法为:求 uh ∈ Vh 使得,

−∫∂K∗

P

∂uh∂n

ds =∫∫

K∗P

f dxdy, ∀P ∈ N Ih ,(1.24)

−∫∂K∗

P \Γ

∂uh∂n

ds+∫∂K∗

P∩Γ

αuh ds(1.25)

=

∫∫K∗

P

f dxdy +∫∂K∗

P∩Γ

g ds, ∀P ∈ NBh .

最后, 我们指出两种有限体积法不止局限于三角剖分, 还可以应用到其他类型的网格, 比如四边形网格等等.

1.3 作业

1. 给出问题(1.7)–(1.8)的离散格式(1.3), (1.9)和(1.10)误差估计.(提示:

对下面算子证明离散的极值原理

Lhuij :=

−∆huij (xi, yj) ∈ Ω4u0,j − 2u1,j − u0,j−1 − u0,j+1

h(xi, yj) ∈ Γ0.

)

Page 20: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

14 第一章 有限差分法

2. 证明定理1.7.3. 对正三角形剖分(即 Mh 的每个单元都是全等的正三角形), 推导

区域内部一单元的有限体积方法(1.18)的具体公式, 及区域内部某节点处的有限体积元方法(1.21)的具体公式.

4. 考虑 Poisson 方程 −∆u = 1, x ∈ Ω, u|∂Ω = 0, 其中 Ω 是单位正方形.给定整数 n ≥ 2. 先将 Ω 分成 n2 个全等的小正方形, 再连接每个小正方形的西南至东北的对角线, 得到三角剖分Mh (称为标准三角剖分). 推导Mh

上的有限体积元方法的离散方程组.5. 对问题(1.1), 分别给出正方形网格剖分上的单元中心式有限体积方

法和有限体积元方法并推导相应的离散方程组.

Page 21: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第二章 椭圆问题变分原理

本章介绍椭圆问题的变分形式, 是后面将介绍的数值方法的基础. 为了更准确的描述变分公式, 我们先介绍 Sobolev 空间的概念和性质.

2.1 Sobolev 空间Ω ⊂ Rd, d = 1, 2, 3 是开集.

2.1.1 弱导数

记 C∞0 (Ω) 为是 Ω 中的紧支集无穷次可微函数的集合. 定义 L1

loc(Ω)局部可积函数的集合:

L1loc(Ω) =

f : f |K ∈ L1(K) ∀ 紧集K ⊂ Ω

.

定义 2.1. 假设 f ∈ L1loc(Ω), 1 ≤ i ≤ d. 如果有 gi ∈ L1

loc(Ω) 满足∫Ω

giϕdx = −∫Ω

f∂ϕ

∂xidx ∀ϕ ∈ C∞

0 (Ω).

那么称 gi 为 f 关于 xi 在 Ω 上的弱偏导数, 并记为

∂xif =

∂f

∂xi= gi, i = 1, 2, · · · , d.

类似地, 对多重指标 α = (α1, α2, · · · , αd) ∈ Nd, 记 |α| = α1 + α2 + · · ·+ αd,可如下定义 ∂αf ∈ L1

loc(Ω):∫Ω

∂αfϕ dx = (−1)|α|∫Ω

f∂αϕdx ∀ϕ ∈ C∞0 (Ω),

其中 ∂α = ∂α1x1∂α2x2· · · ∂αd

xd.

引理 2.2 (变分学基本引理). 假设 f ∈ L1loc(Ω) 满足

∫Ωfϕ dx = 0,∀ϕ ∈

C∞0 (Ω), 则 f

a.e.= 0.

15

Page 22: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

16 第二章 椭圆问题变分原理

例 2.3. 令 d = 1,Ω = (−1, 1), f(x) = 1− |x|. f 的弱导数为

g =

1, x ≤ 0,

−1, x > 0.

利用引理2.2可以证明 g 的弱导数不存在, 这里略去推导.

2.1.2 Sobolev 空间的定义定义 2.4 (Sobolev 空间). 对非负整数 k 和实数 p ≥ 1, 定义

W k,p(Ω) = u ∈ Lp(Ω) : ∂αu ∈ Lp(Ω) ∀|α| ≤ k.

在下面范数下是 Banach 空间:

‖u‖Wk,p(Ω) =

( ∑

|α|≤k

|α|!α1!···αn!

‖∂αu‖pLp(Ω)

)1/p, 1 ≤ p < +∞;

max|α|≤k

‖∂αu‖L∞(Ω), p = +∞.

后面还会用到如下半范数的定义:

|u|Wk,p(Ω) =

( ∑

|α|=k

|α|!α1!···αn!

‖∂αu‖pLp(Ω)

)1/p, 1 ≤ p < +∞;

max|α|=k

‖∂αu‖L∞(Ω), p = +∞.

记 W k,p0 (Ω)为 C∞

0 (Ω) 在 W k,p(Ω) 中的闭包. 记

Hk(Ω) =W k,2(Ω), Hk0 (Ω) =W k,2

0 (Ω).

Hk(Ω) 在下面内积下是 Hilbert 空间:

(u, v)k,Ω =∑|α|≤k

∫Ω

∂αu∂αv dx.

例 2.5.

(1) 令 Ω = (0, 1), 考虑函数 u = xα. 易知:当 α > − 12时, u ∈ L2(Ω);当

α > 12或 α = 0 时, u ∈ H1(Ω);当 α > k − 1

2或 α = 0, 1, · · · , k − 1

时, u ∈ Hk(Ω).

(2) 令 Ω = x ∈ R2 : |x| < 1/2. 考虑函数 f(x) = ln∣∣ ln |x|∣∣. 则

f ∈ H1(Ω), 但 f 6∈ L∞(Ω). 此例说明, 在二维情形下, H1(Ω) 中的函数可能不连续甚至无界.

Page 23: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.1 SOBOLEV 空间 17

2.1.3 磨光

先介绍 Sobolev 空间中函数的磨光. 设 ρ ∈ C∞0 (Rd) 满足

(2.1) ρ(x) ≥ 0,

∫Rd

ρ(x)dx = 1, supp(ρ) ⊂ x : |x| ≤ 1 .

例如

(2.2) ρ(x) =

Ce1

|x|2−1 if |x| < 1,

0 if |x| ≥ 1,

其中常数 C 使得∫Rd ρ(x)dx = 1. 对 ε > 0, 函数 ρε(x) = ε−dρ(x/ε) ∈

C∞0 (Rd) 且 supp(ρε) ⊂ x : |x| ≤ ε. 称 ρε 为磨光核(mollifier)并称卷积

(2.3) uε(x) = (ρε ∗ u)(x) =∫Rd

ρε(x− y)u(y)dy

为 u 的磨光函数(正则化, regularization).

引理 2.6.

(i)如果 u ∈ L1loc(Rd), 则 ∀ε > 0, uε ∈ C∞(Rd) 且对任意多重指标 α, 有

∂α(ρε ∗ u) = (∂αρε) ∗ u;

(ii)如果 u ∈ Lp(Rd), 1 ≤ p < ∞, 则 uε ∈ Lp(Rd), ‖uε‖Lp(Rd) ≤ ‖u‖Lp(Rd) ,

且 limε→0 ‖uε − u‖Lp(Rd) = 0.

引理 2.7. 设 Ω 是一个区域(即连通的开集), u ∈W 1,p(Ω), 1 ≤ p ≤ ∞, 且∇u = 0 a.e. 于 Ω, 则 u 在 Ω 上是常数.

证明: 设K := B(x, r) ⊂ Ω是任一球,取 ε > 0足够小使得 B(x, r+ε) ⊂ Ω.将 u 于 Ω 外做零延拓, 仍记为 u, 令 uε := ρε ∗ u. 显然, ∇ρε(x, ·)|Ω ∈C∞

0 (Ω)d,∀x ∈ K, 故由弱偏导数的定义知, 在 K 中 ∇uε = (∇ρε) ∗ u = 0.既然 uε 是光滑的, uε 在 K 上是常数. 另外由引理2.6, uε → u于 L1(K). 故u 在 K 上是常数. 由 Ω 的连通性, 得证.

2.1.4 Lipschitz 边界的区域

为了进一步介绍 Solobev 空间的性质, 我们对区域边界的光滑性做进一步的要求, 引入 Lipschitz 边界的定义.

定义 2.8 (Lipschitz 边界). 我们称区域 Ω 的边界 Γ 是 Lipschitz 的, 如果对每一点 P ∈ Γ, 存在一个以 P 为坐标原点的正交坐标系 (ξ1, · · · , ξd) 和一个

Page 24: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

18 第二章 椭圆问题变分原理

Lipschitz 连续函数 φ(ξ1, · · · , ξd−1), 使得对某个 r > 0 有

Ω ∩B(r) = ξ ∈ B(r) : ξd < φ(ξ1, · · · , ξd−1)Γ ∩B(r) = ξ ∈ B(r) : ξd = φ(ξ1, · · · , ξd−1)

其中 B(r) = ξ : |ξ| < r .

2.1.5 稠密性定理

定理 2.9 (稠密性定理). 设 k ≥ 0 及 1 ≤ p <∞.

(i) 若 Ω ⊂ Rd 是开集, 则 C∞(Ω) ∩W k,p(Ω) 在 W k,p(Ω) 中稠密;

(ii) 若 Ω ⊂ Rd 的边界是 Lipschitz 的, 则 C∞(Ω) := ϕ|Ω : ϕ ∈ C∞0 (Rd)

在 W k,p(Ω) 中稠密.

2.1.6 延拓定理

定理 2.10 (延拓定理). 设 Ω ⊂ Rd 是带 Lipschitz 边界的有界区域, k ≥0, 1 ≤ p ≤ ∞, 则存在连续的线性延拓算子 E : W k,p(Ω) 7→ W k,p(Rd) 使得Eu = u 于 Ω.

2.1.7 嵌入定理

设 X ⊂ Y 是两个 Banach 空间, 其范数分别记为 ‖·‖X , ‖·‖Y . 我们称X 连续嵌入到 Y,记为 X → Y , 如果 ‖v‖Y ≤ C ‖v‖X ,∀v ∈ X. 我们称 X

紧嵌入到 Y,记为 X →→ Y , 如果 X 中的任意有界序列有在 Y 中收敛的子序列. 显然 X → Y 时, 恒等算子 idX 7→Y 是连续的; X →→ Y 时, 恒等算子 idX 7→Y 是紧算子; 并且 X →→ Y 蕴含 X → Y .

定理 2.11 (Sobolev 嵌入定理). 假设 Ω ⊂ Rd 是带 Lipschitz 边界的有界区域, k ≥ 0, 1 ≤ p ≤ ∞. 则

(i) 如果 k − d/p < 0, 则

W k,p(Ω) → Lq(Ω), 其中 q =dp

d− kp,

W k,p(Ω) →→ Lq′(Ω), ∀1 ≤ q′ < q.

(ii) 如果 k − d/p = 0, 则

W k,p(Ω) →→ Lq(Ω), ∀1 ≤ q <∞; W d,1(Ω) → L∞(Ω).

Page 25: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.1 SOBOLEV 空间 19

(iii) 如果 0 < α := k − d/p < 1, 则

W k,p(Ω) → C0,α(Ω), W k,p(Ω) →→ C0,α′(Ω), ∀0 ≤ α′ < α.

注 2.12. 若 k − dp≥ 1, 则可以对函数本身及导数应用上面嵌入定理, 得到相

应结果.

例 2.13. 设 Ω ⊂ Rd 是有界的 Lipschitz 区域.

(i) H1(Ω) →

C0,1/2(Ω), d = 1;

Lq(Ω), 1 ≤ q <∞, d = 2;

L6(Ω), d = 3.

(ii)W 1,p(Ω) →→ Lp(Ω).

定理 2.14 (Poincaré–Friedrichs 不等式). 假设 Ω ⊂ Rd 是带 Lipschitz 边界的有界区域, 1 ≤ p ≤ ∞. 则

‖u‖Lp(Ω) ≤ C‖∇u‖Lp(Ω) ∀u ∈W 1,p0 (Ω), (Friedrichs)

‖u− uΩ‖Lp(Ω) ≤ C‖∇u‖Lp(Ω) ∀u ∈W 1,p(Ω), (Poincaré)

其中 uΩ = 1|Ω|

∫Ωu(x)dx.

证明: 仅证第一个不等式. 用反证法. 假设该不等式不成立, 则存在序列un ⊂W 1,p

0 (Ω) 使得

‖un‖Lp(Ω) = 1, ‖∇un‖Lp(Ω) ≤1

n.

由 W 1,p(Ω) →→ Lp(Ω), 知存在子序列(仍记为)un 及某函数 u ∈ Lp(Ω)

使得 un → u 于 Lp(Ω). 由弱导数的定义及在 Lp(Ω)d 中 ∇un → 0 可得,∇u = 0, 从而, 由引理 2.7知 u 为常数, 再由 W 1,p

0 (Ω) 的定义可得 u = 0. 这与 ‖u‖Lp(Ω) = 1 矛盾.

2.1.8 迹定理

讨论 Sobolev 空间中函数在区域边界值的定义. 先考虑一个简单情形:Ω ⊂ R2 是单位圆盘, 即

Ω =x : x21 + x22 < 1

= (r, θ) : 0 ≤ r < 1, 0 ≤ θ < 2π .

设 u ∈ C1(Ω), 考虑其在 ∂Ω 上的限制:

u(1, θ)2 =

∫ 1

0

∂r

(r2u(r, θ)2

)dr =

∫ 1

0

(2ru2 + 2r2uur

)dr

≤∫ 1

0

(2ru2 + 2r2 |u| |∇u|

)dr.

Page 26: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

20 第二章 椭圆问题变分原理

从而

‖u‖2L2(∂Ω) =

∫ 2π

0

u(1, θ)2dθ ≤∫ 2π

0

∫ 1

0

2r(u2 + |u| |∇u|

)drdθ

=2

∫Ω

(u2 + |u| |∇u|

)dx ≤ 2 ‖u‖2L2(Ω) + 2 ‖u‖L2(Ω) ‖∇u‖L2(Ω)

=2 ‖u‖L2(Ω)

(‖u‖L2(Ω) + ‖∇u‖L2(Ω)

)≤2 ‖u‖L2(Ω)

√2(‖u‖2L2(Ω) + ‖∇u‖

2L2(Ω)

) 12

=√8 ‖u‖L2(Ω) ‖u‖H1(Ω) .

也就是, 当 u ∈ C1(Ω) 时,

(2.4) ‖u‖L2(∂Ω) ≤4√8 ‖u‖

12

L2(Ω) ‖u‖12

H1(Ω) .

下面证明 H1(Ω) 中的函数可以定义边界值并满足上面不等式.

引理 2.15. 假设 Ω ⊂ R2 是单位圆盘. 则存在线性算子 γ0 : H1(Ω) 7→L2(∂Ω) 满足:

‖γ0u‖L2(∂Ω) ≤4√8 ‖u‖

12

L2(Ω) ‖u‖12

H1(Ω) , ∀u ∈ H1(Ω).(2.5)

并且, 若 u ∈ C1(Ω), 则 γ0u = u|∂Ω.

证明: 由稠密性定理2.9,存在 uj ∈ C1(Ω)使得 ‖u− uj‖H1(Ω) → 0, j →∞.由(2.4),

‖uj − uk‖L2(∂Ω) ≤4√8 ‖uj − uk‖H1(Ω) .

所以, uj |∂Ω 是 L2(∂Ω) 中的 Cauchy 序列, 从而收敛, 定义其极限为 γ0u, 即

γ0u = limj→∞

uj .

先证明此定义不依赖于序列 uj 的选取. 假设有另一个序列 vj ∈ C1(Ω) 满足 limj→∞ ‖u− vj‖H1(Ω) = 0. 则由(2.4),

‖uj − vj‖L2(∂Ω) ≤4√8 ‖uj − vj‖H1(Ω) → 0 (当 j →∞ 时).

即 γ0u 是唯一的. 下面证明(2.5):

‖γ0u‖L2(∂Ω) = limj→∞

‖uj‖L2(∂Ω) ≤ limj→∞

4√8 ‖uj‖

12

L2(Ω) ‖uj‖12

H1(Ω)

=4√8 ‖u‖

12

L2(Ω) ‖u‖12

H1(Ω) .

Page 27: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.2 变分公式 21

更一般地, 我们有下面结论.

定理 2.16. 设 Ω 是带 Lipschitz 边界的有界区域, 1 ≤ p ≤ ∞, 则存在有界线性算子 γ0 :W

1,p(Ω) 7→ Lp(∂Ω) 及常数 C > 0 使得

‖γ0u‖Lp(∂Ω) ≤ C ‖u‖1−1/pLp(Ω) ‖u‖

1/pW 1,p(Ω) , ∀u ∈W 1,p(Ω).

并且, 若 u ∈ C1(Ω), 则 γ0u = u|∂Ω.

注 2.17.(i) 当 p > 1 时, γ0 并不是到 Lp(∂Ω) 的满映射. 特别地, 当 p = 2 时, 记其值域为如下 ∂Ω 上的赋范空间:

H12 (∂Ω) :=

v = γ0u : u ∈ H1(Ω)

,(2.6)

‖v‖H

12 (∂Ω)

:= infv=γ0u,u∈H1(Ω)

‖u‖H1(Ω) .(2.7)

(ii) 由于 γ0 : H1(Ω) 7→ H12 (∂Ω) 是连续的满射, 由开映射定理知 γ0 有连续

的右逆, 即 ∀u ∈ H 12 (∂Ω), ∃w ∈ H1(Ω), 使得

γ0w = u, ‖w‖H1(Ω) ≤ C ‖u‖H 12 (∂Ω)

.

(iii) 在定理2.16的条件下, 我们有:

W 1,p0 (Ω) =

v ∈W 1,p(Ω) : γ0v = 0 in Lp(∂Ω)

.(2.8)

(iv) γ0u 可以理解为 u 在 ∂Ω 上的值. 以后常常省略 γ0 将 γ0u 简记为 u.

定理 2.18 (Green 公式). 设 Ω 是带 Lipschitz 边界的有界区域, 1 ≤ p, q ≤∞, 1

p+ 1

q= 1, a(x) ∈W 1,∞(Ω), u ∈W 2,p(Ω), v ∈W 1,q(Ω). 则

−∫Ω

∇ · (a∇u)v =

∫Ω

a∇u · ∇v −∫∂Ω

a∇u · nv.

其中 n 是 ∂Ω 的单位外法向.

证明: 由稠密性论证, 只需对 C∞(Ω) 中的函数证明格林公式成立. 这可由恒等式 ∇ · (a∇u)v + a∇u · ∇v = ∇ · ((a∇u)v) 及 Gauss 公式得到.

2.2 变分公式

2.2.1 变分问题——弱解的定义

考虑下面椭圆边值问题:

−∇ · (a(x)∇u) + c(x)u = f x ∈ Ω,(2.9)

u = 0 x ∈ ∂Ω,(2.10)

Page 28: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

22 第二章 椭圆问题变分原理

Ω ⊂ Rd 是开区域. 假设 a(x) ≥ a0 > 0, a, c ∈ L∞(Ω), f ∈ L2(Ω).先假设解 u 是光滑的, 用任一函数 ϕ ∈ C∞

0 (Ω) 乘(2.9)两边并在 Ω 上积分, 利用 Green 公式得:

(2.11)∫Ω

(a∇u · ∇ϕ+ cuϕ) dx =

∫Ω

fϕ dx.

由稠密性论证方法可知(2.11)对任何 ϕ ∈ H10 (Ω) 也成立, 并且 u ∈ H1

0 (Ω) 就使得所得上式有意义了. 定义双线性形式 a : H1(Ω)×H1(Ω)→ R:

(2.12) a(u, ϕ) =

∫Ω

(a∇u · ∇ϕ+ cuϕ) dx.

我们称 u ∈ H10 (Ω) 是边值问题(2.9)–(2.10)的弱解, 如果

a(u, ϕ) = (f, ϕ) ∀ϕ ∈ H10 (Ω),

其中 (·, ·) 为 L2(Ω) 中的内积.

定义 2.19. H−1(Ω) 为 H10 (Ω) 的对偶空间. 并记 〈·, ·〉 为 H−1(Ω) 和 H1

0 (Ω)

之间的对偶对.

例如, 给定 fi ∈ L2(Ω), i = 0, 1, · · · , d, 如下定义的泛函 f ∈ H−1(Ω):

〈f, ϕ〉 =∫Ω

(f0ϕ+

d∑i=1

fi∂ϕ

∂xi

)dx, ∀ϕ ∈ H1

0 (Ω).

如果问题(2.9)的右端 f ∈ H−1(Ω),我们如下定义其弱解:求 u ∈ H10 (Ω)

使得

(2.13) a(u, ϕ) = 〈f, ϕ〉 ∀ϕ ∈ H10 (Ω).

上式也称为(2.9)–(2.10)的弱形式或变分形式.上面的推导说明, (2.9)–(2.10)的解是变分问题(2.13)的解. 事实上反过

来, 变分问题的解, 在一定条件下也是问题(2.9)–(2.10)的解. 即我们有下面定理

定理 2.20. 假设 a ∈ C1(Ω), c ∈ C(Ω), f ∈ C(Ω), 且 u ∈ H10 (Ω) ∩ C2(Ω).

则 u 为椭圆问题(2.9)–(2.10)的解的充要条件是 u 为变分问题(2.13)的解.

证明: 令 v ∈ H10 (Ω) ∩ C1(Ω). 由分部积分,∫

Ω

fv dx = a(u, v) =

∫Ω

(−∇ · (a∇u)v + cuv

)dx.

Page 29: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.2 变分公式 23

记 w := f +∇ · (a∇u)− cu ∈ C(Ω). 则∫Ω

wv dx = 0 ∀v ∈ H10 (Ω) ∩ C1(Ω).

如果 w 6≡ 0, 则存在小圆盘 B := B(x0, r) ⊂ Ω, 圆心 x0 ∈ Ω, 半径 r > 0, 使得 w(x) 在 B 上保持同号. 取

v(x) =

(r2 − |x− x0|2)2, x ∈ B0, x ∈ Ω \B.

.

则∫ 1

0wv dx 6= 0, 矛盾. 故(2.9)成立.

2.2.2 存在唯一性

引理 2.21 (Lax–Milgram). 设 V 是实 Hilbert 空间, 其范数为 ‖ · ‖, 内积是(·, ·). 假设 a : V × V → R 是一个双线性形式, 且存在常数 α, β > 0 使得

(2.14) |a(u, v)| ≤ β‖u‖‖v‖ ∀u, v ∈ V,

(2.15) a(v, v) ≥ α‖v‖2 ∀ v ∈ V.

设 V ′ 是 V 的对偶空间. 则 ∀f ∈ V ′, 存在唯一的 u ∈ V 使得

(2.16) a(u, v) = 〈f, v〉 ∀ v ∈ V.

证明: 由 Riesz 表现定理, 存在两个有界线性算子 J : V 7→ V 和 K : V ′ 7→V 使得

(Ju, v) = a(u, v) ∀u, v ∈ V,(Kf, v) = 〈f, v〉 ∀v ∈ V, f ∈ V ′.

则(2.16)等价于: 求 u ∈ U 满足

(2.17) Ju = Kf

由(2.15), α ‖v‖2 ≤ a(v, v) = (Jv, v) ≤ ‖Jv‖ ‖v‖, 得

(2.18) ‖Jv‖ ≥ α ‖v‖ ∀v ∈ V,

从而 J 是单射. 下面证明 J 是满射. 由(2.18)及 J 的连续性,知其值域 R(J)

是 V 的闭子集. ∀v ∈ V, v 6= 0, 有 (Jv, v) = a(v, v) > 0, 所以 v 6∈ R(J)⊥, 故R(J)⊥ = 0, 从而 J 是满射. 因此, J 可逆, 推出(2.17)对任何 f ∈ V ′ 都存在唯一解 u ∈ V .

Page 30: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

24 第二章 椭圆问题变分原理

注 2.22. (2.14)称为双线性形式的 a 连续性 (Continuity); (2.15)称为双线性形式的 a 强制性 (Coercivity).

推论 2.23. 假设 Ω 是带 Lipschitz 边界的有界区域, a(x), c(x) ∈ L∞(Ω),a(x) ≥ a0 > 0, c(x) ≥ 0, f ∈ H−1(Ω). 则边值问题(2.9)–(2.10)存在唯一弱解 u ∈ H1

0 (Ω).

证明: 令 V = H10 (Ω). 由 Cauchy 不等式,

a(u, v) ≤max‖a‖L∞(Ω) , ‖c‖L∞(Ω)

×(‖∇u‖L2(Ω) ‖∇v‖L2(Ω) + ‖u‖L2(Ω) ‖v‖L2(Ω)

)从而(2.14)成立. 另外,

a(v, v) ≥ a0 ‖∇v‖2L2(Ω) , ∀v ∈ V,

再由 Friedrichs 不等式知(2.15)成立.

2.2.3 其它边界条件的变分公式

本小节分别考虑非齐次 Dirichlet 边界条件, Neumann 边界条件, 和周期边界条件椭圆问题的变分形式. 关于 Robin 边界条件, 参见作业题 2.先考虑非齐次 Dirichlet 边界条件:

u = g x ∈ ∂Ω,(2.19)

其中 g ∈ H 12 (∂Ω). 类似于(2.13)的推导, 可得问题(2.9)和(2.19)的变分形式:

求 u ∈ H1(Ω), u|∂Ω = g 使得

(2.20) a(u, ϕ) = 〈f, ϕ〉 ∀ϕ ∈ H10 (Ω).

推论 2.24. 设 g ∈ H 12 (∂Ω). 在推论2.23的条件下, 边值问题(2.20)存在唯一

解.

证明: 由注2.17(ii),存在 w ∈ H1(Ω)使得 g = γ0w且 ‖w‖H1(Ω) ≤ C ‖g‖H 12 (∂Ω)

.记 u = u− w, 则问题(2.20)化为: 求 u ∈ H1

0 (Ω) 使得

a(u, ϕ) = 〈F,ϕ〉 := 〈f, ϕ〉 − a(w,ϕ) ∀ϕ ∈ H10 (Ω).(2.21)

易知

|〈F,ϕ〉| ≤ ‖f‖H−1(Ω) ‖ϕ‖H1(Ω) + C ‖w‖H1(Ω) ‖ϕ‖H1(Ω)

≤ ‖f‖H−1(Ω) ‖ϕ‖H1(Ω) + C ‖g‖H

12 (∂Ω)

‖ϕ‖H1(Ω)

从而 F ∈ H−1(Ω). 由推论2.23, 知(2.21)存在唯一解. 证毕.

Page 31: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.2 变分公式 25

然后考虑 Neumann 边界条件:

a∇u · n = g x ∈ ∂Ω,(2.22)

其中 g ∈ L2(∂Ω). 用任一函数 ϕ ∈ H1(Ω) 乘(2.9)两边并在 Ω 上积分, 利用Green 公式得:∫

Ω

fϕ =

∫Ω

(a∇u · ∇ϕ+ cuv

)−∫∂Ω

a∇u · nϕ

将边界条件(2.22)代入上式可得问题(2.9)和(2.22)的变分形式: 求 u ∈ H1(Ω)

使得

(2.23) a(u, ϕ) = 〈f, ϕ〉+∫∂Ω

gϕ ∀ϕ ∈ H1(Ω).

推论 2.25. 设 f ∈ H1(Ω)′, g ∈ L2(∂Ω), 并存在常数 c0 > 0 使得 c ≥ c0. 在推论2.23的条件下, 边值问题(2.23)存在唯一解.

证明: 首先, 由推论2.23的证明易知双线性形式 a 满足连续性和强制性. 其次, 令

〈F,ϕ〉 := 〈f, ϕ〉+∫∂Ω

gϕ,

则由 Cauchy 不等式和迹定理得

|〈F,ϕ〉| ≤ ‖f‖H1(Ω)′ ‖ϕ‖H1(Ω) + C ‖g‖L2(∂Ω) ‖ϕ‖L2(∂Ω)

≤ C(‖f‖H1(Ω)′ + ‖g‖L2(∂Ω)

)‖ϕ‖H1(Ω) ,

从而 F ∈(H1(Ω)

)′. 由 Lax–Milgram 引理得证.

由以上几种边界条件的变分公式可以看出: Dirichlet 边界条件 u = 0

或 u = g 明显地出现在变分公式中, 我们也称其为本质(essential)边界条件. Neumann 边界条件 a∇u · n = g 也称为自然(natural)边界条件, 因为在一定条件下, 变分公式(2.23)自动蕴含了 a∇u · n = g. 易知, Robin 边界条件也是一种自然边界条件.最后我们考虑周期边界条件的椭圆问题:

−∇ · (a(x)∇u) + c(x)u = f x ∈ Rd,(2.24)

u(x) = u(x1 + T1, · · · , xd) = · · · = u(x1, · · · , xd + Td).(2.25)

记区域 Ω = x : 0 < xi < Ti, 1 ≤ i ≤ d 为一个周期. 注意到, 如果 u 是光滑的, 那么 u 的各阶导数也是周期的. 但是, 类似于 H1

0 (Ω) (见(2.8)), 满足

Page 32: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

26 第二章 椭圆问题变分原理

周期边界条件(2.25)的无穷次可微函数空间在 H1(Ω) 中的闭包只保留了函数值的周期性, 为下面的空间:

H1per(Ω) :=

ϕ ∈ H1(Ω) : ϕ|xi=0 = ϕ|xi=Ti

, i = 1, · · · , d.(2.26)

类似于(2.13)的推导, 可得问题(2.9)和(2.25)的变分形式: 求 u ∈ H1per(Ω) 使

(2.27) a(u, ϕ) = 〈f, ϕ〉 ∀ϕ ∈ H1per(Ω).

关于(2.27)的解的存在唯一性, 留作作业. 可以说, 周期边界条件是介于本质边界条件和自然边界条件之间的一种类型.

2.2.4 正则性

定理 2.26. 假设 a(x) ∈ C1(Ω), c ∈ L∞(Ω), f ∈ L2(Ω), ∂Ω 是 C1,1 的或者Ω 是凸多边形 (凸多面体) . (i) 若 u ∈ H1

0 (Ω) 问题(2.9)–(2.10)的弱解. 则u ∈ H2(Ω) 且

‖u‖H2(Ω) ≤ C(‖f‖L2(Ω) + ‖u‖L2(Ω)

).

(ii) 若 u ∈ H1(Ω) 是带 Neumann 边界条件(2.22)的椭圆问题(2.9)的弱解,则 u ∈ H2(Ω) 且

‖u‖H2(Ω) ≤ C(‖f‖L2(Ω) + ‖g‖H 1

2 (∂Ω)+ ‖u‖L2(Ω)

).

2.3 作业

1. 设 Ω ⊂ Rd 是有界的 Lipschitz 区域, f ∈ L2(Ω), 考虑纯 Neumann问题

−4u = f x ∈ Ω,∂u

∂n= 0 x ∈ ∂Ω

如果函数 u ∈ H1(Ω) 满足

(2.28)∫Ω

∇u · ∇v dx =

∫Ω

fv dx ∀ v ∈ H1(Ω).

则称 u 是上面纯 Neumann 问题的弱解. 证明(2.28)存在弱解的充要条件是∫Ωf dx = 0.

2. 设 Ω ⊂ Rd 是有界的 Lipschitz 区域, f ∈ L2(Ω), g ∈ L2(∂Ω), 考虑椭圆边值问题

−∆u+ u = f x ∈ Ω,∂u

∂n+ u = g x ∈ ∂Ω.

Page 33: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

2.3 作业 27

给出变分公式并证明弱解的存在性.3. 在推论2.25的条件下, 讨论边值问题(2.27)的解的存在唯一性.4. 对 k − d

p≥ 1 的情形, 写出 Sobolev 嵌入定理.

5. 证明定理2.14的第二个不等式, 即 Poincaré 不等式.

Page 34: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

28 第二章 椭圆问题变分原理

Page 35: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第三章 有限元方法

3.1 一维的例子

3.1.1 两点边值问题及其变分公式

考虑两点边值问题: 给定函数 f(x), 求 u(x) 使得

(3.1) − u′′ + u = f(x), 0 < x < 1, u(0) = 0, u′(1) = 0.

如果 u 是(3.1)的解, v(x) 充分光滑满足 v(0) = 0, 那么由分部积分得∫ 1

0

(−u′′v + uv)dx = −u′(1)v(1) + u′(0)v(0) +

∫ 1

0

(u′v′ + uv)dx

=

∫ 1

0

fv dx.

定义双线性形式

a(u, v) =

∫ 1

0

(u′v′ + uv)dx,

及空间

V =v ∈ H1((0, 1)) : v(0) = 0

.

则得(3.1)的变分公式: 求 u ∈ V 使得,

(3.2) a(u, v) = (f, v) :=

∫ 1

0

f(x)v(x)dx ∀v ∈ V.

定理 3.1. 假设 f ∈ C([0, 1]) 且 u ∈ C2([0, 1]) 满足(3.2)及 u(0) = 0. 则 u

是(3.1)的解.

证明: 参考定理2.20的证明. 略.

29

Page 36: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

30 第三章 有限元方法

3.1.2 网格

设Mh 是区间 [0, 1] 的一个剖分:

0 = x0 < x1 < x2 < · · · < xn−1 < xn = 1.

点 xi 称为节点. 记 hi = xi − xi−1 为第 i 个小区间 [xi−1, xi] 的长度. 定义 h = max1≤i≤n hi.

3.1.3 有限元空间

我们用Mh 上的连续的分段线性函数逼近 u(x). 引入逼近空间

Vh =v ∈ C([0, 1]) : v(0) = 0,

v|[xi−1,xi] 是线性多项式, i = 1, · · · , n.

(3.3)

显然 Vh ⊂ V.

3.1.4 有限元方法

(3.2)有限元离散化为:

(3.4) 求uh ∈ Vh 使得 a(uh, vh) = (f, vh) ∀vh ∈ Vh.

3.1.5 节点基

对 i = 1, · · · , n, 定义 φi ∈ Vh 满足

φi(xj) = δij =

1, i = j

0, i 6= j(Kronecker delta),

如图 3.1, 有如下表达式:

φi =

x−xi−1

hi, xi−1 ≤ x ≤ xi,

xi+1−xhi+1

, xi < x ≤ xi+1, 1 ≤ i ≤ n− 1.

0, x < xi−1 or x > xi+1,

φn =

x−xn−1

hn, xn−1 ≤ x ≤ 1,

0, x < xn−1.

Page 37: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.1 一维的例子 31

0 x1 x

i−1 x

i x

i+1 1

φi(x)

0 x1 x

i x

n−1 1

φn(x)

图 3.1: 分段线性基函数 φi.

对任一 vh ∈ Vh, 记 vi 为 vh 在节点 xi 的值, 即,

vi = vh(xi), i = 1, 2, · · · , n,

则vh = v1φ1(x) + v2φ2(x) + · · ·+ vnφn(x).

3.1.6 有限元方程

我们有

uh = u1φ1 + u2φ2 + · · ·+ unφn, u1, · · · , un ∈ R,

其中 ui = uh(xi).

在(3.4)中取 vh = φi, i = 1, · · · , n 得关于未知数 u1, u2, · · · , un 的方程组:

a(φ1, φi)u1 + a(φ2, φi)u2 + · · ·+ a(φn, φi)un = (f, φi),

i = 1, · · · , n.(3.5)

kij = a(φj , φi) =

∫ 1

0

(φ′jφ

′i + φjφi)dx, fi = (f, φi),

及K =

(kij)n×n

, F =(fi)n×1

, U =(ui)n×1

,

则(3.5)改写为:

(3.6) KU = F

Page 38: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

32 第三章 有限元方法

这里 K 称为刚度矩阵.显然, 当 xi 和 xj 不相邻时, a(φj , φi) = 0. 所以 K 是稀疏矩阵.下面考虑 a(φj , φi) 的计算.

a(φj , φi) =n∑

k=1

∫ xk

xk−1

(φ′jφ

′i + φjφi)dx

先计算 [xi−1, xi] 上的单元刚度矩阵 Ki = (kilm)2×2:

ki11 :=

∫ xi

xi−1

(φ′i−1φ

′i−1 + φi−1φi−1)dx =

1

hi+hi3,

ki22 :=

∫ xi

xi−1

(φ′iφ

′i + φiφi)dx =

1

hi+hi3,

ki12 = ki21 :=

∫ xi

xi−1

(φ′iφ

′i−1 + φiφi−1)dx = − 1

hi+hi6.

因此

a(φi, φi) =

ki22 + ki+1

11 =1

hi+

1

hi+1

+hi + hi+1

3,

i = 1, · · · , n− 1,

kn22 =1

hn+hn3, i = n,

a(φi, φi−1) = ki12 = −1

hi+hi6, i = 2, · · · , n,

再由(3.5)得

[h1+h2

3+ 1

h1+ 1

h2

]u1 +

(h2

6− 1

h2

)u2 = f1,(

hi

6− 1

hi

)ui−1 +

[hi+hi+1

3+ 1

hi+ 1

hi+1

]ui +

(hi+1

6− 1

hi+1

)ui+1 = fi

i = 2, · · · , n− 1,(hn

6− 1

hn

)un−1 +

[hn

3+ 1

hn

]un = fn.

3.1.7 插值

给定 u ∈ C([0, 1]), 其有限元插值 uI ∈ Vh 定义为

uI =n∑

i=1

u(xi)φi.

Page 39: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.1 一维的例子 33

显然 uI(xi) = u(xi), i = 0, 1, · · · , n, 且

uI(x) =xi − xhi

u(xi−1) +x− xi−1

hiu(xi), x ∈ [xi−1, xi].

记 τi = [xi−1, xi].

定理 3.2. 存在常数 C 与 hi 和 u 无关使得下列估计成立:

‖u′ − u′I‖L2(τi)≤ Chi ‖u′′‖L2(τi)

,(3.7)

‖u− uI‖L2(τi)≤ Ch2i ‖u′′‖L2(τi)

.(3.8)

证明: 仅证(3.7). 首先将(3.7)化为参考单元 [0, 1] 上的不等式. 做变换 x =

(x− xi−1)/hi, 记 e(x) = u(x)− uI(x), e(x) = e(x). 不等式(3.7)等价于∥∥∥∥dedx

∥∥∥∥2L2((0,1))

= hi

∥∥∥∥dedx

∥∥∥∥2L2(τi)

≤ Ch3i ‖u′′‖2

L2(τi)(3.9)

= Ch3i ‖e′′‖2

L2(τi)= C

∥∥∥∥d2e

dx2

∥∥∥∥2L2([0,1])

.

注意到∫ 1

0dedx dx = 0, 由 Poincaré 不等式知上式成立, 证毕.

3.1.8 先验误差估计

记 Ω = (0, 1), 显然

a(u, v) ≤ ‖u‖H1(Ω) ‖v‖H1(Ω) , a(v, v) = ‖v‖2H1(Ω) .

在(3.2)和(3.4)中取 v = vh ∈ Vh 并相减, 得正交性:

(3.10) a(u− uh, vh) = 0 ∀vh ∈ Vh,

即误差 u− uh 与有限元空间 Vh 按 a-内积正交. 因此

‖u− uh‖2H1(Ω) = a(u− uh, u− uh) = a(u− uh, u− vh)

≤ ‖u− uh‖H1(Ω) ‖u− vh‖H1(Ω) ,

‖u− uh‖H1(Ω) ≤ infvh∈Vh

‖u− vh‖H1(Ω) ≤ ‖u− uI‖H1(Ω) .

由定理3.2得如下 H1 误差估计

Page 40: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

34 第三章 有限元方法

定理 3.3.‖u− uh‖H1(Ω) ≤ Ch ‖u

′′‖L2(Ω) .

因为上面的估计依赖于精确解 u, 所以称其为先验误差估计. 下面考虑L2 范数下的误差估计. 引入对偶问题:

−w′′ + w = u− uh, 0 < x < 1, w(0) = 0, w′(1) = 0.

两边乘以 −w′′ 并在 Ω 上积分得:

‖w′′‖2L2(Ω) + ‖w′‖2L2(Ω) = −(u− uh, w

′′) ≤ ‖u− uh‖L2(Ω) ‖w′′‖L2(Ω) .

从而‖w′′‖L2(Ω) ≤ ‖u− uh‖L2(Ω) .

我们有

‖u− uh‖2L2(Ω) =

∫ 1

0

(u− uh)(−w′′ + w)dx

= a(u− uh, w) = a(u− uh, w − wI)

≤ ‖u− uh‖H1(Ω) ‖w − wI‖H1(Ω)

≤ ‖u− uh‖H1(Ω)Ch ‖w′′‖L2(Ω)

≤ Ch ‖u− uh‖H1(Ω) ‖u− uh‖L2(Ω) ,

因此

‖u− uh‖L2(Ω) ≤ Ch ‖u− uh‖H1(Ω) .

由定理3.3得如下 L2 误差估计.

定理 3.4.‖u− uh‖L2(Ω) ≤ Ch

2 ‖u′′‖L2(Ω) .

3.2 Galerkin 方法3.2.1 抽象框架

设 V 是 Hilbert 空间, a 是 V 上的双线性形式, f ∈ V ′. 考虑变分问题:求 u ∈ V 满足

(3.11) a(u, v) = 〈f, v〉 ∀ v ∈ V.

Page 41: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.2 GALERKIN 方法 35

设 Vh ⊂ V 是有限维子空间, h代表离散化参数. 则求解变分问题(3.11)的Galerkin 方法为:求 uh ∈ Vh 使得

(3.12) a(uh, vh) = (f, vh) ∀ vh ∈ Vh.

为了求解(3.12), 取 Vh 的一组基 φ1, · · · , φN, 则(3.12)等价于

a(uh, φi) = 〈f, φi〉, i = 1, · · · , N.

将 uh 按基函数展开: uh =∑N

j=1 zjφj , 可得线性方程组

N∑j=1

a(φj , φi)zj = (f, φi), i = 1, · · · , N,

其矩阵形式为

Az = b,

其中 Aij = a(φj , φi), bi = (f, φi). A 称为刚度矩阵.设 a 满足连续性和强制性, 即存在常数 α, β > 0 使得

(3.13) |a(u, v)| ≤ β‖u‖V ‖v‖V ∀u, v ∈ V,

(3.14) a(v, v) ≥ α‖v‖2V ∀ v ∈ V.

由 Lax–Milgram 引理, (3.11)和(3.12)都存在唯一解.

引理 3.5 (Céa). 假设双线性形式 a(·, ·) 满足(3.13)和(3.14). 设 u 和 uh 分别是变分问题(3.11)及其 Galerkin 离散(3.12)的解. 则成立如下误差估计:

(3.15) ‖u− uh‖V ≤β

αinf

vh∈Vh

‖u− vh‖V .

证明: 既然 Vh ⊂ V, 由 u 和 uh 的定义得,

a(u, vh) = 〈f, vh〉 ∀ vh ∈ Vh,

a(uh, vh) = 〈f, vh〉 ∀ vh ∈ Vh.

相减得 Galerkin 正交性

(3.16) a(u− uh, vh) = 0 ∀ vh ∈ Vh,

Page 42: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

36 第三章 有限元方法

从而

α‖u− uh‖2V ≤ a(u− uh, u− uh) (强制性)= a(u− uh, u− vh) + a(u− uh, vh − uh)= a(u− uh, u− vh) (正交性)≤ β‖u− uh‖V ‖u− vh‖V . (连续性)

得证.

Céa 引理指出 Galerkin 方法的解的误差不超过近似空间 Vh 中的最佳逼近的误差的某一常数倍. 所以应用 Galerkin 方法的关键是如何构造近似空间 Vh 使得其中的函数能够很好的逼近精确解.

如果取 Vh 为 Ω 上的有限维的多项式函数空间, 则得谱方法. 优点是对光滑解收敛很快, 缺点是不易处理复杂区域和边界条件.如果取 Vh 为 Ω 上的有限维的分片多项式函数空间, 则得有限元方法.

可以灵活地处理复杂区域和边界条件. 下一节将介绍有限元空间的构造.

3.2.2 Petrov-Galerkin 方法

设 Vh 和 Wh 是 V 的两个子空间, 二者不必相同但维数相等. Galerkin方法还可以推广为 Petrov-Galerkin 方法: 求 uh ∈ Vh 使得

(3.17) a(uh, wh) = 〈f, wh〉 ∀ wh ∈Wh,

其中 Vh 称为试探函数空间 (trial space), Wh 称为检验函数空间 (test space).

引理 3.6. 设 u和 uh分别是变分问题(3.11)及其 Petrov-Galerkin离散(3.17)的解. 假设双线性形式 a(·, ·) 满足(3.13)和如下的离散强制性条件: 存在常数α > 0 及有界线性算子 Πh : Vh 7→Wh 使得

a(vh,Πhvh) ≥ α ‖vh‖2 ∀vh ∈ Vh.(3.18)

则成立如下误差估计:

‖u− uh‖V ≤(1 +

β

α‖Πh‖

)inf

vh∈Vh

‖u− vh‖V .

证明: ∀vh ∈ Vh, 由(3.18)得

α ‖uh − vh‖2V ≤ a(uh − vh,Πh(uh − vh)

)= a

(u− vh,Πh(uh − vh)

)≤ β ‖u− vh‖V ‖Πh(uh − vh)‖V≤ β ‖Πh‖ ‖u− vh‖V ‖uh − vh‖V .

从而两边消掉 ‖uh − vh‖V , 再由三角不等式可得证明.

Page 43: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.2 GALERKIN 方法 37

3.2.3 非协调 Galerkin 方法

假设逼近空间 Vh 不再是 V 的子空间, ah: (Vh + V ) × (Vh + V ) 7→ R是双线性形式, fh ∈ V ′

h. ah 和 fh 分别是 a 和 f 的某种近似. 我们有问题(3.11)的如下非协调 Galerkin 离散: 求 uh ∈ Vh 使得

(3.19) ah(uh, vh) = 〈fh, vh〉 ∀ vh ∈ Vh.

设 ‖·‖h 是 Vh + V 上的某种范数. 下面给出离散误差的刻画:

引理 3.7 (Strang). 设 u 和 uh 分别是变分问题(3.11)及其非协调 Galerkin离散(3.19)的解. 假设双线性形式 ah(·, ·) 如下的连续性和离散强制性条件:存在 α, β > 0 使得

ah(v, w) ≤ β ‖v‖h ‖w‖h ∀v, w ∈ Vh + V,(3.20)ah(vh, vh) ≥ α ‖vh‖2h ∀vh ∈ Vh.(3.21)

则成立如下误差估计:

‖u− uh‖h ≤(1 +

β

α

)inf

vh∈Vh

‖u− vh‖h(3.22)

+1

αsup

0 6=wh∈Vh

|〈fh, wh〉 − ah(u,wh)|‖wh‖h

.

证明: ∀vh ∈ Vh, 由(3.21)和(3.20)得

α ‖uh − vh‖2h ≤ah(uh − vh, uh − vh)=ah(u− vh, uh − vh) + 〈fh, uh − vh〉 − ah(u, uh − vh)≤β ‖u− vh‖h ‖uh − vh‖h

+ ‖uh − vh‖h sup0 6=wh∈Vh

|〈fh, wh〉 − ah(u,wh)|‖wh‖h

.

两边消去 ‖uh − vh‖h 再利用三角不等式可得证明.

我们指出误差估计(3.22)右端第二项称为方法的相容性误差.

3.2.4 应用到二阶椭圆问题

本小节考虑 Galerkin 方法抽象框架对椭圆问题的应用. 设 Ω 是多边形(或多面体)区域. 考虑模型问题:

(3.23) −∇ · (a(x)∇u) + c(x)u = f x ∈ Ω,

Page 44: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

38 第三章 有限元方法

及边界条件

u = 0 x ∈ ∂Ω,

a∇u · n = g x ∈ ∂Ω,

a∇u · n+ αu = g x ∈ ∂Ω.

由 §2.2, 适当的定义空间 V 和双线性形式 a, 在对系数加适当的假设下, 上述三种边界条件的椭圆问题都可以纳入小节3.2.1的抽象框架.下面考虑非齐次 Dirichlet 边界条件:

u = g x ∈ ∂Ω.

由(2.20), 此时变分问题为: 求 u ∈ H1(Ω), u|∂Ω = g 使得

(3.24) a(u, v) = 〈f, v〉 ∀ v ∈ H10 (Ω).

其中双线性形式 a 由(2.12)定义. 取有限维子空间 Vh ⊂ H1(Ω), gh ∈ Vh|∂Ω为 g 的近似, 则相应的 Galerkin 离散为: 求 uh ∈ Vh, uh|∂Ω = gh 使得

(3.25) a(uh, vh) = 〈f, vh〉 ∀ vh ∈ Vh ∩H10 (Ω).

类似于引理3.5的推导, 可得

引理 3.8. 在推论2.23的条件下. 设 u 和 uh 分别是变分问题(3.24)及其Galerkin 离散(3.25)的解. 则成立如下误差估计:

‖u− uh‖H1(Ω) ≤(1 +

β

α

)inf

vh∈Vh

vh|∂Ω=gh

‖u− vh‖H1(Ω).

3.3 有限元空间的构造

有限元空间按如下步骤构造:

• 将区域 Ω 剖分成有限个小区域(单元),

• 在(每个)单元上定义有限元函数(一般取多项式)和自由度,

• 把每个单元上定义的有限元函数拼起来形成有限元空间.

下面先介绍如何定义单元上的有限元函数和自由度.

Page 45: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.3 有限元空间的构造 39

3.3.1 有限元

定义 3.9 (有限元). 如果三元组 (K,P,N ) 满足下列条件, 则称其为有限元.

(i) K ⊂ Rd 为具有分片光滑边界的闭区域, 称为单元;

(ii) P 是 K 上的有限维函数空间, P 中的元素称为空间函数;

(iii) N = N1, · · · , Nn 是对偶空间 P ′ 的一组基底, 称为节点变量或自由度.

定义 3.10 (节点基). 设 (K,P,N ) 是一个有限元. 设 φ1, φ2, · · · , φn 为 P的一组基, 且与 N 对偶, 即 Ni(φj) = δij . 则称其为 P 的节点基.

显然 v ∈ P 有,

v(x) =n∑

i=1

Ni(v)φi(x).

有限元的定义中 (i) 和 (ii) 都是容易理解的, 下面给出 (iii) 的等价条件.

引理 3.11. 设 P 是 K 上的 n 维函数空间. 则 (iii) 与 (iii)′ 等价:

(iii)′ 如果 v ∈ P 满足 Ni(v) = 0, i = 1, 2, · · · , n, 则 v ≡ 0.

证明: 设 ϕ1, ϕ2, · · · , ϕn 是 P 的一组基. 任一 v ∈ P 可以表示为基函数的线性组合:v = y1ϕ1 + y2ϕ2 + · · ·+ ynϕn.显然 (iii)′ 等价于下面方程组只有零解:

y1Ni(ϕ1) + y2Ni(ϕ2) + · · ·+ ynNi(ϕn) = 0, i = 1, 2, · · · , n.

等价于系数矩阵 M =(Ni(ϕj)

)n×n可逆.

(iii)等价于, 对任一 L ∈ P ′, 存在数 z1, · · · , zn 使得 L = z1N1+ z2N2+

· · ·+ znNn, 等价于下面方程组有解:

z1N1(ϕi) + z2N2(ϕi) + · · ·+ znNn(ϕi) = L(ϕi), i = 1, 2, · · · , n,

等价于其系数矩阵 MT 可逆.

3.3.2 三角形上的有限元

设 K 为三角形, 顶点为 Ai (i = 1, 2, 3). 记 Pk 为次数 ≤ k 的多项式集合.

例 3.12 (Lagrange 线性元). 令 P = P1, N = N1, N2, N3, 其中 Ni(v) =

v(Ai). (K,P,N ) 称为 Lagrange 线性元.

Page 46: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

40 第三章 有限元方法

A1 A2

A3

r r

r

A

AAAAA

图 3.2: 线性元.

由引理3.11, 显然自由度 N1, N2, N3 可以唯一确定一个线性函数, 即N 是 P ′ 的基底. 线性元的节点基 λ1(x), λ2(x), λ3(x) 满足

(3.26) λi(x)是线性函数, 且λi(Aj) = δij , i, j = 1, 2, 3.

我们有

v(x) = v(A1)λ1(x) + v(A2)λ2(x) + v(A3)λ3(x), ∀v ∈ P.

为了方便进一步的介绍, 引入重心坐标的定义:∀x ∈ R2, 称 (λ1(x),

λ2(x), λ3(x)) 为点 x 的重心坐标, 其中 λi(x) 满足(3.26). 记 αi = (ai, bi) 为顶点 Ai 的笛卡尔坐标. 在上式中分别取 v = 1 和 v = x, 我们得到如下的笛卡尔坐标与重心坐标之间的关系:

(3.27)3∑

i=1

λi(x) = 1 and x =3∑

i=1

αiλi(x).

显然 K 的重心处的重心坐标为 ( 13, 13, 13).

A1 A2

A3

Ar

A

AAAAA

图 3.3: 三角形单元和重心坐标.

下面考虑重心坐标的几何解释. 设顶点 Ai 的坐标是 (ai, bi), 则单元 K

Page 47: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.3 有限元空间的构造 41

的(有向)面积为

S =1

2

∣∣∣∣∣∣∣∣∣a1 b1 1

a2 b2 1

a3 b3 1

∣∣∣∣∣∣∣∣∣如果 A1, A2, A3 按逆时针排列, 则 S > 0;否则 S < 0. 对单元 K 中任一点 A(x1, x2) (见图 3.3), 连接 A 与 K 的三个顶点, 得到三个三角形. 显然λi(A) 是如下面积比

λ1 =S4AA2A3

S, λ2 =

S4A1AA3

S, λ3 =

S4A1A3A

S.

λ1 =1

2S

∣∣∣∣∣∣∣∣∣x1 x2 1

a2 b2 1

a3 b3 1

∣∣∣∣∣∣∣∣∣ , λ2 =1

2S

∣∣∣∣∣∣∣∣∣a1 b1 1

x1 x2 1

a3 b3 1

∣∣∣∣∣∣∣∣∣ , λ3 =1

2S

∣∣∣∣∣∣∣∣∣a1 b1 1

a2 b2 1

x1 x2 1

∣∣∣∣∣∣∣∣∣ .例 3.13 (Crouzeix-Raviart 元). 如图3.6, 记 K 的三边中点为 Ai (i =

4, 5, 6), 令 P = P1, N = N1, N2, N3, 其中 Ni(v) = v(A3+i).

A1 A2

A3

A6

A5 A4

rr r

A

AAAAA

图 3.4: Crouzeix-Raviart 元.

节点基函数为 φi = 1− 2λi, i = 1, 2, 3.

例 3.14 (Lagrange 二次元). 如图3.5, 记 K 的顶点和三边中点为 Ai (i =

1, 2, · · · , 6), 令 P = P2, N = N1, N2, · · · , N6, 其中 Ni(v) = v(Ai).

下面证明 N1, N2, · · · , N6 能够确定 P2. 设 v ∈ P2 满足 Ni(v) =

0, i = 1, 2, · · · , 6. 由笛卡尔坐标和重心坐标的关系, 知 v 是 λ1, λ2 的二次多项式, 记为 v(λ1, λ2), 由 v(A2) = v(A3) = v(A4) = 0 得 v(0, 1) = v(0, 0) =

v(0, 1/2) = 0. 再注意到 v(0, λ2) 是 λ2 的二次多项式, 可得 v(0, λ2) ≡ 0, 故

Page 48: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

42 第三章 有限元方法

A1 A2

A3

A6

A5 A4

r r

r

rr r

A

AAAAA

图 3.5: 二次元.

v 可分解为 v = λ1v1, 其中 v1 是一次式. 同理, λ2, λ3 也是 v 的因式. 即v = λ1λ2λ3w, w 是多项式. 因为 v 是二次式, 所以 w = 0, 从而 v = 0. 由引理3.11知 N 是 P ′ 的基底.

Lagrange 二次元的节点基函数可表示为:

λi(2λi − 1), i = 1, 2, 3; 4λiλj , i, j = 1, 2, 3, i 6= j.

例 3.15 (Lagrange 三次元). 如图3.6, 记 K 的顶点和三边三等分点及重心为 Ai (i = 1, 2, · · · , 10), 令 P = P3, N = N1, N2, · · · , N10, 其中 Ni(v) =

v(Ai).

A1 A2

A3

A4

A5A6

A7

A8 A9

A10r r

rrrr r

r rr

A

AAAAA

图 3.6: 三次元.

下面证明 N1, N2, · · · , N10 能够确定 P3. 设 v ∈ P3 满足 Ni(v) =

0, i = 1, 2, · · · , 10. 同上例可知 v = λ1λ2λ3w, w 是常数. 由 v(A10) = 0 知w = 0, 所以 v = 0. 由引理3.11知 N 是 P ′ 的基底.

Lagrange 三次元的节点基函数可表示为:

1

2λi(3λi − 1)(3λi − 2), i = 1, 2, 3;

9

2λi(3λi − 1)λj , i, j = 1, 2, 3, i 6= j; 27λ1λ2λ3.

Page 49: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.3 有限元空间的构造 43

例 3.16 (Argyris 元). 取 K 为三角形, P = P5, N 为图3.7中的 21 个自由度的集合. “•” 代表在那点求函数值, 小圆圈代表在其圆心求梯度, 大圆圈代表在其圆心求三个二阶导数, 箭头代表在三边中点求法向导数.

r rA1 A2

A3r

hm hm

hm

@@@

@@@

@@@

?

@@I

A6

A4A5

图 3.7: Argyris 元的自由度

我们说 N = N1, N2, · · · , N21 确定 P5. 假设对某个 v ∈ P5, 有Ni(v) = 0, i = 1, 2, · · · , 21. 我们需要证明 v ≡ 0. 由(3.27), v 是 λ1 和 λ2

的五次多项式, 记为 v(λ1, λ2). 既然边 A2A3 在直线 λ1 = 0 上, v 在 A2A3

上的限制 v(0, λ2) 是 λ2 的五次多项式. 进一步,

v(Aj) =∂v

∂λ2

(Aj) =∂2v

∂λ22

(Aj) = 0, j = 2, 3.

所以

(3.28) v∣∣A2A3

= v(0, λ2) ≡ 0.

由上式得 ∂v

∂−−−→A2A3

(A4) = 0, 所以由法向导数 ∂v∂n1

(A4) = 0 知

∂v

∂λ1

(A4) = 0.

另外,∂v

∂λ1

(Aj) =∂

∂λ2

∂v

∂λ1

(Aj) = 0, j = 2, 3.

注意到 ∂v∂λ1

∣∣A2A3

是四次多项式, 我们有 ∂v∂λ1|A2A3

≡ 0, 即,

(3.29) ∂v

∂λ1

(0, λ2) = 0.

结合(3.28)和(3.29), 得 v = λ21v1. 同理, v = λ2

1λ22λ

23w. 这里 w 是多项式. 所

以 w ≡ 0, 得 v ≡ 0.

Page 50: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

44 第三章 有限元方法

3.3.3 有限元空间

现在我们将每个单元上的有限元函数拼起来形成有限元空间. 先给出如下定理.

定理 3.17. 假设 Ω 是 Rd 中的有界区域, Mh = KjJj=1 是 Ω 的一个剖分,即, ∪Kj = Ω且 K

i ∩Kj = ∅, ∀i 6= j. 假设 ∂Kj (j = 1, · · · , J)是 Lipschitz

的. 设 k ≥ 1, 函数 v 满足 v|Kj∈ Ck(Kj), 1 ≤ j ≤ J . 则 v ∈ Hk(Ω) 的充

要条件是 v ∈ Ck−1(Ω).

证明: 仅证 k = 1 的情形. 对 k > 1, 可以对 k − 1 阶导数应用 k = 1 的结论.先证充分性. 设 v ∈ C(Ω). 定义函数 w:

w|K = ∇(v|K) for ∀K ∈Mh,

其中在单元边界上的值可以定义为任何有限值. 设 ϕ ∈ C∞0 (Ω)d,∫

Ω

w · ϕdx =∑

K∈Mh

∫K

∇v · ϕdx

=∑

K∈Mh

(−∫K

v∇ · ϕdx+

∫∂K

vϕ · nK ds)

= −∫Ω

v∇ · ϕdx,

其中 nK 是 ∂K 的单位外法向. 这说明 w 是 v 的弱梯度, 因此 v ∈ H1(Ω).再证必要性. 设 v ∈ H1(Ω). 设 e 是两个单元 K1 和 K2 的公共边, x

是 e 的一个内点. 则存在以 x 为心的足够小的球 B 使得 B ⊂ K1 ∪K2. 记vi = v|Ki

, i = 1, 2. 则, 由 Green 公式, 对任意 φ ∈ C∞0 (B)d,

rxB

K1

K2

@

@@@@@@

图 3.8: 单元 K1 和 K2 公共边上一点 x 及其邻域 B.

∫Ki

∇v ·φdx = −∫Ki

v∇ ·φdx+

∫∂Ki

vi(φ · nKi)ds, i = 1, 2.

既然 v ∈ H1(Ω), 我们有∫Ω

∇v ·φdx = −∫Ω

v∇ ·φdx.

Page 51: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.4 有限元方程组的形成 45

因此 ∫e

(v1 − v2)φds = 0 ∀ φ ∈ C∞0 (B).

可推出 v1(x) = v2(x). 因此, v 在任何内部边上连续.

下面设Mh 是区域 Ω ⊂ R2 的一个三角剖分.

例 3.18 (协调线性元空间). 设 (K,P,N ) 为例3.12中的 Lagrange 线性元.既然一个分片线性函数连续的充要条件是它在单元顶点上连续, 我们可以引入

Vh = v : v|K ∈ P1, ∀K ∈Mh, v 在单元顶点连续.

由定理3.17, Vh ⊂ H1(Ω), Vh 是一个 H1-协调有限元空间.

例 3.19 (Crouzeix-Raviart 有限元空间). 基于例3.15中的 Crouzeix-Raviart线性元, 定义

Vh = v : v|K ∈ P1, ∀K ∈Mh, v在三角形单元的边的中点连续.

则 Vh ⊂ L2(Ω) 但 Vh 6⊂ H1(Ω). Vh 是一种 H1-非协调有限元空间.

例 3.20. 设 (K,P,N ) 是 Argyris 元, 定义

Vh = v : v|K ∈ P5, ∀ K ∈Mh,

v, v的一阶导数, 及其二阶导数在三角形顶点处连续.v在单元边的中点处法向导数连续. .

可以证明 Vh ⊂ C1(Ω). 因此 Vh ⊂ H2(Ω) 是 H2-协调有限元空间.

3.4 有限元方程组的形成

有限元方法的计算可以分为下面三步:

1. 对 Ω 进行网格剖分;

2. 装配有限元刚度矩阵和右端向量;

3. 求解线性方程组.

这一节我们考虑如何形成刚度矩阵和右端向量 (也称荷载向量 (Load Vec-tor)). 为了简单起见, 考虑如下椭圆问题在三角网上的线性有限元离散: 求u ∈ H1 使得

a(u, v) = (f, v) ∀v ∈ H1(Ω),

Page 52: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

46 第三章 有限元方法

其中双线性形式

a(u, v) =

∫Ω

(a(x)∇u · ∇v + c(x)uv

)dx,

系数 a, c 满足推论 2.25的条件.首先考虑刚度矩阵的形成. 同前面一维模型问题, 我们先形成单元刚度

矩阵, 再装配总刚度矩阵. 设 φjJj=1 线性元空间 Vh 的节点基函数, 满足φi(xj) = δij , i, j = 1, · · · , J, 其中 xjJj=1 是网格Mh 的节点的集合. 则刚度矩阵 A 的元素

(3.30) Aij = a(φj , φi) =∑

K∈Mh

∫K

(a(x)∇φj · ∇φi + c(x)φjφi

)dx.

显然如果节点 xi 和 xj 不相邻, 则 Aij = 0. 即 A = (Aij) 是稀疏矩阵.我们在每个单元 K 上先计算形如

∫K

(a(x)∇φj · ∇φi + c(x)φjφi

)dx 的

积分, 再加起来得到 Aij . 既然在每个单元 K, 节点基函数的限制是某个重心坐标函数 λp, p = 1, 2, · · · d+ 1. 因此只需计算如下的 (d+ 1)× (d+ 1) 矩阵

(3.31) AK : AKpq =

∫K

(a(x)∇λq · ∇λp + c(x)λqλp

)dx.

这里 AK 称为单元刚度矩阵.为了找出单元刚度矩阵和总刚度矩阵之间的关系. 定义 Kp 单元 K 的

第 p个顶点的总体编号. 则 φKp|K = λp, 且总刚度矩阵可以由单元刚度矩阵

装配起来:

(3.32)∑K,p,q

Kp=i,Kq=j

AKpq = Aij .

然后考虑右端荷载向量 F = (Fi) 的形成, 其中

Fi =

∫Ω

fφi =∑

K∈Mh

∫K

f(x)φi dx.(3.33)

同样先计算如下单元荷载向量:

(3.34) FK : FKp =

∫K

f(x)λp dx.

再按以下公式装配总荷载向量 F :

(3.35)∑

K,p,Kp=i

FKp = Fi .

Page 53: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.4 有限元方程组的形成 47

例如, 考虑如图 3.9的三角网中的两个相邻节点 xi 和 xj . 单元 KI, KII,..., KVI 的顶点的标号如图所示. 则

KI2 = KII

1 = KIII3 = KIV

2 = KV1 = KVI

3 = i, KI3 = KVI

2 = j.

由(3.32)得

1

1

1

1

1

1

2

2

2

222

3

33

3

33 xjxi

KIKII

KIII

KIV

KVKVI

图 3.9: Global and local indices.

Aij = AKI

23 +AKVI

32 ,

Aii = AKI

22 +AKII

11 +AKIII

33 +AKIV

22 +AKV

11 +AKVI

33 ,

Fi = FKI

2 + FKII

1 + FKIII

3 + FKIV

2 + FKV

1 + FKVI

3 .

下面考虑积分(3.31)和(3.34)的计算. 对于复杂系数, 只能采用近似计算.我们先通过变换将单元 K 变到一个共同的参考单元, 再在利用参考单元上的数值积分公式近似计算相应的积分. 我们统一考虑计算如下形式的积分:∫

K

ϕ(x)dx.(3.36)

考虑仿射变换 x := (λ1, λ2) 7→ x, 其中 λi 是重心坐标函数. 由(3.27),

x = (α1 − α3)λ1 + (α2 − α3)λ2 + α3.

其中 αi = (ai, bi) 为单元 K 的顶点 Ai, i = 1, 2, 3 的坐标. 此变换将以(1, 0), (0, 1), (0, 0) 为顶点的参考单元 K 变为以 A1, A2, A3 为顶点的单元 K

(如图3.10). 记 ϕ(x) = ϕ(x). 显然∫K

ϕ(x)dx =|K||K|

∫K

ϕ(x)dx.(3.37)

Page 54: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

48 第三章 有限元方法

K K

FK

A1A3

A2

A1A3

A2

@@

@@@

@@

@@

@@@

@@

图 3.10: 单元 K 和参考单元 K.

K 上数值积分公式的一般形式可写为:∫K

ϕ(x)dx ∼ |K|N∑

n=1

wnϕ(Qn),

其中 Qn ∈ K 称为积分节点, wn 称为积分权. 如果上式两边对次数 ≤ k 的多项式都相等, 但对 k + 1 次多项式不相等, 则称其代数精度是 k. 例如重心积分公式:

(3.38)∫K

ϕ(x)dx ∼ |K|ϕ(13,1

3

),

的代数精度是 1. 对于线性有限元方法, 可以证明采用重心数值积分公式不影响有限元解的收敛速度. 对高次元应该采用更高精度的数值积分公式.表 3.1给出了几个 K 上代数精度为 1 到 5 的数值积分公式, 供大家参考.

3.5 MATLAB PDE 工具箱简介MATLAB 偏微分方程(PDE)工具箱是用三角网上的线性有限元方法

求解二维空间区域上的偏微分方程(组)的软件包. 它可以求解平面区域 Ω

上的线性或非线性的椭圆方程

(3.39) −∇ · (c∇u) + au = f,

线性抛物方程

(3.40) d∂u

∂t−∇ · (c∇u) + au = f,

线性双曲方程

(3.41) d∂2u

∂t2−∇ · (c∇u) + au = f,

Page 55: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.5 MATLAB PDE 工具箱简介 49

k N 节点 权

1 1(13, 13

)1

2 3(12, 12

),(12, 0),(0, 1

2

)13

3 4(13, 13

) −916(

15, 15

),(15, 35

),(35, 15

)2548

3 7(13, 13

)920(

12, 12

),(12, 0),(0, 1

2

)215

(1, 0) , (0, 1) , (0, 0) 120

4 6 (ai, ai), (ai, 1− 2ai), (1− 2ai, ai), i = 1, 2

a1 = 0.445948490915965 0.223381589678010

a2 = 0.091576213509771 0.109951743655322

5 7(13, 13

), 9

40

(ai, ai), (ai, 1− 2ai), (1− 2ai, ai), i = 1, 2

a1 =6−

√15

21155−

√15

1200

a2 =6+

√15

21155+

√15

1200

表 3.1: K 上的数值积分公式.

或线性特征值问题

(3.42) −∇ · (c∇u) + au = λdu.

边界条件可以是

hu = r on Γ1,(3.43)

(c∇u) · n + q u = g on Γ2,(3.44)

其中 Γ1 ∪ Γ2 = ∂Ω, Γ1 ∩ Γ2 = ∅. PDE 工具箱偏微分方程组. PDE 工具箱包括:

• 定义 PDE 问题, 即, 定义二维区域, 边界条件, PDE 系数;

• 数值求解 PDE 问题, 即, 生成非结构网格, 离散 PDE 问题, 得到近似解;

• 结果可视化.

有两种途径定义一个 PDE 问题: 图形界面用户(GUI)或 MATLAB编程. GUI 可以通过以下 MATLAB 命令启动

Page 56: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

50 第三章 有限元方法

pdetool通过命令行(或 M 文件)可以完成所有的求解任务, 比如, 生成网格,

离散你的问题, 进行插值, 在三角网上画数值结果, 等等.PDE 工具箱的一个优点是源程序可读, 没有黑匣子函数. 数据结构在帮

助文件中都有说明. 这样你可以学习借鉴已有的程序, 实现自己的算法.

3.5.1 第一个例子——求解单位圆上的 Poisson 方程

考虑 Poisson 方程

−∇ · (∇u) = 1 in Ω,

u = 0 on ∂Ω,(3.45)

其中 Ω 是单位圆. 此问题的精确解为 u = (1− x2 − y2)/4. 可以按以下步骤求解此 PDE (cf. pdedemo1.m):

1. 生成单位圆, 调入几何 M 文件”circleg.m”:

g='circleg';

2. 初始化网格:

[p,e,t]=initmesh(g);pdemesh(p,e,t); axis equal; %画网格.

3. 给定 PDE 系数:

c=1;a=0;f=1;

4. 定义边界条件:

b='circleb1';

5. 求解 PDE 并画解曲面:

u=assempde(b,p,e,t,c,a,f);pdesurf(p,t,u);

6. 计算最大模误差:

Page 57: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.5 MATLAB PDE 工具箱简介 51

exact=(1-p(1,:).^2-p(2,:).^2)'/4;error=max(abs(u-exact));fprintf('Error: %e. Number of nodes: %d\n',...

error,size(p,2));pdesurf(p,t,u-exact); %画误差.

7. 如果误差不够小, 则加密网格:

[p,e,t]=refinemesh(g,p,e,t);

然后重复第 5 步和第 6 步.

3.5.2 网格数据结构

一个三角形网格通过三个二维数组来描述:点数组, 边数组和三角形数组.在点数组(例如, 记为 p)中, 一列代表一个节点, 第一和第二行为网格

节点的 x 和 y 坐标. 点数组的列数即为对应点的编号. 例如, 第 n 列的节点的编号就是 n.

p = [x % 网格点横坐标y]; % 网格点纵坐标

在边数组(例如, 记为 e)中, 一列描述一个(子)区域边界上的三角形的边. 第一和第二行包含的起点和终点的编号, 第三和第四行包含起点和终点的参数值, 第五行是所在的边界段的编号, 第六和第七行包含左右子区域的编号(从起点向终点看). 求解区域的外部区域的编号为 0.

e = [p1;p2 % 起点和终点的编号s1;s2 % 起点和终点的边界参数方程参数en % 边界段的编号l % 左边子区域编号r]; % 右边子区域编号

在三角形数组(例如, 记为 t), 一列对应一个三角形单元. 前三行为三个顶点的编号(按逆时针顺序排列), 第四行为所在子区域的编号.

t = [p1; p2; p3 % 顶点编号sd]; % 子区域编号

显然单元数组 t 的前三行定义了一个单元顶点的局部编号到其全局编号的映射. 这个关系在由单元刚度矩阵合成总刚度矩阵时将发挥重要作用(参见 §3.4).例如, 我们考虑由下面 “分解几何数组” 描述的单位正方形:

Page 58: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

52 第三章 有限元方法

g = [2 2 2 20 1 1 01 1 0 01 1 0 01 0 0 10 0 0 01 1 1 1];

这里 g可以按下面方式得到. 先在 PDE工具箱的图形界面中画一个单位正方形,再从 “Boundary”菜单选 “Export the Decomposed Geometry, Bound-ary Cond’s”. 关于 “分解几何数组” 的详细描述参见"decsg.m”. 图3.11给出

1 2 3

4 5 6

7 8 9

1 2

3

4

56

7

8

1

11 1

11 1

1

2

2

2 2

2

2 2

2

3

33 3

33 3

3

1

2

3 4

5

6 7

8

图 3.11: 单位正方形的一个标准三角剖分. 图中的数字给出了节点的全局和局部编号, 三角形单元的编号, 及区域边界上单元边的编号.

了单位正方形的一个标准三角剖分, 可通过下面命令得到:

[p,e,t] = poimesh(g,2);

下面是描述上面网格的点数组, 边数组和单元数组.

p = [0 0.5 1 0 0.5 1 0 0.5 10 0 0 0.5 0.5 0.5 1 1 1];

e = [1 2 3 6 9 8 7 42 3 6 9 8 7 4 11 0.5 1 0.5 1 0.5 1 0.50.5 0 0.5 0 0.5 0 0.5 03 3 2 2 1 1 4 41 1 1 1 1 1 1 1

Page 59: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.5 MATLAB PDE 工具箱简介 53

0 0 0 0 0 0 0 0];

t = [2 4 4 5 1 1 2 56 5 8 9 5 2 3 65 8 7 8 4 5 6 91 1 1 1 1 1 1 1];

例 3.21. 给定网格 p, e, t, 装配 Poisson 方程(3.45)的有限元刚度矩阵.下面函数参考了 “pdeasmc.m”.

程序 3.1. (装配 Poisson 方程)

function [A,F,B]=pdeasmpoi(p,e,t)% 装配Poisson方程 -div(grad u)=1,带奇次Dirichlet边界条件%% A是刚度矩阵, F是右端向量.% UN=A\F返回非Dirichlet边界节点的解向量。% 整体PDE的解由MATLAB命令U=B*UN给出.

% 节点的编号it1=t(1,:);it2=t(2,:);it3=t(3,:);

np=size(p,2); % 节点数

% 面积和节点基函数的偏导数[ar,g1x,g1y,g2x,g2y,g3x,g3y]=pdetrg(p,t);

% 单元刚度矩阵AK.c3=((g1x.*g2x+g1y.*g2y)).*ar; % AK(1,2)=AK(2,1)=c3c1=((g2x.*g3x+g2y.*g3y)).*ar; % AK(2,3)=AK(3,2)=c1c2=((g3x.*g1x+g3y.*g1y)).*ar; % AK(1,3)=AK(3,1)=c2% AK(1,1)=-AK(1,2)-AK(1,3)=-c2-c3% AK(2,2)=-AK(2,1)-AK(2,3)=-c3-c1% AK(3,3)=-AK(3,1)-AK(3,2)=-c1-c2

% 装配刚度矩阵A=sparse(it1,it2,c3,np,np);A=A+sparse(it2,it3,c1,np,np);A=A+sparse(it3,it1,c2,np,np);

Page 60: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

54 第三章 有限元方法

A=A+A.';A=A+sparse(it1,it1,-c2-c3,np,np);A=A+sparse(it2,it2,-c3-c1,np,np);A=A+sparse(it3,it3,-c1-c2,np,np);

% 装配右端f=ar/3;F=sparse(it1,1,f,np,1);F=F+sparse(it2,1,f,np,1);F=F+sparse(it3,1,f,np,1);

% 我们有 A*U=F.

% Dirichlet边界节点ie=zeros(1,np);ie(e(1:2,:))=1;ie=find(ie);% 消掉Dirichlet边界条件:B=speye(np); %变换矩阵B(:,ie)=[];A=B'*A*B;F=B'*F;

3.5.3 快速参考

下面的简单表格描述了到哪里找到如下信息:定义几何, 写边界条件,生成和加密网格, 等等.

3.6 作业

1. 证明(3.8).2. 证明引理3.8.3. 定义一个 K 上的有限元, 并证明其满足定义:(i) K 是一个四面体; (ii) K 是一个四边形.4. 设 K 是三角形. 计算单元质量矩阵

MK =

(∫K

λiλj dx)3

i,j=1

.

Page 61: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

3.6 作业 55

几何区域 g, 可以由分解几何数组定义,也可以由几何 M 文件定义. 见 decsg, pdegeom, cardg.边界条件 b, 既可以由边界条件数组定义,也可以由边界 M 文件定义. 见 assemb, pdebound.系数 c, a, f: 见 assempde.网格数据结构 p, e, t: 见 initmesh.三角网生成: 见 initmesh.三角网加密: 见 refinemesh.

See assempde, adaptmesh,求解器: 见 parabolic, hyperbolic, pdeeig,

pdenonlin, ......

表 3.2: PDE Toolbox 的一个快速参考.

5. 设 K 是三角形. 证明∫K

λp1λ

q2λ

r3 dx = 2|K| p!q!r!

(p+ q + r + 2)!, p, q, r ≥ 0,是整数.

6. 考虑 Poisson 方程 −∆u = 1, x ∈ Ω, u|∂Ω = 0, 其中 Ω 是单位正方形.给定整数 n ≥ 2. 先将 Ω 分成 n2 个全等的小正方形, 再连接每个小正方形的西南至东北的对角线, 得到三角剖分Mh. 计算此网格上线性有限元方法的刚度矩阵.

Page 62: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

56 第三章 有限元方法

Page 63: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第四章 有限元方法的收敛性理论

本章考虑求解二维, 三维椭圆方程的有限元方法的收敛性. 由 Céa 引理(见引理 3.5), 有限元解的 H1-误差界为 infvh∈Vh

‖u − vh‖H1(Ω). 我们将利用所谓尺度变换的技巧(scaling argument)估计这一误差界.

4.1 插值理论

4.1.1 一些辅助结果

记 Pk(Ω) 是 Ω 上次数 ≤ k 的多项式集合.

引理 4.1 (范数等价). 设 Ω是带 Lipschitz边界的有界区域, N = dimPm−1(Ω),m ≥ 1. 设 fi, 1 ≤ i ≤ N, 是空间 Hm(Ω) 上的连续线性泛函, 满足: 若p ∈ Pm−1(Ω), f1(p) = f2(p) = · · · = fN (p) = 0, 则 p = 0. 那么在空间Hm(Ω) 中, 范数 ‖ · ‖Hm(Ω) 与下面范数等价:

| · |Hm(Ω) +N∑i=1

|fi(·)|.

证明: 我们只需证明存在常数 C = C(m,Ω) 使得

(4.1) ‖v‖Hm(Ω) ≤ C(|v|Hm(Ω) +

N∑i=1

|fi(v)|)∀v ∈ Hm(Ω).

用反证法, 如果(4.1)不成立, 则存在 Hm(Ω) 中的函数序列 vn 使得

(4.2) ‖vn‖Hm(Ω) = 1, |vn|Hm(Ω) +N∑i=1

|fi(vn)| ≤1

n.

既然 vn 在 Hm(Ω) 中有界, 由紧嵌入定理, 存在子序列, 仍记为 vn, 及函数 v ∈ Hm−1(Ω) 使得

(4.3) ‖vn − v‖Hm−1(Ω) → 0 (n→∞).

57

Page 64: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

58 第四章 有限元方法的收敛性理论

故 vn 是空间 Hm−1(Ω) 中的 Cauchy 序列. 再由(4.2)知 |vn|Hm(Ω) → 0.从而 vn 是空间 Hm(Ω) 中的 Cauchy 序列. 所以 vn 在 Hm(Ω) 中收敛.其极限 v 满足

|v|Hm(Ω) +N∑i=1

|fi(v)| = 0.

因此, 由引理2.7知 v ∈ Pm−1(Ω), 从而 v ≡ 0, 但 ‖v‖Hm(Ω) = 1, 矛盾.

显然, 若 m = 1, 取 f1 =∫Ωv, 则得 H1(Ω) 上的 Poincaré 不等式;取

f1 =∫∂Ωv, 则得 Friedrichs 不等式. 参见定理2.14.

引理 4.2 (Deny–Lions). 设 Ω 是带 Lipschitz 边界的有界区域. 对任一m ≥ 1, 存在常数 C = C(m,Ω) 使得

(4.4) infp∈Pm−1(Ω)

‖v − p‖Hm(Ω) ≤ C|v|Hm(Ω) ∀v ∈ Hm(Ω).

证明: 记 N = dimPm−1(Ω) 并取 fi, 1 ≤ i ≤ N, 为 Pm−1(Ω) 的对偶空间的一组基. 由 Hahn-Banach扩张定理,存在空间Hm(Ω)上的连续线性泛函,仍记为 fi, 1 ≤ i ≤ N, 使得, 对 p ∈ Pm−1(Ω), f1(p) = f2(p) = · · · = fN (p) = 0

的充要条件是 p = 0. 由范数等价引理, 存在 C(Ω) 使得

‖v − p‖Hm(Ω) ≤ C(Ω)(|v − p|Hm(Ω) +

N∑i=1

|fi(v − p)|).

对任意 v ∈ Hm(Ω), 存在 p ∈ Pm−1(Ω) 使得 fi(p) = fi(v), 1 ≤ i ≤ N . 又注意到 p 的 m 阶导数为零. 得证.

下面的 Bramble-Hilbert 引理是 Deny–Lions 引理的一个直接的推论.

引理 4.3 (Bramble–Hilbert). 设 Ω 是带 Lipschitz 边界的有界区域, m ≥ 1

是整数. 记 X = Hm(Ω). 设 Y 是一个 Banach 空间, f ∈ L(X,Y ) 是X 到 Y 的连续线性算子, 满足 f(p) = 0,∀p ∈ Pm−1(Ω). 则存在常数C = C(m,Ω) 使得

‖f(v)‖Y ≤ C‖f‖L(X,Y )|v|Hm(Ω) ∀ v ∈ Hm(Ω),

其中 ‖ · ‖L(X,Y ) 是算子范数.

我们称两个单元 K 和 K ⊂ Rd 是仿射等价, 如果存在可逆的仿射变换

F : K → K, F x = Bx+ b.

对任意一个 K 上的函数 v(x), 记 v = v F . 显然 v(x) = v(x). 下面两个引理将被用于尺度变换技巧.

Page 65: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

4.1 插值理论 59

引理 4.4. 设 K 和 K ⊂ Rd 是仿射等价的. 则 ∀v ∈ Hm(K),有 v ∈ Hm(K),

且存在常数 C = dm/2 使得

|v|Hm(K) ≤ C‖B‖m|detB|−1/2|v|Hm(K),

|v|Hm(K) ≤ C‖B−1‖m|detB|1/2|v|Hm(K).

这里 ‖·‖ 为 Rd 中欧几里德范数的诱导范数.

证明: 只证第一个不等式, 另一个同理可证. 由 Hm 半范数的定义,

|v|2Hm(K)

=

∫K

∑1≤i1,··· ,im≤d

∣∣∂i1 · · · ∂im v(x)∣∣2dx,|v|2Hm(K) =

∫K

∑1≤i1,··· ,im≤d

|∂i1 · · · ∂imv(x)|2 dx.

由链式法则可得,

∂i1 · · · ∂im v(x) =∑

1≤j1,··· ,jm≤d

bj1i1 · · · bjmim∂j1 · · · ∂jmv(x), ∀1 ≤ i1, · · · , im ≤ d.

记 d 阶单位阵的第 i 列为 ei. 由 Cauchy 不等式得

|∂i1 · · · ∂im v(x)|2

≤( ∑

1≤j1,··· ,jm≤d

|bj1i1 · · · bjmim |2

)( ∑1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2

)

=

( d∑j1=1

|bj1i1 |2 · · ·

d∑jm=1

|bjmim |2

) ∑1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2

= ‖Bei1‖2 · · · ‖Beim‖

2∑

1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2

≤ ‖B‖2m∑

1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2.

最后两边积分并利用积分变换公式得

|v|2Hm(K)

≤ dm‖B‖2m∫K

∑1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2 dx

= dm‖B‖2m∫K

∑1≤j1,··· ,jm≤d

|∂j1 · · · ∂jmv(x)|2 |detB−1|dx

= dm‖B‖2m|detB−1||v|2Hm(K).

两边开方得证.

Page 66: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

60 第四章 有限元方法的收敛性理论

引理 4.5. 设 K 和 K 是仿射等价的. 记 hK = diam(K), hK = diam(K), ρK和 ρK 分别是 K 和 K 的内接球直径. 则如下估计成立

(4.5) ‖B‖ ≤ hKρK

, ‖B−1‖ ≤ hKρK

, |detB| = |K||K|

.

证明: 显然‖B‖ = 1

ρKsup

|ξ|=ρK

|Bξ|.

给定 ξ ∈ Rd 满足 |ξ| = ρK , 存在 y, z ∈ K 使得 y − z = ξ (如图 4.1). 则F (y), F (z) ∈ K 且 Bξ = F (y)− F (z). 从而 |Bξ| ≤ hK . (4.5)中第一个不等式得证. 第二个不等式类似可证. 最后一个等式由积分变换公式(取被积函数为 1)可得.

y

z

K F (y)

F (z)K

>

ZZ

ZZ

&%'$

图 4.1: K 和 K 之间的仿射变换.

4.1.2 局部有限元插值

定义 4.6. 给定有限元 (K,P,N ), 设 ψi : 1 ≤ i ≤ n ⊂ P 为 P 的节点基.如果函数 v 使得 Ni(v) 有定义, Ni ∈ N , i = 1, · · · , n,, 那么定义其局部有限元插值为

IKv :=

n∑i=1

Ni(v)ψi.

显然 IK 是线性算子; v与 IKv的各个自由度相等,即Ni(v) = Ni(IKv), i =

1, · · · , n; 且当 v ∈ P 时, IKv = v.

例 4.7 (Lagrange 线性元插值). 设 (K,P,N ) 是线性有限元, 其节点基为λi, i = 1, · · · , d+ 1. 则 Lagrange 插值定义为

(IKv)(x) :=d+1∑i=1

v(xi)λi(x) ∀v ∈ C(K).

定理 4.8. 设有限元 (K, P, N ) 满足

Page 67: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

4.1 插值理论 61

(i) Pm−1 ⊂ P ⊂ Hm(K);

(ii) N ⊂(Cl(K)

)′;(iii) m− d/2 > l ≥ 0.

则存在常数 C = C(d,m, K), 对 0 ≤ i ≤ m 有

|v − I v|Hi(K) ≤ C|v|Hm(K) ∀v ∈ Hm(K),

其中 I = IK 是局部有限元插值算子.

证明: 首先, 由 Sobolev 嵌入定理2.11, Hm(K) → Cl(K), 所以, ∀v ∈Hm(K), I v 有定义. 其次, 我们证明 I 是由 Hm(K) 到 H i(K) 的有界线性算子. 设 N = N1, · · · , Nn. 记节点基为 ψ1, · · · , ψn. 则

‖I u‖Hi(K) =

∥∥∥∥∥n∑

j=1

Nj(u)ψj

∥∥∥∥∥Hi(K)

≤n∑

j=1

|Nj(u)|‖ψj‖Hi(K)

≤n∑

j=1

‖Nj‖Cl(K)′‖ψj‖Hm(K)‖u‖Cl(K)

≤ C ‖u‖Cl(K) ≤ C ‖u‖Hm(K) .

最后, 由定理4.2

|v − I v|Hi(K) = infp∈Pm−1

|v − p− I(v − p)|Hi(K)

≤C infp∈Pm−1

‖v − p‖Hm(K) ≤ C |v|Hm(K) .

证毕.

定义 4.9. 设 (K,P,N ) 与 (K, P, N ) 是两个有限元, x = F (x) = Bx+ b 是一个可逆的仿射变换. 记 v(x) = v(x), I = IK , I = IK . 如果

(i) K = F (K);

(ii) P = p : p ∈ P;

(iii) Iv = I v.

那么称 (K,P,N ) 和 (K, P, N ) 是仿射插值等价的.

定理 4.10. 设 (K, P, N ) 满足定理4.8的条件, (K,P,N ) 仿射插值等价于(K, P, N ). 则存在 C = C(d,m, K, hK/ρK), 对 0 ≤ i ≤ m 有

|v − IKv|Hi(K) ≤ Chm−iK |v|Hm(K) ∀v ∈ Hm(K).

Page 68: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

62 第四章 有限元方法的收敛性理论

证明: 简记 I = IK . 由引理4.4–4.5及定理 4.8得

|v − Iv|Hi(K) ≤ C‖B−1‖i|detB| 12

∣∣∣v − Iv∣∣∣Hi(K)

= C‖B−1‖i|detB| 12∣∣∣v − I v∣∣∣

Hi(K)

≤ C‖B−1‖i|detB| 12 |v|Hm(K) ≤ C‖B−1‖i‖B‖m |v|Hm(K)

≤ C(hKρK

)i(hKρK

)m|v|Hm(K) ≤ C

hiK

ρmK

(hKρK

)ihm−iK |v|Hm(K).

得证.

4.1.3 整体有限元插值

定义 4.11. 设Mh 为区域 Ω 的一个网格剖分. 对任意单元 K ∈ Mh, 给定有限元 (K,PK , NK). 则(整体)有限元插值算子 Ih 定义为

(Ihv)|K = IK(v|K) ∀K ∈Mh.

定义 4.12. 如果一族网格 Mh 满足, 存在常数 µ > 0 使得

hK/ρK ≤ µ, ∀K ∈Mh.

则称这族网格是正则 (regular) 的. 如果存在常数 ν > 0 使得

h/hK ≤ ν ∀ K ∈Mh, h := maxK∈Mh

hK ,

则称这族网格是拟均匀 (quasi-uniform) 的.

由定理4.10可得如下插值误差估计.

定理 4.13. 假设 Mh 是多边形(多面体)区域 Ω ⊂ Rd 的一族正则剖分.设 (K, P, N ) 是一个参考有限元且对某 l 和 m 满足定理4.8的条件. 对每一个单元 K ∈ Mh, 假设有限元 (K,PK ,NK) 仿射插值等价于 (K, P, N ). 则对 0 ≤ i ≤ m, 存在常数 C = C(K, d,m, µ) > 0 使得( ∑

K∈Mh

‖v − Ihv‖2Hi(K)

) 12

≤ Chm−i|v|Hm(Ω), h = maxK∈Mh

hK , ∀ v ∈ Hm(Ω).

特别地, 若 Ihv ∈ H1(Ω), 则

‖v − Ihv‖L2(Ω) ≤ Chm|v|Hm(Ω),

‖v − Ihv‖H1(Ω) ≤ Chm−1|v|Hm(Ω), ∀ v ∈ Hm(Ω).

Page 69: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

4.1 插值理论 63

4.1.4 有限元逆估计

定理 4.14. 设 (K,P,N) 是有限元, 单元 K 仿射等价于参考单元 K. 对m ≥ l ≥ 0 有

|v|Hm(K) ≤ Chl−mK |v|Hl(K) ∀v ∈ P,(4.6)

其中 C 仅依赖于 dimP, d,m, K, 及 K 的正则性.

证明: 由引理4.4, 我们有

|v|Hm(K) ≤ C‖B−1K ‖m|detBK |

12 |v|Hm(K).

既然

|v|Hm(K) = infp∈Pl−1(K)

|v + p|Hm(K) ≤ infp∈Pl−1(K)

‖v + p‖Hm(K)

≤ C infp∈Pl−1(K)

‖v + p‖Hl(K) ≤ C|v|Hl(K),

这里我们用到了有限维空间任意两个范数等价. 由引理4.4和4.5得

|v|Hm(K) ≤ C‖B−1K ‖m‖BK‖l|v|Hl(K)

≤ C(hKρK

)m(hKρK

)l

|v|Hl(K) ≤ Chl−mK |v|Hl(K).(4.7)

得证.

推论 4.15. 假设 Mh 是多边形(多面体)区域 Ω ⊂ Rd 的一族正则拟均匀三角剖分. 设 K 是一个参考单元, 且每一个单元 K ∈ Mh 都仿射等价于 K. 设 Xh 是 Mh 上次数 ≤ p 的分片多项式空间. 则存在常数C = C(p, µ, ν, d,m) 使得, 对 m ≥ l ≥ 0 及 vh ∈ Xh,( ∑

K∈Mh

|vh|2Hm(K)

) 12

≤ Chl−m

( ∑K∈Mh

|vh|2Hl(K)

) 12

.

4.1.5 局部迹不等式

定理 4.16. 设 K 是 Rd 中直径为 hK 的多面体单元, 仿射等价于 K, 则下面迹不等式成立:

‖v‖L2(∂K) ≤ C(h−1/2K ‖v‖L2(K) + ‖v‖

12

L2(K)‖∇v‖12

L2(K)

)≤ C

(h−1/2K ‖v‖L2(K) + h

1/2K ‖∇v‖L2(K)

)∀ v ∈ H1(K),

其中常数 C 依赖于单元 K 的正则性和 K.

Page 70: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

64 第四章 有限元方法的收敛性理论

证明: 设 K 的任一面 e 在仿射变换下变为 K 的面 e. 由引理4.4和4.5得

‖v‖2L2(∂K) =∑e⊂∂K

∫e

v2 =∑e⊂∂K

∫e

v2|e||e|≤ max

e⊂∂K

|e||e|‖v‖2L2(∂K)

≤ C maxe⊂∂K

|e||e|‖v‖L2(K) ‖v‖H1(K)

≤ C maxe⊂∂K

|e||e|

(‖v‖2L2(K) + ‖v‖L2(K) |v|H1(K)

)≤ C max

e⊂∂K

|e||e||detB|−1

(‖v‖2L2(K) + ‖B‖ ‖v‖L2(K) |v|H1(K)

)≤ C max

e⊂∂K

|e||e||K||K|

(‖v‖2L2(K) +

hKρK‖v‖L2(K) |v|H1(K)

)≤ Ch

d−1K

hdK

(‖v‖2L2(K) + hK ‖v‖L2(K) |v|H1(K)

).

得证.

4.2 H1 误差估计

设 Ω 是 Rd 中的多边形区域, Mh 是 Ω 的一族三角剖分. 设 Vh ⊂H1

0 (Ω) 是Mh 上的协调线性有限元空间. 设 u ∈ H10 (Ω) 是下面变分问题的

弱解:

(4.8) a(u, v) = 〈f, v〉 ∀ v ∈ H10 (Ω),

uh ∈ Vh 是对应的有限元解:

(4.9) a(uh, vh) = 〈f, vh〉 ∀ vh ∈ Vh.

假设双线性形式 a : H10 (Ω)×H1

0 (Ω)→ R 有界的和 H10 (Ω)-椭圆的:

|a(u, v)| ≤ β‖u‖H1(Ω)‖v‖H1(Ω), a(v, v) ≥ α‖v‖2H1(Ω), ∀u, v ∈ H10 (Ω).

由 Lax–Milgram 引理知(4.8)和(4.9)分别存在唯一解 u 和 uh.

定理 4.17. 假设解 u ∈ H10 (Ω) ∩H2(Ω). 则存在与 h 无关的常数 C 使得

‖u− uh‖H1(Ω) ≤ Ch|u|H2(Ω).

证明: 由 Céa 引理及有限元插值误差估计(见引理3.5及定理4.13),

‖u− uh‖H1(Ω) ≤ C infvh∈Vh

‖u− vh‖H1(Ω) ≤ C‖u− Ihu‖H1(Ω) ≤ Ch|u|H2(Ω).

Page 71: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

4.3 L2 误差估计 65

即使(4.8)的解不属于 H2(Ω), 有限元解仍然收敛.定理 4.18.

limh→0‖u− uh‖H1(Ω) = 0.

证明: 只需证明limh→0

infvh∈Vh

‖u− vh‖H1(Ω) = 0.

对任意 ε > 0 及 u ∈ H10 (Ω), 存在函数 uε ∈ C∞

0 (Ω) 使得

‖u− uε‖H1(Ω) <ε

2.

另外, 由插值误差估计(见定理4.13),

‖uε − Ihuε‖H1(Ω) ≤ Ch|uε|H2(Ω).

故存在 hε > 0, 使得当 0 < h < hε 时,

‖uε − Ihuε‖H1(Ω) <ε

2.

因此inf

vh∈Vh

‖u− vh‖H1(Ω) ≤ ‖u− Ihuε‖H1(Ω) <ε

2+ε

2= ε.

证毕.

4.3 L2 误差估计

假设(4.8)的伴随问题在以下意义下是正则的:对任意 g ∈ L2(Ω), 伴随问题

(4.10) a(v, ϕg) = (v, g) ∀ v ∈ H10 (Ω)

存在唯一解 ϕg ∈ H2(Ω)∩H10 (Ω);并存在常数 C使得 ‖ϕg‖H2(Ω) ≤ C‖g‖L2(Ω).

定理 4.19. 假设问题(4.8)的解 u ∈ H2(Ω) 且其伴随问题是正则的. 则存在与 h 无关得常数 C 使得

‖u− uh‖L2(Ω) ≤ Ch2|u|H2(Ω).

证明: 令 g = u− uh, ϕg 为(4.10)的解. 则

(u− uh, g) = a(u− uh, ϕg) = a(u− uh, ϕg − Ihϕg)

≤ β‖u− uh‖H1(Ω)‖ϕg − Ihϕg‖H1(Ω)

≤ Ch2|u|H2(Ω)|ϕg|H2(Ω)

≤ Ch2‖g‖L2(Ω)|u|H2(Ω).

证毕.

定理4.19的证明所用的技巧称为对偶论证或 Aubin-Nitsche 技巧.

Page 72: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

66 第四章 有限元方法的收敛性理论

4.4 作业

1. 将引理4.2推广到 W k+1,p(Ω) 空间.2. 设 m ≥ 0, 1 ≤ p ≤ ∞. 在引理4.4的条件下证明, 存在常数 C =

C(m, p, d) 使得

|v|Wm,p(K) ≤ C‖B‖m|detB|−1/p|v|Wm,p(K),

|v|Wm,p(K) ≤ C‖B−1‖m|detB|1/p|v|Wm,p(K).

3. 将插值估计定理4.8和定理4.10推广到 Wm,p(Ω) 空间.4. 将有限元逆估计定理4.14推广到由 Wm,p(Ω) 到 Wm,q(Ω) 空间的不

等式.5. 设单元 K 与 K ⊂ Rd 放射等价, 证明局部的 Poincaré 不等式:

‖v − vK‖L2(K) ≤ C ‖∇v‖L2(K) ∀v ∈ H1(K),

其中 vK = 1|K|

∫Kv, C = C

(K, hK

ρK

).

6. 设 Vh ⊂ H10 (Ω) 是Mh 上的二次有限元空间. 给出变分问题(4.8)的

有限元离散(4.9)的 H1 和 L2 误差估计.7. 对非齐次 Drichlet 椭圆边值问题(3.24)给出线性有限元离散, 并推导

H1 和 L2 误差估计.

Page 73: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第五章 有限元多重网格法

多重网格方法是求解离散椭圆问题的一种最优复杂性的算法. 可以用O(N) 的计算量得到与有限元解相同精度的近似解, 这里 N 是有限元方程组的未知数个数.多重网格算法可以用两句话描述: 在当前网格磨光;在粗网格校正. 磨

光步可以减少误差的高频部分;校正步利用粗网格求得的误差修正近似解,提高精度.

5.1 模型问题

设 Ω ⊂ Rd (d = 2, 3) 是凸多边形或凸多面体区域. 设

(5.1) a(u, v) =

∫Ω

(a∇u · ∇v + cuv)dx

其中系数 a 和 c 满足:a(x) ∈ C1(Ω), c(x) ∈ L∞(Ω), 存在常数 a0 使得a(x) ≥ a0 和 c(x) ≥ 0, x ∈ Ω. 考虑 Dirichlet 边值问题: 求 u ∈ V = H1

0 (Ω)

使得

(5.2) a(u, v) = (f, v) ∀ v ∈ V,

其中 f ∈ L2(Ω), (·, ·) 是 L2 内积.设Mk, k = 1, 2, · · · 是 Ω的一列嵌套的三角剖分,Mk 由Mk−1(k > 1)

通过一致加密得到. 设 Vk ⊂ H10 (Ω) 是Mk 上的连续线性有限元空间. 显然

Vk−1 ⊂ Vk(k > 1). 空间 Vk 上的有限元离散为:求 uk ∈ Vk 使得

(5.3) a(uk, vk) = (f, vk) ∀ vk ∈ Vk.

我们引入到 Vk 的 L2 和 H1 投影算子

(Qkϕ, vk) = (ϕ, vk) , a(Pkψ, vk) = a(ψ, vk) ∀ vk ∈ Vk,

67

Page 74: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

68 第五章 有限元多重网格法

其中 ϕ ∈ L2(Ω), ψ ∈ H10 (Ω). 显然 uk = Pku. 记 hk = maxK∈Mk

hK ,‖·‖A = a(·, ·) 1

2 . 应用 Aubin-Nitsche 技巧 (见前一章 §4.3) 可得

(5.4) ‖(I − Pk)v‖L2(Ω) ≤ Chk‖(I − Pk)v‖A ∀ v ∈ H10 (Ω).

5.2 经典迭代法

5.2.1 矩阵形式和算子形式

记 φik : i = 1, · · · , nk 为 Vk 的节点基. 任给 vk =

∑nk

i=1 vikφ

ik ∈ Vk,

如下定义 vk, ˜vk ∈ Rnk

(5.5) v ik = vik,

˜v ik = (vk, φ

ik), i = 1, · · · , nk.

记 Ak =[a(φj

k, φik)]nk

i,j=1为刚度矩阵. 则(5.3)的矩阵形式为:

(5.6) Akuk =˜fk, 其中fk := Qkf.

求解(5.6)的线性迭代法的一般形式为: 给定初值 u(0) ∈ Rnk ,

(5.7) u(n+1) = u(n) + Rk(˜fk − Aku

(n)), n = 0, 1, 2, · · · .

矩阵 Rk 称为迭代子. 我们知道, (5.7)收敛的充要条件是 ρ(I − RkAk) < 1.注意到 Ak 是对称正定的, 把它分解 Ak = D+ L+ LT , 其中 D 和 L 分

别为 Ak 的对角线所组成的对角阵和 Ak 的下三角阵. 我们回忆以下几种迭代法:

(5.8) Rk =

ωI Richardson;

ωD−1 阻尼 Jacobi;

(D + L)−1 Gauss-Seidel.

引理 5.1.

(i)Richardson 迭代法收敛的充要条件是 0 < ω < 2

ρ(Ak);

(ii)阻尼 Jacobi 迭代法收敛的充要条件是 0 < ω < 2

ρ(D−1Ak);

(iii)Gauss-Seidel 迭代法恒收敛.

定义算子 Ak : Vk → Vk:

(Akwk, vk) = a(wk, vk) ∀ vk ∈ Vk.

Page 75: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.2 经典迭代法 69

有限元格式(5.3)的算子形式为

(5.9) Akuk = fk.

易知 ˜Akvk = Akvk,∀vk ∈ Vk. 从而, (5.9)两边同时取 ˜运算即可得到(5.6).

如果定义线性算子 Rk : Vk 7→ Vk 为

(5.10) Rkg =

nk∑i,j=1

(Rk)ij(g, φjk)φ

ik,

则 Rkg = Rk˜g, 从而求解矩阵方程(5.6)的迭代法(5.7)等价于下面求解算子

方程(5.9)的迭代法: 给定初值 u(0) ∈ Vk

(5.11) u(n+1) = u(n) +Rk(fk −Aku(n)), n = 0, 1, 2, · · · ,

也就是, (5.11)两边同时取˜运算即可得到(5.7). 误差传播算子为 I −RkAk.

引理 5.2. 设 P ik 为到 φi

k 张成的空间的投影:

(5.12) a(P ikwk, φ

ik) = a(wk, φ

ik) ∀ wk ∈ Vk.

则几种迭代法的等价算子形式(见(5.11))的迭代子满足

(5.13) Rkg =

ω∑nk

i=1(g, φik)φ

ik Richardson;

ω∑nk

i=1 PikA

−1k g 阻尼 Jacobi;

(I − Ek)A−1k g Gauss-Seidel.

其中 Ek = (I − Pnk

k ) · · · (I − P 1k )

证明: 以阻尼 Jacobi 方法为例, 由(5.12)知

P ikwk =

a(wk, φik)

a(φik, φ

ik)φik , i = 1, 2, · · · , nk.

阻尼 Jacobi 法的迭代子为

Rk = ωD−1 = ωdiag(a(φ1

k, φ1k)

−1, · · · , a(φnk

k , φnk

k )−1).

由(5.10),

Rkg = ω

nk∑i=1

(g, φik)

a(φik, φ

ik)φik = ω

nk∑i=1

a(A−1k g, φi

k)

a(φik, φ

ik)

φik = ω

nk∑i=1

P ikA

−1k g ∀g ∈ Vk,

得证.

Page 76: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

70 第五章 有限元多重网格法

图 5.1: Gauss-Seidel 迭代 0, 3, 9 和 200 次以后的误差. 未知数个数为 2113

5.2.2 磨光性质

众所周知, 当 nk 大时(即网格密时), (5.8)中的几个迭代法不能十分有效地求解(5.6). 为了使得误差下降一半, 需要 O(h−2

k ) 步迭代, 即需要O(n

1+2/dk ) 的计算量. 但是它们都有一个重要的所谓 “磨光性质”. 例如考

虑(5.6)的 Richardson 迭代 (ω = 1

ρ(Ak)) :

u(n+1) = u(n) +1

ρ(Ak)(˜fk − Aku

(n)), n = 0, 1, 2, · · · .

由于 Ak 是对称正定的, 它存在 nk 个实特征值 0 < µ1 ≤ µ2 ≤ · · · ≤ µnk,

且可取对应的特征向量为 φ1, φ2, · · · , φnk满足 (φi, φj) = δij . 设 uk − u0 =∑nk

i=1 αiφi, 则uk − u(n) =

∑i

αi(1− µi/µnk)nφi.

显然, 如果 µi 接近 µnk, 那么当 n → ∞ 时 (1 − µi/µnk

)n 以很快的速度趋于 0. 这意味着误差的高频分量衰减很快.下面给出一个数值例子演示一下 Gauss-Seidel 方法的磨光性质. 考虑

单位正方形上的 Poisson 问题 −∆u = 1, x ∈ Ω, u = 0, x ∈ ∂Ω. 取一致三角剖分. 图5.1显示误差的高频部分在 Gauss-Seidel 迭代中衰减很快. Gauss-Seidel 迭代收敛慢是因为对误差的低频部分衰减得不好.对于上面的模型问题, Brandt 利用 “局部模态分析” 的办法得知阻尼

Jacobi 方法当 ω = 4/5 具有最好的磨光性质;Gauss-Seidel 方法的磨光效果比阻尼 Jacobi 方法好;红黑序的 Gauss-Seidel 方法比字典序的要好. 我们知道 Jacobi 方法和红黑序的 Gauss-Seidel 适合于并行计算.下面引理刻画了阻尼 Jacobi 方法的磨光性质, 由于篇幅所限, 略去证

明.

Page 77: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.3 多重网格 V 循环算法 71

引理 5.3. 假设 ω > 0 足够小. 记 Kk = I − RkAk. 则存在常数 α > 0 使得, 对自然数 m > 0,

‖(I − Pk−1)Kmk v‖

2A ≤

α

m

(‖v‖2A − ‖K

mk v‖

2A

), ∀v ∈ Vk.

此引理说明, 阻尼 Jacobi 迭代后, 近似解的误差可以被上一层的较粗网格上的有限元函数很好的逼近. 正因为经典迭代法的磨光效应, 我们把其迭代子也称为光滑子.

5.3 多重网格 V 循环算法

多重网格法的基本思想是在当前网格磨光, 在粗网格校正. 设 Rk :

Vk → Vk 为一光滑子, Rtk 是 Rk 关于 L2 内积 (·, ·)的伴随算子. 求解(5.9)的

多重网格 V 循环算法可写为:给定 u(0) ∈ Vk,

(5.14) u(n+1) = u(n) + Bk(fk −Aku(n)), n = 0, 1, 2, · · · ,

其中迭代子 Bk 由下面算法定义:

算法 5.1 (V 循环迭代子). 对 k = 1, 定义 B1 = A−11 . 假设 Bk−1 : Vk−1 7→

Vk−1 已定义. 迭代子 Bk : Vk 7→ Vk 定义如下. 任给 g ∈ Vk.

1. 前磨光: 取 y0 = 0 ∈ Vk, 对 j = 1, · · · ,m,

yj = yj−1 +Rk(g −Akyj−1).

2. 粗网格校正: e = Bk−1Qk−1(g −Akym), ym+1 = ym + e,

3. 后磨光: 对 j = m+ 2, · · · , 2m+ 1,

yj = yj−1 +Rtk(g −Aky

j−1).

定义 Bkg = y2m+1.

为了证明收敛性, 我们先给出多重网格算法误差传播算子的递推关系.记 y = A−1

k g, 则

y − y2m+1 = (I −RtkAk)

m(I − Bk−1Qk−1Ak)(I −RkAk)m(y − y0).

记Kk = I−RkAk, K∗k 为Kk关于内积 a(·, ·)的伴随算子. 则K∗

k = I−RtkAk

且I − BkAk = K∗m

k (I − Bk−1Qk−1Ak)Kmk

Page 78: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

72 第五章 有限元多重网格法

另外, 对任何 vk ∈ Vk, wk−1 ∈ Vk−1, 有

(Qk−1Akvk, wk−1) = (Akvk, wk−1) = a(vk, wk−1)

= a(Pk−1vk, wk−1) = (Ak−1Pk−1vk, wk−1)

从而 Qk−1Ak = Ak−1Pk−1. 因此我们得到下面的递推关系:

引理 5.4. 在 Vk 中成立

I − BkAk = K∗mk ((I − Pk−1) + (I − Bk−1Ak−1)Pk−1)K

mk .

下面仅对采用阻尼 Jacobi 磨光的多重网格 V 循环算法, 给出收敛性分析. 此时

Rk = ω

nk∑i=1

P ikA

−1k .

下面引理的证明留作习题.

引理 5.5. 对采用阻尼 Jacobi 磨光的多重网格 V 循环算法有

Rtk = Rk, K∗

k = Kk, (Rkvk, vk) ≥ 0 ∀vk ∈ Vk;

Btk = Bk, (I − BkAk)

∗ = (I − BkAk).

定理 5.6. 在引理5.3的条件下, 有如下的关于带阻尼 Jacobi 磨光的多重网格 V 循环算法的收敛性估计:

(5.15) ‖I − BkAk‖A ≤ δ :=α

α+m,

其中 α > 0 与网格Mk 及磨光次数 m ≥ 1 无关,

‖I − BkAk‖A = sup0 6=v∈Vk

‖(I − BkAk)v‖A‖v‖A

= sup0 6=v∈Vk

a((I − BkAk)v, v)

‖v‖2A.

证明: 我们用数学归纳法证明:

(5.16) 0 ≤ a((I − BkAk)v, v) ≤ δa(v, v) ∀ v ∈ Vk.

既然 B1 = A−11 , k = 1 时显然成立. 假设 k − 1 时成立, 下面证明 k 时成立.

由引理5.4, 对任意 v ∈ Vk,

a((I − BkAk)v, v) = a(Kmk (I − Pk−1)K

mk v, v)

+ a(Kmk (I − Bk−1Ak−1)Pk−1K

mk v, v)

= a((I − Pk−1)Kmk v, (I − Pk−1)K

mk v)

+ a((I − Bk−1Ak−1)Pk−1Kmk v, Pk−1K

mk v)

≥ 0.

Page 79: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.4 完全多重网格方法和工作量估计 73

另外, 由引理5.3

a((I − BkAk)v, v) ≤ ‖(I − Pk−1)Kmk v‖

2A + δ ‖Pk−1K

mk v‖

2A

= (1− δ) ‖(I − Pk−1)Kmk v‖

2A + δ ‖Km

k v‖2A

≤ (1− δ) αm

(‖v‖2A − ‖K

mk v‖

2A

)+ δ ‖Km

k v‖2A

= δ ‖v‖2A .

证毕.

我们指出, 定理5.6的结论对带 Gauss-Sediel 磨光的多重网格 V 循环算法也成立.

例 5.7. 考虑单位正方形 Ω 上的 Poisson 问题 −∆u = 1, x ∈ Ω, u|∂Ω = 0

的线性有限元离散, 采用三角剖分. 初始剖分有 4 个三角形组成. 我们用 V

循环算法(5.14)求解有限元方程组. 初值为零, 采用 Gauss-Seidel 磨光, 磨光次数 m = 2, 终止条件为

‖ ˜fk − Aku(n)k ‖∞

/‖ ˜fk − Aku

(0)k ‖∞ < 10−6.

表5.1给出了 1–10 次一致加密的多重网格法的迭代次数. 最后一层网格含4194304 个三角形, 有 2095105 个内部节点. 我们将在 § 5.5给出程序实现.

N 5 25 113 481 1985 8065 32513 130561 523265 2095105l 3 6 6 7 7 7 7 7 7 7

表 5.1: 例5.7:未知数个数 N 和多重网格法的迭代次数 l

5.4 完全多重网格方法和工作量估计

我们知道多重网格 V 循环算法的收敛速度是最优阶的, 即与加密次数k 无关. 在这一节, 我们将进一步证明, 多重网格 V 循环算法的每步迭代的计算量也是最优阶的, 即 O(nk). 但是, 要达到 O(hk) 的误差, 多重网格 V

循环算法需要 O(log 1hk) = O(lognk) 次迭代, 从而需要 O(nk lognk) 的计

算量. 这不是最优阶的. 在本节, 我们还将引入 “完全多重网格方法”, 仅用O(nk) 的计算量, 就可以得到精度为 O(hk) 的近似解, 是真正的最优阶方法.由第三章的收敛性理论, 我们知道第 k 层网格上的有限元解 uk 满足如

下误差估计:

(5.17) ‖u− uk‖A ≤ c1hk, k ≥ 1,

Page 80: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

74 第五章 有限元多重网格法

其中 c1 > 0 是与 k 无关的常数.完全多重网格方法的设计基于以下事实: uk−1 ∈ Vk−1 ⊂ Vk 是 uk ∈ Vk

的近似, 因此可以被用于求解 uk 的多重网格迭代法的初值.

算法 5.2. (完全多重网格). 给定正整数 l.对 k = 1, 计算 u1 = A−1

1 f1;对 k ≥ 2,令 uk = uk−1,做 l次多重网格迭代:uk ← uk+Bk(fk−Akuk).

记 hk = maxK∈Mk|K|1/d. 易知存在 p > 1 使得 hk = hk−1/p. 显然 hk

与 hk 等价, 即存在仅依赖于网格的正则性的正数 c2 和 c3 使得 c2hk ≤ hk ≤c3hk.下面定理说明, 完全多重网格方法得到的近似解的 H1 误差与有限元解

具有同样的收敛阶.

定理 5.8. 假设(5.15)成立且 δl < 1/p. 则

‖uk − uk‖A ≤c3pδ

l

c2(1− pδl)c1hk, k ≥ 1.

证明: 由(5.15),

‖uk − uk‖A ≤ δl ‖uk − uk−1‖A ≤ δ

l(‖uk − uk−1‖A + ‖uk−1 − uk−1‖A)≤ δl(‖u− uk−1‖A + ‖uk−1 − uk−1‖A)≤ δl ‖uk−1 − uk−1‖A + c1δ

lhk−1.

注意到 ‖u1 − u1‖A = 0, 可得

‖uk − uk‖A ≤ c1k−1∑n=1

(δl)nhk−n ≤ c1c3k−1∑n=1

(δl)nhk−n

≤ c1c3hkk−1∑n=1

(pδl)n ≤ c1c3c2

pδl

1− pδlhk.

证毕.

下面我们转到计算量估计. 显然

(5.18) nk = dimVk ∼1

hdk∼ 1

hdk∼ (pd)k.

定理 5.9. 完全多重网格方法的工作量是 O(nk).

证明: 令 Wk 表示第 k 层 V 循环迭代的计算量. 易知

Wk ≤ Cmnk +Wk−1.

Page 81: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.5 多重网格 V 循环算法的实现 75

因此Wk ≤ Cm(n1 + n2 + · · ·+ nk) ≤ Cnk.

记 Wk 为完全多重网格方法中求得 uk 的计算量. 则

Wk ≤ Wk−1 + lWk ≤ Wk−1 + Cnk.

因此Wk ≤ C(n1 + · · ·+ nk) ≤ Cnk.

证毕.

5.5 多重网格 V 循环算法的实现

本节先给出多重网格 V 循环算法及完全多重网格算法的矩阵形式, 再给出它们的 MATLAB 程序.

5.5.1 算法的矩阵形式

记 φ1k, · · · , φ

nk

k 为 Vk 的节点基, 我们定义所谓的 “延拓矩阵” Ikk−1 ∈Rnk×nk−1 如下:

(5.19) φjk−1 =

nk∑i=1

(Ikk−1)ijφik.

由 vk 和 ˜vk 的定义(5.5)得

vk = Ikk−1vk−1 ∀vk = vk−1, vk ∈ Vk, vk−1 ∈ Vk−1,

˜Qk−1rk = (Ikk−1)

t˜rk ∀rk ∈ Vk.

(5.20)

注意到 Ak−1vk−1 = Qk−1Akvk−1,∀vk−1 ∈ Vk−1, 我们有

Ak−1vk−1 =˜

Ak−1vk−1 = (Ikk−1)t ˜Akvk−1 = (Ikk−1)

tAkIkk−1vk−1,

即,

(5.21) Ak−1 = (Ikk−1)tAkI

kk−1.

算法 5.3 (V 循环迭代子:矩阵形式). 令 B1 = A−11 . 假设 Bk−1 ∈ Rnk−1×nk−1

已定义, 则 Bk ∈ Rnk×nk 定义如下: ∀˜g ∈ Rnk .

1. 前磨光: 对 y0 = 0 及 j = 1, · · · ,m,

yj = yj−1 + Rk(˜g − Akyj−1).

Page 82: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

76 第五章 有限元多重网格法

2. 粗网格校正: e = Bk−1(Ikk−1)

t(˜g − Akym), ym+1 = ym + Ikk−1e.

3. 后磨光: For j = m+ 2, · · · , 2m+ 1,

yj = yj−1 + Rtk(˜g − Aky

j−1).

定义 Bk˜g = y2m+1.

然后求解(5.6)的多重网格 V 循环算法写为: 给定 u(0) ∈ Rnk ,

(5.22) u(n+1) = u(n) + Bk(˜fk − Aku

(n)), n = 0, 1, 2, · · · ,

算法 5.4 (完全多重网格算法:矩阵形式). 对 k = 1, u1 = A−11˜f1.

对 k ≥ 2, 令 uk = Ikk−1uk−1, 做 l 次迭代 uk ← uk + Bk(˜fk − Akuk).

5.5.2 MATLAB 程序程序 5.1 (完全多重网格算法).

function [u,p,e,t]=fmg(g,b,c,a,f,p0,e0,t0,nmg,nsm,nr)% Full multigrid solver for "-div(c*grad(u))+a*u=f".%% "nmg": Number of multigrid iterations.% "nsm": Number of smoothing iterations.% "nr": Number of refinements.

p=p0;e=e0;t=t0;fprintf('k = %g. Number of triangles = %g\n',1,size(t,2));[A,F,Bc,ud]=assempde(b,p,e,t,c,a,f);u=Bc*(A\F)+ud;I=;for k=2:nr+1

% Mesh and prolongation matrix[p,e,t,C]=refinemesh_mg(g,p,e,t);[A,F,Bf,ud]=assempde(b,p,e,t,c,a,f);fprintf('k = %g. Number of triangles = %g\n',k,size(t,2));I=[I Bf'*C*Bc]; % Eliminate the Dirichlet boundary nodesBc=Bf;u=Bf'*C*u; % Initial valuefor l=1:nmg % Multigrid iteration

Page 83: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.5 多重网格 V 循环算法的实现 77

r=F-A*u;Br=mgp_vcycle(A,r,I,nsm,k); % Multigrid precondtioneru=u+Br;

endu=Bf*u+ud;

end

程序 5.2 (V 循环迭代子).

function Br=mgp_vcycle(A,r,I,m,k)% Multigrid V-cycle precondtioner.%% "A" is stiffness matrix at level k,% "I" is a cell of matrics such that: Ik-1=I_k-1^k.% "m" is the number of smoothing iterations. Br=B_k*r.

if k==1Br=A\r;

elseIk=Ik-1; % Prolongation matrixy=zeros(size(r));y=mgs_gs(A,r,y,m,1); % Pre-smoothingr1=r-A*y;r1=Ik'*r1;B=Ik'*A*Ik;Br1=mgp_vcycle(B,r1,I,m,k-1);y=y+Ik*Br1;y=mgs_gs(A,r,y,m,-1); % Post-smoothingBr=y;

end

程序 5.3 (V 循环算法).

function [u,steps]=mg_vcycle(A,F,I,u0,m,k,tol)% Multigrid V-cycle iteration

if k==1u=A\F;steps=1;

elseu=u0;

Page 84: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

78 第五章 有限元多重网格法

r=F-A*u;error0=max(abs(r));error=error0;steps=0;fprintf('Number of Multigrid iterations: ');while error>tol*error0

Br=mgp_vcycle(A,r,I,m,k); % Multigrid precondtioneru=u+Br;r=F-A*u;error=max(abs(r));steps=steps+1;for j=1:floor(log10(steps-0.5))+1,

fprintf('\b');endfprintf('%g',steps);

endfprintf('\n');

end

程序 5.4 (Gauss-Seidel 磨光).

function x=mgs_gs(A,r,x0,m,flag)% (Local) Gauss-Seidel smoother for multigrid method.%% "A*x=r": The equation.% "x0": The initial guess.% "flag": flag=1 means forward Gauss-Seidel;% flag=-1 means backward Gauss-Seidel.% "m": Number of iterations.x=x0;if flag==1

L=tril(A);U=triu(A,1);for k=1:m

x=L\(r-U*x);end

endif flag==-1

L=tril(A,-1);U=triu(A);

Page 85: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.5 多重网格 V 循环算法的实现 79

for k=1:mx=U\(r-L*x);

endend

程序 5.5 (三角网加密的最新点二分算法).

function [p1,e1,t1,Icr]=refinemesh_mg(g,p,e,t,it)% The "newest-vertex-bisection algorithm" for mesh refinements.% Output also the prolongation matrix for multigrid iteration.%% G describes the geometry of the PDE problem. See either% DECSG or PDEGEOM for details.% The triangular mesh is given by the mesh data P, E, and T.% Details can be found under INITMESH.% The matrix Icr is the prolongation matrix from the coarse% mesh to the fine mesh.% 'it' is a list of triangles to be refined.%% This function is a modification of the 'refinemesh.m' from% the MATLAB PDE Toolbox.

np=size(p,2);nt=size(t,2);

if nargin==4it=(1:nt)'; % All triangles

end

itt1=ones(1,nt);itt1(it)=zeros(size(it));it1=find(itt1); % Triangles not yet to be refinedit=find(itt1==0); % Triangles whose side opposite to

% the newest vertex is to be bisected

% Make a connectivity matrix, with edges to be refined.% -1 means no point is yet allocatedip1=t(1,it);ip2=t(2,it);ip3=t(3,it);

Page 86: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

80 第五章 有限元多重网格法

A=sparse(ip1,ip2,-1,np,np)+sparse(ip2,ip3,-1,np,np)...+sparse(ip3,ip1,-1,np,np);

A=-((A+A.')<0);newpoints=1;

% Loop until no additional hanging nodes are introducedwhile newpointsnewpoints=0;ip1=t(1,it1);ip2=t(2,it1);ip3=t(3,it1);m1 = aij(A,ip2,ip3);%A(ip2(i),ip3(i)), i=1:length(it1).m2 = aij(A,ip3,ip1);m3 = aij(A,ip1,ip2);ii=find(m3);if ~isempty(ii),

itt1(it1(ii))=zeros(size(ii));endii=find((m1 | m2) & (~m3));if ~isempty(ii),

A=A+sparse(ip1(ii),ip2(ii),-1,np,np);A=-((A+A.')<0);newpoints=1;itt1(it1(ii))=zeros(size(ii));

endit1=find(itt1); % Triangles not yet fully refinedit=find(itt1==0); % Triangles fully refined

end

% Find edges to be refinedie=(aij(A,e(1,:),e(2,:))==-1);

ie1=find(ie==0); % Edges not to be refinedie=find(ie); % Edges to be refined

% Get the edge "midpoint" coordinates[x,y]=pdeigeom(g,e(5,ie),(e(3,ie)+e(4,ie))/2);% Create new pointsp1=[p [x;y]];

Page 87: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.5 多重网格 V 循环算法的实现 81

% Prolongation matrix.if nargout == 4nie = length(ie);Icr = [sparse(1:nie,e(1,ie),1/2,nie,np)+...

sparse(1:nie,e(2,ie),1/2,nie,np)];end

ip=(np+1):(np+length(ie));np1=np+length(ie);% Create new edgese1=[e(:,ie1) ...

[e(1,ie);ip;e(3,ie);(e(3,ie)+e(4,ie))/2;e(5:7,ie)] ...[ip;e(2,ie);(e(3,ie)+e(4,ie))/2;e(4,ie);e(5:7,ie)]];

% Fill in the new pointsA=sparse(e(1,ie),e(2,ie),ip+1,np,np)...

+sparse(e(2,ie),e(1,ie),ip+1,np,np)+A;

% Generate points on interior edges[i1,i2]=find(A==-1 & A.'==-1);i=find(i2>i1);i1=i1(i);i2=i2(i);p1=[p1 [(p(1:2,i1)+p(1:2,i2))/2]];

% Prolongation matrix.if nargout == 4

ni=length(i);Icr = [Icr;sparse(1:ni,i1,1/2,ni,np)+...

sparse(1:ni,i2,1/2,ni,np)];Icr = [speye(size(Icr,2));Icr];

end

ip=(np1+1):(np1+length(i));% Fill in the new pointsA=sparse(i1,i2,ip+1,np,np)+sparse(i2,i1,ip+1,np,np)+A;

% Lastly form the trianglesip1=t(1,it);

Page 88: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

82 第五章 有限元多重网格法

ip2=t(2,it);ip3=t(3,it);mp1 = aij(A,ip2,ip3); % A(ip2(i),ip3(i)), i=1:length(it).mp2 = aij(A,ip3,ip1);mp3 = aij(A,ip1,ip2);

% Find out which sides are refinedbm=1*(mp1>0)+2*(mp2>0);% The number of new trianglesnnt1=length(it1)+length(it)+sum(mp1>0)+sum(mp2>0)+sum(mp3>0);t1=zeros(4,nnt1);t1(:,1:length(it1))=t(:,it1); % The unrefined trianglesnt1=length(it1);i=find(bm==3); % All sides are refinedli=length(i); iti=it(i);t1(:,(nt1+1):(nt1+li))=[t(1,iti);mp3(i);mp2(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[mp3(i);t(2,iti);mp1(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[t(3,iti);mp3(i);mp1(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[mp3(i);t(3,iti);mp2(i);t(4,iti)];nt1=nt1+li;i=find(bm==2); % Sides 2, 3 are refinedli=length(i); iti=it(i);t1(:,(nt1+1):(nt1+li))=[t(1,iti);mp3(i);mp2(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[t(2,iti);t(3,iti);mp3(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[mp3(i);t(3,iti);mp2(i);t(4,iti)];nt1=nt1+li;i=find(bm==1); % Sides 3 and 1 are refinedli=length(i); iti=it(i);t1(:,(nt1+1):(nt1+li))=[mp3(i);t(2,iti);mp1(i);t(4,iti)];nt1=nt1+li;t1(:,(nt1+1):(nt1+li))=[t(3,iti);t(1,iti);mp3(i);t(4,iti)];nt1=nt1+length(i);t1(:,(nt1+1):(nt1+li))=[t(3,iti);mp3(i);mp1(i);t(4,iti)];nt1=nt1+li;

Page 89: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.5 多重网格 V 循环算法的实现 83

i=find(bm==0); % Side 3 is refinedli=length(i); iti=it(i);t1(:,(nt1+1):(nt1+li))=[t(3,iti);t(1,iti);mp3(i);t(4,iti)];nt1=nt1+li;t1(:,(nt1+1):(nt1+li))=[t(2,iti);t(3,iti);mp3(i);t(4,iti)];

下面 “aij.c” 需要用 MATLAB “mex” 命令编译.

程序 5.6 (找 A(i,j)).

/*============================================================** aij.c, aij.mex:** The calling syntax is:** b = aij(A,vi,vj)** where A should be a sparse matrix, vi and vj be integer* vertors. b is a row vector satisfying b_m=A(vi_m,vj_m).* This is a MEX-file for MATLAB.**==========================================================*/

/* $Revision: 1.0 $ */#include "mex.h"

/* Input Arguments */

#define A_IN prhs[0]#define vi_IN prhs[1]#define vj_IN prhs[2]

/* Output Arguments */

#define b_OUT plhs[0]

void mexFunction( int nlhs, mxArray *plhs[],int nrhs, const mxArray*prhs[] )

double *pr, *pi, *br, *bi, *vi, *vj;mwIndex *ir, *jc;

Page 90: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

84 第五章 有限元多重网格法

mwSize ni, nj, l, row, col, k;

/* Check for proper number of arguments */

if (nrhs != 3) mexErrMsgTxt("Three input arguments required."); else if (nlhs > 1) mexErrMsgTxt("Too many output arguments.");

ni = mxGetN(vi_IN)*mxGetM(vi_IN);nj = mxGetN(vj_IN)*mxGetM(vj_IN);if (ni != nj)

mexErrMsgTxt("The lengths of vi and vi must be equal");

pr = mxGetPr(A_IN);pi = mxGetPi(A_IN);ir = mxGetIr(A_IN);jc = mxGetJc(A_IN);vi = mxGetPr(vi_IN);vj = mxGetPr(vj_IN);

if (!mxIsComplex(A_IN))/* Create a matrix for the return argument */

b_OUT = mxCreateDoubleMatrix(1, ni, mxREAL);

/* Assign pointers to the various parameters */br = mxGetPr(b_OUT);

for (l=0; l<ni; l++)row = *(vi+l);row--;col = *(vj+l);for (k=*(jc+col-1); k<*(jc+col); k++)

if (*(ir+k)==row)*(br+l) = *(pr+k);

else/* Create a matrix for the return argument */

Page 91: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

5.6 作业 85

b_OUT = mxCreateDoubleMatrix(1, ni, mxCOMPLEX);

/* Assign pointers to the various parameters */br = mxGetPr(b_OUT);bi = mxGetPi(b_OUT);

for (l=0; l<ni; l++)row = *(vi+l);row--;col = *(vj+l);for (k=*(jc+col-1); k<*(jc+col); k++)

if (*(ir+k)==row)*(br+l) = *(pr+k);*(bi+l) = *(pi+k);

return;

5.6 作业

1. 证明引理5.2的 Gauss-Seidel 迭代的情形.2. 证明引理5.5.3. 利用完全多重网格方法求解例5.7. 探究不同的 l 的选取对完全多重

网格法所求近似解的精度的影响(参见定理5.8, 与直接法的解或与 V 循环多重网格解比较即可).

Page 92: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

86 第五章 有限元多重网格法

Page 93: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第六章 内罚有限元方法

内罚有限元方法是对数值解的梯度在单元公共边(面)上的跳量加罚,在对流扩散问题及波散射问题等领域有应用. 本章以高波数声波散射问题为例来介绍.

6.1 高波数声波散射问题

6.1.1 模型问题

我们考虑如下的 Helmholtz 问题:

−∆u− k2u = f x ∈ Ω,(6.1)∂u

∂n+ iku = g x ∈ Γ,(6.2)

其中 Ω ⊂ Rd, d = 2, 3 是凸多边形或凸多面体区域, Γ := ∂Ω, i =√−1 表

示虚数单位, n 表示 ∂Ω 的单位外法向. 假设 f ∈ L2(Ω), g ∈ H 12 (Γ). 上述

Helmholtz 问题是下面声波散射问题(时间依赖于 eiωt)的近似:

−∆u− k2u = f x ∈ Rd,(6.3)

rd−12

(∂(u− uinc)

∂r+ ik(u− uinc)

)→ 0 当r = |x| → ∞,(6.4)

其中 uinc 是入射波, k 1 是波数, 假设为常数. 阻抗边界条件(6.2)是辐射条件(6.4)的最低阶近似.

记 (·, ·) 和 〈·, ·〉 分别为 L2(Ω) 和 L2(∂Ω) 上的内积:

(u, v) =

∫Ω

uv, 〈u, v〉 =∫∂Ω

uv.

易知问题(6.1)–(6.2)的变分问题为:求 u ∈ H1(Ω) 使得

(6.5) a(u, v) = (f, v) + 〈g, v〉 , ∀v ∈ H1(Ω),

87

Page 94: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

88 第六章 内罚有限元方法

其中

a(u, v) = (∇u,∇v)− k2(u, v) + ik 〈u, v〉 .(6.6)

下面引入符号 “≲”, “≳” 和 “h”: A ≲ B 表示存在与波数 k, 网格尺寸h 以及加罚参数无关的常数 C > 0, 使得 A ≤ CB; A ≳ B 表示 B ≲ A;A h B 表示 B ≲ A 且 A ≳ B.

6.1.2 稳定性估计

本节给出 u 对 f 和 g 的连续依赖关系, 并证明问题(6.1)–(6.2)存在唯一解.首先我们知道区域 Ω 是(严格)星形区域, 即存在点 xΩ ∈ Ω 及常数

cΩ > 0, 使得

(x− xΩ) · n ≥ cΩ ∀x ∈ Γ.(6.7)

其次, 我们有如下恒等式:

引理 6.1. 令 α(x) := x− xΩ. 则

d ‖v‖2L2(Ω) + 2Re(v, α · ∇v) =∫Γ

α · n |v|2 , ∀v ∈ H1(Ω),(6.8)

(d− 2) ‖∇v‖2L2(Ω) + 2Re(∇v,∇(α · ∇v)

)=

∫Γ

α · n |∇v|2 ,(6.9)

∀v ∈ H2(Ω).

证明: 直接验证可知:

2Re(v, α · ∇v) =(α,∇|v|2

),

2Re(∇v,∇(α · ∇v)

)= 2 ‖∇v‖2L2(Ω) +

(α,∇|∇v|2

).

在区域 Ω上对上面两个等式利用分部积分并利用 div(α(x)) ≡ d即得证.

我们指出恒等式(6.9)也称为 Rellich 恒等式.

定理 6.2. 散射问题(6.1)–(6.2)的解 u 满足

‖u‖Hj(Ω) ≲ kj−1(‖f‖L2(Ω) + ‖g‖L2(Γ)

), j = 0, 1,(6.10)

‖u‖H2(Ω) ≲ k(‖f‖L2(Ω) + ‖g‖L2(Γ)

)+ ‖g‖

H12 (Γ)

.(6.11)

Page 95: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.1 高波数声波散射问题 89

证明: 证明的思路是分别取检验函数 v = u 及 v = α · ∇u, 并利用 Rellich恒等式.首先, 在(6.5)中令 v = u, 并取实部得:

‖∇u‖2L2(Ω) − k2 ‖u‖2L2(Ω) ≤ |(f, u) + 〈g, u〉|(6.12)

≤ ‖f‖L2(Ω) ‖u‖L2(Ω) + ‖g‖L2(Γ) ‖u‖L2(Γ) .

取虚部得:

k ‖u‖2L2(Γ) ≤ ‖f‖L2(Ω) ‖u‖L2(Ω) + ‖g‖L2(Γ) ‖u‖L2(Γ)

≤ ‖f‖L2(Ω) ‖u‖L2(Ω) +1

2k‖g‖2L2(Γ) +

k

2‖u‖2L2(Γ)

从而

k ‖u‖2L2(Γ) ≤ 2 ‖f‖L2(Ω) ‖u‖L2(Ω) +1

k‖g‖2L2(Γ) .(6.13)

代入(6.12)得

‖∇u‖2L2(Ω) − k2 ‖u‖2L2(Ω)(6.14)

≤ ‖f‖L2(Ω) ‖u‖L2(Ω) +1

2k‖g‖2L2(Γ) +

k

2‖u‖2L2(Γ)

≤ 2 ‖f‖L2(Ω) ‖u‖L2(Ω) +1

k‖g‖2L2(Γ) .

其次, 在(6.5)中令 v = 2α · ∇u, 取实部并利用(6.9)和(6.8),

2Re(∇u,∇(α · ∇u)

)− 2k2 Re

(u, α · ∇u

)+ 2Re

(ik 〈u, α · ∇u〉

)=

∫Γ

α · n |∇u|2 − (d− 2) ‖∇u‖2L2(Ω) − k2

∫Γ

α · n |u|2 + k2d ‖u‖2L2(Ω)

+ 2Re(ik 〈u, α · ∇u〉

)= 2Re

(f, α · ∇u

)+ 2Re 〈g − iku, α · ∇u〉 .

故由(6.13)和(6.14)得

k2 ‖u‖2L2(Ω) + ‖∇u‖2L2(Ω) +

∫Γ

α · n |∇u|2

= (d− 1)(‖∇u‖2L2(Ω) − k

2 ‖u‖2L2(Ω)) + k2∫Γ

α · n |u|2 − 2Re 〈iku, α · ∇u〉

+ 2Re(f, α · ∇u

)+ 2Re 〈g, α · ∇u〉

≤ Ck(2 ‖f‖L2(Ω) ‖u‖L2(Ω) +

1

k‖g‖2L2(Γ)

)+cΩ2

∫Γ

|∇u|2 + 1

2‖∇u‖2L2(Ω)

+ C(‖f‖2L2(Ω) + ‖g‖2L2(Γ))

Page 96: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

90 第六章 内罚有限元方法

≤ k2

2‖u‖2L2(Ω) +

cΩ2

∫Γ

|∇u|2 + 1

2‖∇u‖2L2(Ω) + C(‖f‖2L2(Ω) + ‖g‖

2L2(Γ)).

再由(6.7)可得

‖∇u‖2L2(Ω) + k2 ‖u‖2L2(Ω) + cΩ

∫Γ

|∇u|2 ≲ ‖f‖2L2(Ω) + ‖g‖2L2(Γ) .(6.15)

即(6.10)成立.最后, 由椭圆方程正则性理论,

‖u‖H2(Ω) ≲ ‖∆u‖L2(Ω) + ‖u‖L2(Ω) + ‖∂nu‖H 12 (Γ)

≲ ‖∆u‖L2(Ω) + ‖u‖L2(Ω) + ‖g‖H 12 (Γ)

+ k ‖u‖H

12 (Γ)

≲ ‖f‖L2(Ω) + k2 ‖u‖L2(Ω) + ‖g‖H 12 (Γ)

+ k ‖u‖H1(Ω)

≲ k(‖f‖L2(Ω) + ‖g‖L2(Γ)

)+ ‖g‖

H12 (Γ)

.

证毕.

注 6.3. 由(6.13)和(6.15)可得

‖∇u‖L2(Γ) + k ‖u‖L2(Γ) ≲ ‖f‖L2(Ω) + ‖g‖L2(Γ) .(6.16)

推论 6.4. 变分问题(6.5)存在唯一解 u.

6.2 有限元方法误差估计

设Mh 是 Ω 的一个三角剖分, 设 Vh ⊂ H1(Ω) 是Mh 上的分片线性有限元空间. 则(6.5)的有限元离散为: 求 uh ∈ Vh 使得

(6.17) a(uh, vh) = (f, vh) + 〈g, vh〉 , ∀vh ∈ Vh,

记 eh := u − uh 为误差函数. 在(6.5)中令 v = vh ∈ Vh 并与(6.17)相减得 Galerkin 正交性:

a(eh, vh) = 0 ∀vh ∈ Vh.(6.18)

记 Ih : C(Ω) 7→ Vh 为有限元插值算子, 则由定理4.13有如下插值误差估计

(6.19) ‖v − Ihv‖L2(Ω) ≲ h2 |v|H2(Ω) , ‖v − Ihv‖H1(Ω) ≲ h |v|H2(Ω) .

定义能量范数

‖|v|‖ :=(‖∇v‖2L2(Ω) + k2 ‖v‖2L2(Ω)

) 12 .(6.20)

Page 97: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.2 有限元方法误差估计 91

由迹定理2.16得

k ‖v‖2L2(Γ) ≲ k ‖v‖L2(Ω) ‖v‖H1(Ω) ≲ ‖|v|‖2,

从而由(6.6)易得半双线性形式 a 的连续性:

a(u, v) ≲ ‖|u|‖‖|v|‖ ∀u, v ∈ H1(Ω).(6.21)

显然

Re a(v, v) = ‖|v|‖2 − 2k2 ‖v‖2L2(Ω) , Im a(v, v) = k ‖v‖2L2(Γ) ,(6.22)

所以半双线性形式不是强制的. 对于这类非强制椭圆问题的有限元方法的误差分析, 可以采用经典的对偶论证技巧.

6.2.1 经典的对偶论证

论证过程可分为以下三步.

第一步: 用 L2 误差控制 H1 误差.

由 Galerkin 正交性(6.18)及连续性(6.21),

|a(eh, eh)| = |a(eh, u− vh)| ≲ ‖|eh|‖‖|u− vh|‖ ∀vh ∈ Vh.(6.23)

从而由(6.22)得

‖|eh|‖2 ≲ ‖|eh|‖‖|u− vh|‖+ k2 ‖eh‖2L2(Ω) ,

‖|eh|‖ ≲ ‖|u− vh|‖+ k ‖eh‖L2(Ω) .(6.24)

第二步: 用 H1 误差控制 L2 误差.

引入伴随问题:

−∆w − k2w = ρ x ∈ Ω,∂w

∂n− ikw = 0 x ∈ Γ(6.25)

易知

a(v, w) = (v, ρ) ∀v ∈ H1(Ω).(6.26)

Page 98: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

92 第六章 内罚有限元方法

类似于定理6.2可得正则性估计:

‖w‖H2(Ω) ≲ k ‖ρ‖L2(Ω) .(6.27)

在(6.26)中取 v = ρ = eh 得

‖eh‖2L2(Ω) = a(eh, w) = a(eh, w − Ihw) (Galerkin 正交性(6.18))(6.28)

≲ ‖|eh|‖‖|w − Ihw|‖ (连续性(6.21))

≲ ‖|eh|‖h(1 + kh) |w|H2(Ω) (插值误差估计(6.19))

≲ ‖|eh|‖kh(1 + kh) ‖eh‖L2(Ω) (正则性(6.27)),

‖eh‖L2(Ω) ≲ kh(1 + kh)‖|eh|‖.(6.29)

第三步: 合并.

将(6.29)代入(6.24)得

‖|eh|‖ ≲ ‖|u− vh|‖+ k2h(1 + kh)‖|eh|‖ ∀vh ∈ Vh.

故只要 k2h 足够小, 就有

‖|eh|‖ ≲ infvh∈Vh

‖|u− vh|‖.

再代入(6.29)可得 L2 误差估计. 总之, 我们有如下定理

定理 6.5. 存在常数 C0 与 k, h 无关, 当 k2h ≤ C0 时, 有如下误差估计:

‖u− uh‖H1(Ω) ≲ infvh∈Vh

‖|u− vh|‖,(6.30)

‖u− uh‖L2(Ω) ≲ kh infvh∈Vh

‖|u− vh|‖.

更进一步

‖u− uh‖H1(Ω) ≲ khM(f, g), ‖u− uh‖L2(Ω) ≲ k2h2M(f, g).(6.31)

其中 M(f, g) = ‖f‖L2(Ω) + ‖g‖L2(Γ) +1k‖g‖

H12 (Γ)

.

证明: 只需证明(6.31). 取 vh = Ihu. 由插值误差估计(6.19)得

‖|u− Ihu|‖ ≲ kh(1 + kh) |u|H2(Ω) .

另外, 由定理6.2知

(6.32) ‖u‖H2(Ω) ≲ kM(f, g).

得证.

Page 99: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.2 有限元方法误差估计 93

注 6.6. (i) 对于大波数问题, 条件 k2h ≤ C0 太强了.(ii) 有限元解的 H1 误差与插值 H1 误差同阶, L2 误差是插值 L2 误差

的 O(k) 倍.

6.2.2 改进的对偶论证

本节将减弱定理6.5的网格条件. 在 k3h2 足够小的条件下推导误差估计. 我们的技巧是修改经典对偶论证的第二步, 将(6.28)中 w 的插值 Ihw 改为其椭圆投影 Phw, 其中 Phw ∈ Vh 定义为:

(∇Phw,∇vh) + (Phw, vh) = (∇w,∇vh) + (w, vh) ∀vh ∈ Vh.(6.33)

由第四章, 迹定理和正则性估计(6.27)可得误差估计:

‖w − Phw‖L2(Ω) + h ‖w − Phw‖H1(Ω) + h12 ‖w − Phw‖L2(Γ)(6.34)

≲ h2 |w|H2(Ω) ≲ kh2 ‖eh‖L2(Ω) .

改进的对偶论证过程也分为三步.

第一步.

除了控制H1(Ω)误差 (见(6.24)),还要控制 L2(Γ)误差. 由(6.22)和(6.23)得

k ‖eh‖2L2(Γ) ≲ ‖|eh|‖‖|u− vh|‖.(6.35)

第二步.

将(6.28)的推导修改如下: ∀vh ∈ Vh

‖eh‖2L2(Ω) =a(eh, w) = a(eh, w − Phw)

=(∇eh,∇(w − Phw)) + (eh, w − Phw)

− (k2 + 1)(eh, w − Phw) + ik 〈eh, w − Phw〉

=(∇(u− vh),∇(w − Phw)) + (u− vh, w − Phw)

− (k2 + 1)(eh, w − Phw) + ik 〈eh, w − Phw〉

≲ ‖u− vh‖H1(Ω) h |w|H2(Ω)

+ k2 ‖eh‖L2(Ω) h2 |w|H2(Ω) + k ‖eh‖L2(Γ) h

32 |w|H2(Ω)

≲kh ‖u− vh‖H1(Ω) ‖eh‖L2(Ω) + k3h2 ‖eh‖2L2(Ω)

+ (kh)32 ‖|eh|‖

12 ‖|u− vh|‖

12 ‖eh‖L2(Ω)

Page 100: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

94 第六章 内罚有限元方法

所以, 当 k3h2 足够小时,

‖eh‖L2(Ω) ≲ kh infvh∈Vh

‖|u− vh|‖+ (kh)2‖|eh|‖.(6.36)

第三步.

将(6.36)代入(6.24)得

‖|eh|‖ ≲ (1 + k2h)‖|u− vh|‖+ k3h2‖|eh|‖ ∀vh ∈ Vh.

故只要 k3h2 足够小, 就有

‖|eh|‖ ≲ (1 + k2h) infvh∈Vh

‖|u− vh|‖.

再代入(6.29)可得 L2 误差估计. 总之, 我们有如下定理

定理 6.7. 存在常数 C0 与 k, h 无关, 当 k3h2 ≤ C0 时, 有如下误差估计:

‖u− uh‖H1(Ω) ≲ (1 + k2h) infvh∈Vh

‖|u− vh|‖,(6.37)

‖u− uh‖L2(Ω) ≲ kh infvh∈Vh

‖|u− vh|‖.

更进一步

‖u− uh‖H1(Ω) ≲ (kh+ k3h2)M(f, g),(6.38)

‖u− uh‖L2(Ω) ≲ k2h2M(f, g).(6.39)

其中 M(f, g) = ‖f‖L2(Ω) + ‖g‖L2(Γ) +1k‖g‖

H12 (Γ)

.

注 6.8. (i) 此定理的 L2 估计与定理6.7的相同, 但网格条件更弱.(ii) H1 误差界包含两项: 第一项为 O(kh) 与插值误差同阶; 第二项为

O(k3h2). 当 k2h ≲ 1 时, 误差界为 O(kh) 与定理6.7的相同; 当 k2h 1 时,第二项占主导地位, 称为 “污染误差”.

推论 6.9. 存在正常数 C0, C0 与 k, h 无关, 当 k3h2 ≤ C0 或 kh ≥ C0 时,

‖∇uh‖L2(Ω) + k ‖uh‖L2(Ω) ≲M(f, g),

进而有限元方法(6.17)存在唯一解.

证明. 由定理 6.2、定理 6.7及三角不等式可得证明.

Page 101: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.3 内罚有限元方法 95

6.3 内罚有限元方法

6.3.1 离散格式

EIh 是 Ω 内部的单元边(面)的集合, EBh 是 ∂Ω 上的单元边(面)的集合. ∀e ∈ EIh, 记 he 为 e 的直径. 设 K1,K2 ∈Mh 是以 e 为公共边(面)的两个单元. 定义 e 上的跳量:

(6.40) [∇v · n] = (∇v|K1)nK1

+ (∇v|K2)nK2

,

其中 nKj为 Kj , j = 1, 2 的单位外法向量. 引入内部的单元边(面)上的关

于梯度的跳量的加罚项:

(6.41) J(u, v) =∑e∈EI

h

γehe

∫e

[∇u · n] [∇v · n] ,

γe 称为加罚参数, 取成带非负虚部的复数. 定义

ah(u, v) = a(u, v) + J(u, v).(6.42)

定义空间V =

v ∈ H1(Ω) : v|K ∈ H2(K), ∀K ∈Mh

.

显然对(6.1)–(6.2)的精确解 u, 有 J(u, v) = 0,∀v ∈ V , 故其满足:

(6.43) ah(u, v) = (f, v) + 〈g, v〉 ∀v ∈ V.

求解问题(6.1)–(6.2)的内罚有限元方法为:求 uh ∈ Vh 使得

(6.44) ah(uh, vh) = (f, vh) + 〈g, vh〉 ∀vh ∈ Vh.

注意到当 γe ≡ 0 时, 内罚有限元方法就退化为经典的有限元方法. 在下面的理论分析中, 不妨设 γe ≡ γ 为常数.

6.3.2 椭圆投影

定义半双线性形式

bh(u, v) = (∇u,∇v) + (u, v) + J(u, v).(6.45)

类似于上一节, 我们引人 H1 投影 P γh : P γ

hw ∈ Vh 满足

bh(vh, Pγhw) =bh(vh, w) ∀vh ∈ Vh.(6.46)

Page 102: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

96 第六章 内罚有限元方法

为了方便, 引人空间 V 上的离散 H2 半范数:

|v|H2(Mh):=( ∑

K∈Mh

|v|2H2(K)

) 12

.

显然, 对于 ∀vh ∈ Vh, 由于 vh 是分片线性的, 有 |vh|H2(Mh)= 0. 为了证明

P γhw 的误差估计, 我们先给出 bh 的连续性和强制性.

引理 6.10. 对 u, v ∈ V , 成立

|bh(u, v)| ≲ (1 + |γ|)(‖u‖H1(Ω) + h |u|H2(Mh)

)(6.47)

×(‖v‖H1(Ω) + h |v|H2(Mh)

).

存在常数 α0 > 0, 使得当 Re γ ≥ −α0 时

Re bh(vh, vh) ≥1

2‖vh‖2H1(Ω) ∀vh ∈ Vh.(6.48)

证明. 可以容易地用局部迹不等式证明,

|J(u, v)| ≲ |γ|(‖∇u‖L2(Ω) + h |u|H2(Mh)

)(‖∇v‖L2(Ω) + h |v|H2(Mh)

),

从而(6.47)成立. 另外, 对 vh ∈ Vh,

Re bh(vh, vh) = ‖vh‖2H1(Ω) + Re γ∑e∈EI

h

he ‖[∇vh · n]‖2L2(e) .

易知, 存在常数 β0 > 0 使得∑e∈EI

h

he ‖[∇vh · n]‖2L2(e) ≤ β0 ‖∇vh‖2L2(Ω) .

故取 α0 =1

2β0可得(6.48)成立.

下面引理给出 P γh 的误差估计, 其证明留做习题.

引理 6.11. 存在常数 α0 > 0, 当 Re γ ≥ −α0, |γ| ≲ 1 时

‖w − P γhw‖L2(Ω) + h ‖w − P γ

hw‖H1(Ω)

+ h12 ‖w − P γ

hw‖L2(Γ) ≲ h2 |w|H2(Ω) .

6.3.3 稳定性估计

分两种 k3h2 足够小和 k3h2 ≳ 1 两种情形来讨论.

Page 103: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.3 内罚有限元方法 97

k3h2 足够小的情形

我们将采用对偶论证加椭圆投影的技巧来证明稳定性估计.

定理 6.12. 设 uh 是内罚有限元方法(6.44)的解. 存在常数 C0 > 0, α0 > 0,当 k3h2 ≤ C0,Re γ ≥ −α0, Im γ ≥ 0, |γ| ≲ 1 时, 下面估计成立:

‖∇uh‖L2(Ω) + k ‖uh‖L2(Ω) ≲ ‖f‖L2(Ω) + ‖g‖L2(Γ) .(6.49)

证明. 首先, 在(6.44)中令 vh = uh 并分别取虚部和实部得

k ‖uh‖2L2(Γ) ≤ ‖f‖L2(Ω) ‖uh‖L2(Ω) + ‖g‖L2(Γ) ‖uh‖L2(Γ)

≤ ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

2k‖g‖2L2(Γ) +

k

2‖uh‖2L2(Γ) ;

Re bh(uh, uh)− (k2 + 1) ‖uh‖2L2(Ω)

≤ ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

2k‖g‖2L2(Γ) +

k

2‖uh‖2L2(Γ) .

k ‖uh‖2L2(Γ) ≤ 2 ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

k‖g‖2L2(Γ) ;(6.50)

1

2‖uh‖2H1(Ω) − (k2 + 1) ‖uh‖2L2(Ω)(6.51)

≤ 2 ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

k‖g‖2L2(Γ) .

其次, 在对偶问题(6.26)中取 v = ρ = uh. 类似于定理6.2及(6.16)可得稳定性估计:

‖w‖H2(Ω) + k ‖w‖H1(Ω) + k2 ‖w‖L2(Ω) + k2 ‖w‖L2(Γ) ≲ k ‖uh‖L2(Ω) .

不妨设 k3h2 ≲ 1. 利用(6.46)和引理6.11得

‖uh‖2L2(Ω) =a(uh, w) = ah(uh, w)

=(f, P γhw) + 〈g, P

γhw〉+ ah(uh, w − P γ

hw)

=(f, w) + (f, P γhw − w) + 〈g, w〉+ 〈g, P

γhw − w〉

− (k2 + 1)(uh, w − P γhw) + ik 〈uh, w − P γ

hw〉≲ ‖f‖L2(Ω)

(‖w‖L2(Ω) + h2 |w|H2(Ω)

)+ ‖g‖L2(Γ)

(‖w‖L2(Γ) + h

32 |w|H2(Ω)

)+ k2h2 ‖uh‖L2(Ω) |w|H2(Ω) + kh

32 ‖uh‖L2(Γ) |w|H2(Ω)

≲k−1 ‖f‖L2(Ω) ‖uh‖L2(Ω) + k−1 ‖g‖L2(Γ) ‖uh‖L2(Ω)

+ k3h2 ‖uh‖2L2(Ω) + k2h32 ‖uh‖L2(Γ) ‖uh‖L2(Ω) ,

Page 104: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

98 第六章 内罚有限元方法

由(6.50)得

‖uh‖L2(Ω) ≲k−1 ‖f‖L2(Ω) + k−1 ‖g‖L2(Γ)

+ k3h2 ‖uh‖L2(Ω) + k2h32 ‖uh‖L2(Γ)

≲k−1 ‖f‖L2(Ω) + k−1 ‖g‖L2(Γ)

+ k3h2 ‖uh‖L2(Ω) + (kh)32

(‖f‖

12

L2(Ω) ‖uh‖12

L2(Ω) + k−12 ‖g‖L2(Γ)

)≲k−1 ‖f‖L2(Ω) + k−1 ‖g‖L2(Γ) + k3h2 ‖uh‖L2(Ω) ,

所以, 当 k3h2 足够小时,

‖uh‖L2(Ω) ≲ k−1(‖f‖L2(Ω) + ‖g‖L2(Γ)

).

将上式代入(6.51)可得

‖∇uh‖L2(Ω) ≲ ‖f‖L2(Ω) + ‖g‖L2(Γ) .

得证.

注 6.13. (i) 此定理给出的内罚有限元解的稳定性估计与连续问题的解 u 的估计相同 (见(6.10)).

(ii)当 γ = 0时,此定理给出了有限元解的稳定性估计,比之前推论6.9的估计要好, 那里多了一项 k−1 ‖g‖

H12 (Γ)

.

k3h2 ≳ 1 的情形

注意到 uh 在 Mh 上是分片线性函数, 所以在每个单元 K ∈ Mh 上有∆uh = 0. 我们将首先通过在(6.44)中取 vh = uh, 得到 uh 的 L2 范数以及∂uh

∂n跨过 e ∈ EIh 的跳量可以被 ‖∇uh‖L2(Ω) 和给定数据来估计. 然后, 通过

在每个单元上分部积分推导相反的不等式, 即 ‖∇uh‖L2(Ω) 可以被∂uh

∂n跨过

e ∈ EIh 的跳量, 及 uh 的 L2 范数来估计. 最后结合两类估计给出最终的稳定性估计. 我们不妨假设加罚参数是纯虚数, 即 γ = iγi, γi > 0.我们首先通过在(6.44)中取 vh = uh, 类似于(6.50)和(6.51)可得如下引

理, 其证明略去.

引理 6.14. 设 γ = iγi, γi > 0, uh ∈ Vh 是(6.44)的解, 则∣∣∣k2 ‖uh‖2L2(Ω) − ‖∇uh‖2L2(Ω)

∣∣∣ ≤ 2 ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

k‖g‖2L2(Γ) ,(6.52) ∑

e∈EIh

γihe ‖[∇uh · n]‖2L2(e) + k ‖uh‖2L2(Γ)(6.53)

≤ 2 ‖f‖L2(Ω) ‖uh‖L2(Ω) +1

k‖g‖2L2(Γ) .

Page 105: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.3 内罚有限元方法 99

然后通过在每个单元上分部积分来估计 ‖∇uh‖L2(Ω).

引理 6.15. 设 γ = iγi, γi > 0. 则对任何 0 < ε < 1, 存在常数 cε 使得

‖∇uh‖2L2(Ω) ≤εk2 ‖uh‖2L2(Ω) +

cεkh

k ‖uh‖2L2(Γ)

+cε

k2h2γi

∑e∈EI

h

γihe ‖[∇uh · n]‖2L2(e) .

证明: 注意 uh 是分片线性的, 我们有

‖∇uh‖2L2(Ω) =∑

K∈Mh

∫K

|∇uh|2 =∑

K∈Mh

∫∂K

∂uh∂n

uh

=∑e∈EB

h

∫e

∂uh∂n

uh +∑e∈EI

h

∫e

[∇uh · n]uh

≤∑e∈EB

h

‖∇uh‖L2(e) ‖uh‖L2(e) +∑e∈EI

h

‖[∇uh · n]‖L2(e) ‖uh‖L2(e) .

对任何 e ∈ EIh, 设 Ke ∈Mh 是一个包含 e 的单元. 由迹不等式和逆估计,

‖∇uh‖2L2(Ω) ≲∑e∈EB

h

h−1/2e ‖∇uh‖L2(Ke)

‖uh‖L2(e)

+∑e∈EI

h

h−1/2e ‖[∇uh · n]‖L2(e) ‖uh‖L2(Ke)

≲h−1/2 ‖∇uh‖L2(Ω) ‖uh‖L2(Γ)

+ γ−1/2i h−1

(∑e∈EI

h

γihe ‖[∇uh · n]‖2L2(e)

) 12

‖uh‖L2(Ω)

≤ε ‖∇uh‖2L2(Ω) +C

εkhk ‖uh‖2L2(Γ) + ε(1− ε)k2 ‖uh‖2L2(Ω)

+C

ε(1− ε)k2h2γi

∑e∈EI

h

γihe ‖[∇uh · n]‖2L2(e)

可得引理6.15成立.

结合引理6.15和6.14我们可以推导内罚有限元方法的稳定性估计.

定理 6.16. 设 γ = iγi, γi > 0. 则格式(6.44)的解 uh ∈ Vh 满足稳定性估计:

‖∇uh‖2L2(Ω) + k2 ‖uh‖2L2(Ω) ≲ C2sta ‖f‖

2L2(Ω) + Csta ‖g‖2L2(Γ) ,(6.54) ∑

e∈EIh

γihe ‖[∇uh · n]‖2L2(e) +k ‖uh‖2L2(Γ)(6.55)

≲ Csta

k‖f‖2L2(Ω) +

1

k‖g‖2L2(Γ) .

Page 106: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

100 第六章 内罚有限元方法

这里Csta :=

1

k+

1

k2h+

1

k3h2γi.

特别当 k3h2 ≳ 1 且 0 < γi ≲ 1 时,

‖∇uh‖L2(Ω) + k ‖uh‖L2(Ω) ≲1

γi

(‖f‖L2(Ω) + ‖g‖L2(Γ)

).(6.56)

证明: 在引理6.15中取 ε =1

3并利用引理6.14,

‖∇uh‖2L2(Ω) ≤1

3k2 ‖uh‖2L2(Ω) +

C

khk ‖uh‖2L2(Γ)

+C

k2h2γi

∑e∈EI

h

γihe ‖[∇uh · n]‖2L2(e)

≤1

3k2 ‖uh‖2L2(Ω) + C

( 1

kh+

1

k2h2γi

)(2 ‖f‖L2(Ω) ‖uh‖L2(Ω)

+1

k‖g‖2L2(Γ)

)≤2

3k2 ‖uh‖2L2(Ω) + C

( 1

k2h+

1

k3h2γi

)2‖f‖2L2(Ω)

+ C( 1

k2h+

1

k3h2γi

)‖g‖2L2(Γ) .

从而, 由(6.52),

k2 ‖uh‖2L2(Ω) ≤‖∇uh‖2L2(Ω) + 2 ‖f‖L2(Ω) ‖uh‖L2(Ω) +

1

k‖g‖2L2(Γ)

≤5

6k2 ‖uh‖2L2(Ω) + C

(1k+

1

k2h+

1

k3h2γi

)2‖f‖2L2(Ω)

+ C(1k+

1

k2h+

1

k3h2γi

)‖g‖2L2(Γ) .

因此,

k2 ‖uh‖2L2(Ω) ≲ C2sta ‖f‖

2L2(Ω) + Csta ‖g‖2L2(Γ) .

再由 Lemma 6.14及以上估计可得定理的证明.

注 6.17. 上面定理只考虑了加罚参数为纯虚数的情形, 对一般的加罚参数γ = γr + iγi, γi > 0 的情形, 只要 γr ≲ γi, 可以证明此定理仍然成立. 详细证明留在习题.

推论 6.18. 内罚有限元方法(6.44)对任何 k > 0, h > 0 和 γi > 0 都存在唯一解.

Page 107: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.3 内罚有限元方法 101

6.3.4 内罚有限元方法的误差估计

本小节我们首先利用上一小节的稳定性估计得到椭圆投影 P γh u 与内罚

有限元解 uh 之间的误差, 最后利用三角不等式得到 u 与 uh 之间的误差.

定理 6.19. 设 uh 是内罚有限元方法(6.44)的解, C0 > 0, α0 > 0 是定理6.12中的常数. 设以下两个条件之一成立:

(i) k3h2 ≤ C0,Re γ > −α0, Im γ ≥ 0, |γ| ≲ 1,

(ii) k3h2 ≳ 1, γi h 1, |γ| ≲ 1

则存在两个正的常数 C1 和 C2 使得下列估计成立:

‖u− uh‖H1(Ω) ≤(C1kh+ C2k

3h2)M(f, g),(6.57)

‖u− uh‖L2(Ω) ≤(C1kh

2 + C2k2h2)M(f, g).(6.58)

证明. 在条件 (ii) 下, 由定理6.16和6.2有

‖|u|‖+ ‖|uh|‖ ≲ ‖f‖L2(Ω) + ‖g‖L2(Γ) ,

所以由三角不等式知(6.57)和(6.58)成立.下面在条件 (i)下推导误差估计. 记 eh := u−uh为误差函数. 在(6.43)中

令 v = vh ∈ Vh 并与(6.44)相减得下面误差方程.

(6.59) ah(eh, vh) = 0 ∀vh ∈ Vh.

利用椭圆投影对误差做如下分解:

eh = η − ξ, η := u− P γh u, ξ := uh − P γ

h u.

由引理6.11和(6.32)可得:

‖η‖L2(Ω) + h ‖η‖H1(Ω) + h12 ‖η‖L2(Γ) ≲ kh2M(f, g).(6.60)

由(6.59)和(6.46)得

ah(ξ, vh) = ah(η, vh) = −(k2 + 1)(η, vh) + ik 〈η, vh〉 ∀vh ∈ Vh.(6.61)

上面方程说明 ξ ∈ Vh 是离散格式(6.44)的当 f = −(k2 + 1)η 和 g ≡ ikη 时的解. 由定理6.12及(6.60)可得:

‖ξ‖H1(Ω) +k ‖ξ‖L2(Ω) ≲ k2 ‖η‖L2(Ω) + k ‖η‖L2(Γ)(6.62)

≲ (k3h2 + k2h32 )M(f, g) ≲ (kh+ k3h2)M(f, g).

最后由上式, 引理6.11, (6.32), 以及三角不等式可知(6.57)成立, 且(6.58)在k2h ≳ 1 时成立. 在 k2h 时足够小时的 L2 估计可以利用经典的对偶论证得到, 这里略去证明.

Page 108: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

102 第六章 内罚有限元方法

1 2

3 4

5

6 7

8

9

10

11

12

13

图 6.1: 正三角形网格模板

注 6.20. (a) (6.57)和(6.58)中的第二项是污染误差, 和线性有限元的相同.(b) 下节我们会看到通过调整加罚参数, 可以显著减少污染误差.(c) 当条件 (i) 和 (ii) 都不满足时的误差估计和稳定性估计, 目前还没有

证明.

6.4 最优加罚参数

本节以二维正三角形网格为例来说明加罚参数的选取对污染误差的影响.

6.4.1 内罚有限元方程

图6.1给出了正三角形网格的一个局部, 共有 13个节点(点 1− 13). 设第 i 个节点 Pi 对应的节点基函数为 φi. 通过简单的计算可得

(∇φ1,∇φ1) = 2√3, (φ1, φ1) =

√3

4h2, J(φ1, φ1) = 16γ.

当 j = 2, · · · , 7 时,

(∇φj ,∇φ1) = −√3

3, (φj , φ1) =

√3

24h2, J(φj , φ1) = −4γ.

Page 109: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.4 最优加罚参数 103

当 j = 8, · · · , 13 时,

(∇φj ,∇φ1) = 0, (φj , φ1) = 0, J(φj , φ1) =4

3γ.

从而可得节点 P1 (如图) 处的内罚有限元方程

(2√3 + 16γ

)u1 −

(√33

+ 4γ)(u2 + · · ·+ u7) +

4

3γ(u8 + · · ·+ u13)(6.63)

− (kh)2(√3

4u1 +

√3

24(u2 + · · ·+ u7)

)= f1.

6.4.2 离散波数

给定波数 k, 对任意入射角 θ, 易知平面波 u = eik(x cos θ+y sin θ) 满足Helmholtz 方程

∆u+ k2u = 0.

由(6.63)知上面方程在节点 P1 处的内罚有限元离散为

(2√3 + 16γ

)u1 −

(√33

+ 4γ)(u2 + · · ·+ u7) +

4

3γ(u8 + · · ·+ u13)(6.64)

− (kh)2(√3

4u1 +

√3

24(u2 + · · ·+ u7)

)= 0.

设 Pj 点的坐标为 (xj , yj). 如果数 kγh 使得 uj = eikγh(xj cos θ+yj sin θ) 满足方

程(6.64), 则称 kγh 为内罚有限元方法的离散波数. 显然 kγh 也与入射角 θ 有关. 记 t = kh, tγh = kγhh. 不妨设 P1 为坐标原点. 则 u1 = 1. 通过简单的计算可得

u2 + · · ·+ u7 =5∑

j=0

eitγh(cos jπ3 cos θ+sin jπ

3 sin θ) =5∑

j=0

eitγh cos(θ− jπ3 )

= 22∑

j=0

cos(tγh cos

(θ − jπ

3

)),

u8 + · · ·+ u13 =5∑

j=0

eitγh√3 cos(θ− (2j+1)π

6 )

= 22∑

j=0

cos(√

3tγh cos(θ − (2j + 1)π

6

)).

Page 110: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

104 第六章 内罚有限元方法

代入(6.64)得离散波数所满足的方程

F (tγh, t, θ, γ) :=(√

3−√3

8t2 + 8γ

)(6.65)

−(√3

3+

√3

24t2 + 4γ

) 2∑j=0

cos(tγh cos

(θ − jπ

3

))+

4

2∑j=0

cos(√

3tγh cos(θ − (2j + 1)π

6

))=0.

6.4.3 最优加罚参数

离散波数与平面波的入射角有关. 我们希望离散波数 kγh 与精确波数 k

的差越小越好, 即 |tγh − t| 越小越好. 为了应用隐函数定理证明 tγh 在 t 附近的存在性及估计 tγh 的误差, 我们需要计算 F ′

1(t, t, θ, γ) 及 F (t, t, θ, γ) 在t = 0 处的 Taylor 展开. 这可以通过如下 MATLAB 脚本求得:

syms t t_h gamma thetaF=sqrt(3)-sqrt(3)/8*t^2+8*gamma-(sqrt(3)/3+sqrt(3)/24*t^2+...4*gamma)*sum(cos(t_h*cos(theta-[0:2]*pi/3)))+4*gamma/3*...sum(cos(sqrt(3)*t_h*cos(theta-[1:2:5]*pi/6)));

DF=diff(F,t_h);F=simple(subs(F,t_h,t));DF=simple(subs(DF,t_h,t));F=taylor(F,t,'order',8);F=simple(F);F=collect(collect(F,gamma),t);pretty(F);DF=taylor(DF,t,'order',3);DF=simple(DF);pretty(DF);

F ′1(t, t, θ, γ) =

√3

2t+O(t3),(6.66)

F (t, t, θ, γ) =(38γ +

√3

64

)t4(6.67)

+(γ(cos(6θ)

192− 1

24

)− 7√3

4608+

√3 cos(6θ)23040

)t6

+O(t8).

Page 111: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.4 最优加罚参数 105

由(6.66)及隐函数定理知, 当 t 足够小的时候, 在 t 的某一邻域内存在 tγh 满足(6.65). 由微分中值定理, 存在 s 介于 t 与 tγh 之间使得

F ′1(s, t, θ, γ)(t− t

γh) = F (t, t, θ, γ)− F (tγh, t, θ, γ)(6.68)

=(38γ +

√3

64

)t4 +

(γ(cos(6θ)

192− 1

24

)− 7√3

4608+

√3 cos(6θ)23040

)t6 +O(t8).

显然, γ = −√3

24+O(t2)时, |F ′

1(s, t, θ, γ)| |t− tγh| = O(t6). 取 γ = −

√3

24+mt2,

代入(6.68)整理得

|F ′1(s, t, θ, γ)| |t− t

γh| =

∣∣∣(3m8

+

√3

4608−√3

5760cos(6θ)

)t6 +O(t8)

∣∣∣.(6.69)

我们选取 m 使得 max0≤θ≤2π

∣∣ 3m8

+√3

4608−

√3

5760cos(6θ)

∣∣ 达到最小值, 此时应有3m8

+√3

4608= 0. 从而得最优加罚参数

γO := −√3

24−√3

1728t2.(6.70)

由(6.69),

|F ′1(s, t, θ, γO)| |t− tγO

h | ≤∣∣∣ √35760

t6 +O(t8)∣∣∣.

再由(6.66)得

|t− tγOh | ≤

∣∣ √3

5760t6 +O(t8)

∣∣∣∣√32t+O(t3)

∣∣ =∣∣∣ 1

2880t5 +O(t7)

∣∣∣.(6.71)

另外, 由(6.66)和(6.68)易得 γ = 0 时 (即对有限元方法)

∣∣t− t0h∣∣ ≤ ∣∣√3

64t4 +O(t6)

∣∣∣∣√32t+O(t3)

∣∣ =∣∣∣ 132t3 +O(t5)

∣∣∣.(6.72)

从而得如下定理:

定理 6.21. 设加罚参数 γ = γO. 当 kh 足够小的时候, 存在离散波数 kγOh

满足(6.65), 并且

limkh→0|kγO

h − k|k5h4

≤ 1

2880.

另外, 对有限元方法, 当 kh 足够小的时候,

limkh→0|k0h − k|k3h2

≤ 1

32.(6.73)

Page 112: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

106 第六章 内罚有限元方法

注 6.22. (i) 可以看出, 当 kh 足够小的时候, 有限元解的相位差 |k0h − k| =O(k3h2) 与其 H1 误差的污染误差项是同阶的.

(ii) 对一维问题线性内罚有限元方法可以证明污染误差与 |kγh − k| 同阶; 对高维情形已有数值实验表明仍是如此, 但还没有理论证明.

(iii) 最优加罚参数的选取依赖于网格剖分.

6.5 一个数值例子

设 Ω 是中心在原点, 边长为 1 的正六边形. 对任一自然数 n ≥ 1, 将Ω 剖分为边长为 h = 1/n 的小正三角形网格, 记为 Mh. 取 Helmholtz 方

−1 −0.5 0 0.5 1

−0.5

0

0.5

−1 −0.5 0 0.5 1

−0.5

0

0.5

图 6.2: Ω 和M1/7.

程(6.1)–(6.2)的精确解 u 为

(6.74) u =cos(kr)k

− cos k + i sin kk(J0(k) + iJ1(k)

)J0(kr)其中 Jν(z) 是第一类 Bessel 函数.记加罚参数为 γ 时的内罚有限元解为 uγh. 记 Ihu 为 u 的有限元插值.

由(6.19), (6.32), (6.38), (6.57)知

‖u− Ihu‖H1(Ω) ≤ C1kh;(6.75) ∥∥u− u0h∥∥H1(Ω)≤ C1kh+ C2k

3h2;(6.76)

‖u− uγOh ‖H1(Ω) ≤ C1kh+ C2k

3h2.(6.77)

Page 113: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.5 一个数值例子 107

其中后两式只在条件 k3h2 ≤ C0 下给出了证明. 另外, 由注6.22我们猜测估计(6.77)可以改进为

‖u− uγOh ‖H1(Ω) ≤ C1kh+ C2k

5h4.(6.78)

图6.3分别给出了 kh = 1, 0.5 时有限元插值 Ihu, 有限元解 u0h, 及内罚有限

0 50 100 150 200

0.12

0.24

0.5

1

1.5

k

Rela

tive

err

or

k h = 1

k h = 1

k h = 0 .5

k h = 0 .5

图 6.3: 虚线: 插值相对 H1 误差; 蓝线: 有限元解相对 H1 误差; 红点: 内罚有限元解 (γ = γO) 相对 H1 误差.

元解 uγOh 的相对 H1 误差. 可以看到插值相对误差基本上不随波数 k 的增

加而增大, 并且 kh = 1 的相对误差约为 kh = 0.5 的 2 倍, 验证了(6.75). 内罚有限元解 uγO

h 的相对误差几乎和插值的相重合, 说明其污染效应几乎没有. 有限元解 u0h 的污染效应在 k 约为 10 之后就开始体现出来, 先呈线性增长, 并且 kh = 1 时增长的斜率约为 kh = 0.5 时的 1

4, 验证了有限元解污染

误差项为 O(k(kh)2).下面列出部分程序. 先给出内罚有限元方法的 MATLAB 函数.

function [A,F,D,ud]=ipfemassem(b,p,e,t,c,a,f,gamma)% Internal Penalty Finite Element Method for elliptic problem.%% The elliptic problem is linear and is defined by% -div(c grad u)+a u=f,

Page 114: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

108 第六章 内罚有限元方法

% where c, a, and f are described in ASSEMPDE.%% u=ipfemassem(b,p,e,t,c,a,f,gamma) returns the IPFEM solution%% [A,F,D,ud]=ipfemassem(b,p,e,t,c,a,f,gamma) returns the% stiffness matrix A and the right-hand side vector F for% non-Dirichlet boundary points u=D*(A\F)+ud returns the% IPFEM solution to the full PDE problem.%% The geometry of the PDE problem is given by the triangle% data p, e, and t. See either INITMESH or PDEGEOM for details.%% b describes the boundary conditions of the PDE problem.% b can either be a Boundary Condition Matrix or the name of% Boundary M-file. See PDEBOUND for details.%

it1=t(1,:);it2=t(2,:);it3=t(3,:);nt = length(it1);np=size(p,2);

% Areas of triangles ar, lengths of edges sl, gradients of triangle% base functions (gx,gy)^T, and unit outward normal (nx,ny).[ar,sl,gx,gy,nx,ny]=femtrg(p,t);

%Assemble the PDE without the penalty term.[K,F,D,ud]=assempde(b,p,e,t,c,a,f);

%Assemble the penalty termJ=sparse(np,np); %Penalty term Jif gamma~=0

cc=pdetxpd(p,t,c); % Evaluate c at centers of trianglesnrc=size(cc,1);t=t(1:3,:); %Keep 1--3 rows%c(gx,gy)^Tcgx=zeros(2,nt);cgy=zeros(2,nt);

Page 115: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.5 一个数值例子 109

if nrc==1,for j=1:2

cgx(j,:)=cc.*gx(j,:);cgy(j,:)=cc.*gy(j,:);

endelseif nrc==2,

for j=1:2cgx(j,:)=cc(1,:).*gx(j,:);cgy(j,:)=cc(2,:).*gy(j,:);

endelseif nrc==3,

for j=1:2cgx(j,:)=cc(1,:).*gx(j,:)+cc(2,:).*gy(j,:);cgy(j,:)=cc(2,:).*gx(j,:)+cc(3,:).*gy(j,:);

endelseif nrc==4,

for j=1:2cgx(j,:)=cc(1,:).*gx(j,:)+cc(2,:).*gy(j,:);cgy(j,:)=cc(3,:).*gx(j,:)+cc(4,:).*gy(j,:);

endend

%GN(:,j,k)=(c\grad\lambda_k)\cdot n_jGN=zeros(nt,3,3);GN(:,1,1)=cgx(1,:).*nx(1,:)+cgy(1,:).*ny(1,:); %GN(1,1)GN(:,1,2)=cgx(2,:).*nx(1,:)+cgy(2,:).*ny(1,:); %GN(1,2)GN(:,2,1)=cgx(1,:).*nx(2,:)+cgy(1,:).*ny(2,:); %GN(2,1)GN(:,2,2)=cgx(2,:).*nx(2,:)+cgy(2,:).*ny(2,:); %GN(2,2)GN(:,3,1)=cgx(1,:).*nx(3,:)+cgy(1,:).*ny(3,:); %GN(3,1)GN(:,3,2)=cgx(2,:).*nx(3,:)+cgy(2,:).*ny(3,:); %GN(3,2)GN(:,1,3)=-GN(:,1,1)-GN(:,1,2);GN(:,2,3)=-GN(:,2,1)-GN(:,2,2);GN(:,3,3)=-GN(:,3,1)-GN(:,3,2);

% Connection matrix C1 and C2:% For two adjacent points j and k, C1(j,k) is the index of% the triangle that contains the edge jk;% C2(j,k) is the local index of the edge jkC1=sparse([it2;it3;it1],[it3;it1;it2],...

Page 116: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

110 第六章 内罚有限元方法

repmat(1:nt,3,1),np,np);C2=sparse([it2;it3;it1],[it3;it1;it2],...

repmat([1;2;3],1,nt),np,np);% Common edges:% adje1(:,k) contains adjacent triangles to element k% adje2(:,k) contains the local index of the common% edges in the adjacent triangles.adje1=[aij(C1,it3,it2);aij(C1,it1,it3);aij(C1,it2,it1)];adje2=[aij(C2,it3,it2);aij(C2,it1,it3);aij(C2,it2,it1)];%ine(j,k)=1 if edge j of element k is an interior edgeine=adje1~=0;

for j=1:3,inej=ine(j,:);%Keep interior edgesita=adje1(j,inej); %Adjacent triangles%Local index of the edge j in the adjacent trianglejp=adje2(j,inej);i1=it1(inej);i2=it2(inej);i3=it3(inej);ss=gamma.*sl(j,inej).^2; %gamma|e_j|^2%\gamma|e_j|\int_e_j\grad\lambda_1\cdot n_j% \grad\lambda_2\cdot n_jGN1GN2=ss.*(GN(inej,j,1).*GN(inej,j,2)).';GN2GN3=ss.*(GN(inej,j,2).*GN(inej,j,3)).';GN3GN1=ss.*(GN(inej,j,3).*GN(inej,j,1)).';kk=[repmat(it1(inej),1,3) repmat(it2(inej),1,3)...

repmat(it3(inej),1,3)];J=J+sparse(i1,i1,-GN1GN2-GN3GN1,np,np)...

+sparse(i1,i2,GN1GN2,np,np)...+sparse(i1,i3,GN3GN1,np,np)...+sparse(i2,i1,GN1GN2,np,np)...+sparse(i2,i2,-GN1GN2-GN2GN3,np,np)...+sparse(i2,i3,GN2GN3,np,np)...+sparse(i3,i1,GN3GN1,np,np)...+sparse(i3,i2,GN2GN3,np,np)...+sparse(i3,i3,-GN2GN3-GN3GN1,np,np);

%\gamma|e_j|\int_e_j\grad\lambda_1\cdot n_j% \grad\lambda_1^\prime\cdot n_j

Page 117: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

6.5 一个数值例子 111

GN1GN1=ss.*GN(inej,j,1).'.*GN(ita+(jp-1)*nt);GN1GN2=ss.*GN(inej,j,1).'.*GN(ita+(jp-1)*nt+3*nt);GN2GN1=ss.*GN(inej,j,2).'.*GN(ita+(jp-1)*nt);GN2GN2=ss.*GN(inej,j,2).'.*GN(ita+(jp-1)*nt+3*nt);mm=repmat([t(1,ita) t(2,ita) t(3,ita)],1,3);coe= [GN1GN1 GN1GN2 -GN1GN1-GN1GN2...

GN2GN1 GN2GN2 -GN2GN1-GN2GN2...-GN1GN1-GN2GN1 -GN1GN2-GN2GN2...GN1GN1+GN2GN1+GN1GN2+GN2GN2];

J=J+sparse(kk,mm,coe,np,np);end

endF=F-D'*(J*ud);J=D'*J*D;J=(J+J.')/2;A=K+J;if nargout==1

A=A\F;A=D*A+ud;

end

最后给出用 7 点 Gauss 积分公式 (见表3.1) 在三角网上算积分的程序, 可用于计算数值解与精确解之间的误差.

function q=quadgauss(p,t,f,par)%Integrate 'f' over the domain with triangulation 'p,t' using%seven-point Gauss quadrature rule.% q=quadgauss(p,t,f) evaluate the integral of 'f' where f% can be a expression of x and y.% q=quadgauss(p,t,f,par) evaluate the integral of 'f' where% f can be a expression of x, y ,u, xi, and eta. xi and% eta are the barycentric coordinates of the Gauss nodes,% xi and eta are column vectors with 7 elements. 'par' that% will be pass to 'u' must be a vector such that 'f' can be% evaluated and returns a matrix of 7 rows and size(t,2) columns.

% Nodes and weights on the reference elementxi=[1/3;(6+sqrt(15))/21;(9-2*sqrt(15))/21;(6+sqrt(15))/21

(6-sqrt(15))/21;(9+2*sqrt(15))/21;(6-sqrt(15))/21];eta=[1/3;(6+sqrt(15))/21;(6+sqrt(15))/21;(9-2*sqrt(15))/21

Page 118: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

112 第六章 内罚有限元方法

(6-sqrt(15))/21;(6-sqrt(15))/21;(9+2*sqrt(15))/21];w=[9/80;(155+15^(1/2))/2400;(155-15^(1/2))/2400];

it1=t(1,:); % Vertices of triangles.it2=t(2,:);it3=t(3,:);ar=pdetrg(p,t); % Areas of triangles% Quadrature nodes on trianglesx=xi*p(1,it1)+eta*p(1,it2)+(1-xi-eta)*p(1,it3);y=xi*p(2,it1)+eta*p(2,it2)+(1-xi-eta)*p(2,it3);if nargin==4,

u=par;endf=eval(f);qt=2*ar.*(w(1)*f(1,:)+w(2)*sum(f(2:4,:))+w(3)*sum(f(5:7,:)));q=sum(qt);

6.6 作业

1. 证明引理6.11. (提示: 先估计 ‖P γhw − Ihw‖H1(Ω))

2. 对一般加罚参数 γ = γr + iγi, γi > 0, γr ≲ γi, 证明定理6.16仍成立.3. 对正三角形网格上的二次有限元方法分析离散波数 kh 与 k 的差.

Page 119: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第七章 间断有限元方法

间断有限元方法可以应用于任何形式的网格, 允许不同网格单元采用不同种类逼近函数空间; 具有局部守恒性质; 可以应用于非常多种类的偏微分方程. 本章以如下模型问题为例来介绍几种间断有限元方法:

(7.1) −∇ · (a∇u) = f in Ω, u = 0 on ΓD, a∇u · n = 0 on ΓN ,

Ω ⊂ Rd 是多边形(或多面体)区域, Γ := ∂Ω = ΓD ∪ ΓN . 假设 f ∈ L2(Ω),存在常数 a1 > a0 > 0 使得 a1 ≥ a(x) ≥ a0.

7.1 IPDG 方法内罚间断 Galerkin (IPDG) 方法是对数值解的梯度在单元公共边(面)

上的跳量加罚, 在对流扩散问题及声波散射问题等领域有应用.

7.1.1 离散格式

设Mh 是 Ω 的一个三角剖分. 在本章中,为了叙述简单,“单元的边”在二维情形就是本来的含义,在三维情形指四面体单元的面. Eh 为所有单元边的集合. EIh 是 Ω 内部的单元边的集合, EDh 是 ΓD 上的单元边的集合, ENh是 ΓN 上的单元边的集合. 记 EIDh = EIh ∪ EDh , EINh = EIh ∪ ENh . ∀K ∈ Mh,记 hK 为 K 的直径. ∀e ∈ Eh, 记 he 为边 e 的直径. 记 (·, ·)K 和 〈·, ·〉e 分别为 K 和 e 上的 L2 内积. 记 ‖·‖K 和 ‖·‖e 分别为 K 和 e 上的 L2 范数. 简记记 (·, ·) 和 〈·, ·〉 分别为 Ω 和 Γ 上的 L2 内积, ‖·‖ = ‖·‖L2(Ω). 对于Mh 的子集 T 和 Eh 的子集 S, 分别记

(·, ·)T =∑K∈T

(·, ·)K ; 〈·, ·〉S =∑e∈S

〈·, ·〉e ; ‖·‖2T =

∑K∈T

‖·‖2K ; ‖·‖2S =∑e∈S

‖·‖2e .

∀e ∈ EIh, 记 K1,K2 ∈ Mh 为以 e 为公共边的两个单元. 对分片 H1 函数 v,记 vi = v|∂Ki

, 定义 v 在边 e 上的平均及跳量:

(7.2) [v] := v1 − v2, v := v12

+v22.

113

Page 120: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

114 第七章 间断有限元方法

定义 n|e 为垂直于边 e 的 ∂K1 的单位外法向. 对 e ∈ EDh , 记 [v] = v := v,n|e 为垂直于边 e 的单元 ∂Ω 的单位外法向. 易知, 对 e ∈ EIh 有

[vw] = [v] w+ v [w] .(7.3)

定义空间

V :=v : , v|K ∈ H2(K),∀K ∈Mh

.(7.4)

任取 v ∈ V 乘以(7.1)的两端, 在 Ω 上积分, 并在每个单元上利用分部积分公式得

(f, v) = −∫Ω

∇ · (a∇u)v = −∑

K∈Mh

∫K

∇ · (a∇u)v

=∑

K∈Mh

∫K

a∇u · ∇v −∑

K∈Mh

∫∂K

a∇u · nKv.

由(7.3)得∑K∈Mh

∫∂K

a∇u · nKv =∑e∈EI

h

∫e

[a∇u · n v] +∑e∈ED

h

∫e

a∇u · n v

=∑e∈EI

h

∫e

([a∇u · n] v+ a∇u · n [v]

)+∑e∈ED

h

∫e

a∇u · n v

= 〈a∇u · n , [v]〉EIDh,

从而精确解 u 满足

(a∇u,∇v)Mh− 〈a∇u · n , [v]〉EID

h= (f, v), ∀v ∈ V.

定义双线性形式

ah(u, v) :=(a∇u,∇v)Mh−(〈a∇u · n , [v]〉EID

h(7.5)

+ β 〈[u] , a∇v · n〉EIDh

)+ J0(u, v) + J1(u, v),

J0(u, v) :=∑

e∈EIDh

γ0he

∫e

[u] [v] ,(7.6)

J1(u, v) :=∑e∈EI

h

γ1he

∫e

[a∇u · n] [a∇v · n] ,(7.7)

其中 β 为实数, γ0 > 0, γ1 ≥ 0 为加罚参数.

Page 121: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.1 IPDG 方法 115

注 7.1. (a) J0, J1 称为加罚项, 加罚参数 γ0, γ1 可以取得和 e 有关.(b) β 一般取为 1,−1, 或 0. 若 β = 1, 则双线性形式 ah 对称, 否则不

对称.

显然对(7.1)的精确解 u, 有

〈[u] , a∇v · n〉EIDh

= J0(u, v) = J1(u, v) = 0, ∀v ∈ V.

所以(7.1)的精确解 u 满足:

(7.8) ah(u, v) = (f, v) ∀ v ∈ V.

设 Vh 是Mh 上的分片线性有限元空间, 即

Vh := vh : vh|K ∈ P1(K),∀K ∈Mh

则 Vh ⊂ V . 求解(7.1)的内罚间断 Galerkin (IPDG) 方法为:求 uh ∈ Vh 使得

(7.9) ah(uh, vh) = (f, vh) ∀ vh ∈ Vh.

注 7.2. (a) Vh 可以换为分片 (不连续) 高次元空间, 甚至可以每个单元用不同次数的多项式.

(b) IPDG方法在 β = 1时简记为 SIPG方法,在 β = −1时记为 NIPG方法, 在 β = 0 时记为 IIPG 方法.

(c) 同有限元方法比较: IPDG 方法更灵活; 容易处理 Dirichlet 边界条件; 满足质量守恒; 但计算量一般较大.

为了进一步的误差分析,引入 V 上的半范数

‖|v|‖ :=(‖a 1

2∇v‖2Mh+ J0(v, v) + J1(v, v)(7.10)

+∑

e∈EIDh

heγ0‖a∇v · n‖2L2(e)

) 12

.

假设 Ω 是凸的并且 a ∈ C1(Ω). 易知 u ∈ H2(Ω).

7.1.2 SIPG 方法的误差分析

本节讨论对称内罚间断 Galerkin 方法 (β = 1) 的 H1 和 L2 误差估计.先给出双线性形式 ah 的连续性和强制性.

Page 122: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

116 第七章 间断有限元方法

引理 7.3.

|ah(v, w)| ≤ 2‖|v|‖‖|w|‖, ∀v, w ∈ V,(7.11)

存在常数 γ > 0 与 h 及加罚参数无关, 使得当 γ0 ≥ γ 时,

ah(vh, vh) ≥1

2‖|vh|‖2, ∀vh ∈ Vh.(7.12)

证明: 由 Cahchy-Schwarz 不等式易知(7.11)成立. 下面证(7.12). 由(7.5)–(7.7)和(7.10),

ah(vh, vh) =‖|vh|‖2 − 2 〈a∇vh · n , [vh]〉EIDh−∑

e∈EIDh

heγ0‖a∇vh · n‖2e

≥‖|vh|‖2 −1

2

∑e∈EID

h

γ0he

∫e

[vh]2 − 3

∑e∈EID

h

heγ0‖a∇vh · n‖2e .

由局部的迹不等式得

3∑

e∈EIDh

heγ0‖a∇vh · n‖2e ≤ C

∑K∈Mh

hKγ0h−1K ‖∇vh‖

2K

≤ C

γ0

∑K∈Mh

∥∥∥a 12∇vh

∥∥∥2K.

从而

ah(vh, vh) ≥‖|vh|‖2 −max(12,C

γ0

)‖|vh|‖2.

所以 γ0 足够大时(7.12)成立. 证毕.

然后给出 Céa 引理.

引理 7.4. 在引理7.3的条件下,

‖|u− uh|‖ ≲ infvh∈Vh

‖|u− vh|‖.

证明: 由(7.8)和(7.9)得:

ah(u− uh, vh) = 0, ∀vh ∈ Vh.(7.13)

故由引理7.3,

‖|uh − vh|‖2 ≤ 2ah(uh − vh, uh − vh) = 2ah(u− vh, uh − vh)≤ 4‖|u− vh|‖‖|uh − vh|‖,

Page 123: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.1 IPDG 方法 117

得‖|uh − vh|‖ ≤ 4‖|u− vh|‖.

再由三角不等式知

‖|u− uh|‖ ≤ ‖|u− vh|‖+ ‖|vh − uh|‖ ≤ 5‖|u− vh|‖.

证毕.

再给出插值估计. 记 Ihu 为 u 的有限元插值.

引理 7.5. 设 u ∈ H2(Ω), 则存在 uh ∈ Vh 满足如下估计:

‖u− Ihu‖ ≲ h2 |u|H2(Ω) , ‖|u− Ihu|‖ ≲ h(1 + γ0 + γ−1

0 + γ1) 1

2 |u|H2(Ω) .

证明: 记 IKu 为 u 在单元 K 上的有限元插值. 我们有

‖u− IKu‖L2(K) + hK ‖u− IKu‖H1(K) ≲ h2K |u|H2(K) .

则 Ihu 的第一个估计显然成立. 下面证第二个. 记 ηh = u− Ihu. 由(7.10)及局部迹不等式,

‖|ηh|‖2 =∥∥∥a 1

2∇ηh∥∥∥2 + ∑

e∈EIDh

γ0he‖[ηh]‖2e

+∑e∈EI

h

γ1he ‖[a∇ηh · n]‖2e +∑

e∈EIDh

heγ0‖a∇ηh · n‖2e

≲ ‖∇ηh‖2 +∑

K∈Mh

γ0h

(h−1 ‖ηh‖2K + h ‖∇ηh‖2K

)+∑

K∈Mh

(γ1 + γ−10 )h

(h−1 ‖∇ηh‖2K + h |∇ηh|2H1(K)

)≲(1 + γ0 + γ−1

0 + γ1)(h−2 ‖ηh‖2 + ‖∇ηh‖2 + h2 |∇u|2H1(Ω)

)≲ h2

(1 + γ0 + γ−1

0 + γ1)|u|2H2(Ω) .

证毕.

注 7.6. 若网格 Mh 是协调的, 则 Ihu ∈ Vh ∩H1(Ω), 且在 ΓD 上 Ihu = 0.则 ‖[ηh]‖2e = 0, 从而第二个估计可改进为:

‖|u− Ihu|‖ ≲(1 + γ−1

0 + γ1) 1

2 |u|H2(Ω) .

结合引理7.5和7.4可得 H1 误差估计.

Page 124: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

118 第七章 间断有限元方法

定理 7.7. 在引理7.3的条件下,

‖|u− uh|‖ ≲ h(1 + γ0 + γ1

) 12 |u|H2(Ω) .

注 7.8. 若网格Mh 是协调的, 则上面估计可改进为:

‖|u− uh|‖ ≤ Ch(1 + γ1

) 12 |u|H2(Ω) .

下面讨论 L2 误差估计. 考虑对偶问题:

(7.14) −∇ · (a∇w) = u− uh in Ω, w = 0 on ΓD, a∇w · n = 0 on ΓN .

易知 w ∈ H2(Ω) 且‖w‖H2(Ω) ≲ ‖u− uh‖ .

类似于(7.8)可知 w 满足

ah(w, v) = (u− uh, v), ∀v ∈ V.(7.15)

取 v = u− uh 并利用(7.13)及引理7.3–7.5得

‖u− uh‖2L2(Ω) = ah(w, u− uh) = ah(u− uh, w)

= ah(u− uh, w − Ihw) ≤ C‖|u− uh|‖‖|w − Ihw|‖

≲ ‖|u− uh|‖h(1 + γ0 + γ−1

0 + γ1) 1

2 |w|H2(Ω)

≲ h(1 + γ0 + γ−1

0 + γ1) 1

2 ‖|u− uh|‖ ‖u− uh‖ .

最后由定理7.7可得如下 L2 误差估计:

定理 7.9. 在引理7.3的条件下,

‖u− uh‖ ≲ h2(1 + γ0 + γ1

)|u|H2(Ω) .

注 7.10. 若网格Mh 是协调的, 则 L2 估计可改进为:

‖u− uh‖ ≤ Ch2(1 + γ1

)|u|H2(Ω) .

7.1.3 NIPG 方法的误差分析

本节讨论非对称内罚间断 Galerkin 方法 (β = −1) 的 H1 和 L2 误差估计.先给出双线性形式 ah 的连续性和强制性.

Page 125: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.1 IPDG 方法 119

引理 7.11.

|ah(v, w)| , |ah(w, v)| ≤ 2‖|v|‖‖|w|‖, ∀v, w ∈ V,(7.16)

ah(vh, vh) ≥γ0

γ0 + α‖|vh|‖2, ∀vh ∈ Vh,(7.17)

其中常数 α > 0 与 h 及加罚参数无关.

证明: 由 Cahchy-Schwarz 不等式易知(7.16)成立. 下面证(7.17). 显然

ah(vh, vh) = ‖|vh|‖2 −∑

e∈EIDh

heγ0‖a∇vh · n‖2e ∀vh ∈ Vh.

另外, 由引理7.3的证明知∑e∈EID

h

heγ0‖a∇vh · n‖2e ≤

C

γ0

∑K∈Mh

‖a 12∇vh‖2K ≤

C

γ0ah(vh, vh).

故,

‖|vh|‖2 ≤(1 +

C

γ0

)ah(vh, vh).

证毕.

类似于引理7.4可得 NIPG 法的 Céa 引理, 证明略去.

引理 7.12. 假设 γ0 ≳ 1, 则

‖|u− uh|‖ ≲ infvh∈Vh

‖|u− vh|‖.

结合引理7.5及7.12可得 NIPG 法的 H1 误差估计.

定理 7.13. 假设 γ0 ≳ 1, 则

‖|u− uh|‖ ≲ h(1 + γ0 + γ1

) 12 |u|H2(Ω) .

注 7.14. (a) 若网格Mh 是协调的, 则上面估计可改进为:

‖|u− uh|‖ ≲ h(1 + γ1

) 12 |u|H2(Ω) .

(b) 同 SIPG 法比, NIPG 法不要求 γ0 足够大, 但刚度矩阵不对称.下面讨论 L2 误差估计. 考虑对偶问题7.14. 我们仍然有

‖w‖H2(Ω) ≲ ‖u− uh‖L2(Ω)

ah(w, v) = (u− uh, v), ∀v ∈ V.

Page 126: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

120 第七章 间断有限元方法

取 v = u− uh, 注意到 ah 不对称, 并利用(7.13)及引理7.3–7.5得

‖u− uh‖2L2(Ω) = ah(w, u− uh)

= ah(u− uh, w)− 2 〈[u− uh] , a∇w · n〉EIDh

= ah(u− uh, w − Ihw)− 2 〈[u− uh] , a∇w · n〉EIDh

≲ ‖|u− uh|‖‖|w − Ihw|‖

+ J0(u− uh, u− uh)12

( ∑e∈EID

h

heγ0‖a∇w · n‖2e

) 12

≲ ‖|u− uh|‖(h(1 + γ0 + γ−1

0 + γ1) 1

2 |w|H2(Ω)

+ γ− 1

20

(‖∇w‖+ h |∇w|H1(Ω)

))≲(h(1 + γ0 + γ−1

0 + γ1) 1

2 + γ− 1

20

)‖|u− uh|‖ ‖u− uh‖ .

最后由定理7.7可得如下 L2 误差估计:

定理 7.15. 假设 γ0 ≳ 1, 则

‖u− uh‖ ≲(h2 + γ

− 12

0 h)(1 + γ0 + γ1

)|u|H2(Ω) .

注 7.16. (a) 上面 NIPG 方法的 L2 估计只是一阶收敛.(b) 若网格Mh 是协调的, 则 L2 估计可改进为:

‖u− uh‖ ≲(h2 + γ

− 12

0 h)(1 + γ1

)|u|H2(Ω) .

所以,若 γ0 ≳ h−2, 则

‖u− uh‖ ≲ h2(1 + γ1

)|u|H2(Ω) .

但此时刚度矩阵的条件数较大, 为 O(h−4).

7.2 LDG 方法局部间断 Galerkin (LDG) 方法在计算流体等领域有重要应用.

7.2.1 离散格式

首先引入中间变量 σ = aδ, δ = ∇u 将椭圆问题(7.1)改写为如下一阶偏微分方程组:

σ = aδ, δ = ∇u, −∇ · σ = f in Ω, u|ΓD= 0, (σ · n)|ΓN

= 0.(7.18)

Page 127: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.2 LDG 方法 121

用检验函数 θ, τ 和 v 分别乘以前三个方程, 并在任一单元 K ∈ Mh 上积分得: ∫

K

σ · θ =∫K

aδ · θ,∫K

δ · τ = −∫K

u∇ · τ +∫∂K

uτ · nK ,∫K

σ · ∇v =

∫K

fv +

∫∂K

σ · nKv.

为了离散化上面的变分形式, 定义如下的逼近空间:

Vh :=vh ∈ L2(Ω) : vh|K ∈ P1(K),∀K ∈Mh

, Σh := (Vh)

d.(7.19)

则求解椭圆问题(7.1)的 LDG 方法为: 求 uh ∈ Vh, σh, δh ∈ Σh 使得∫K

σh · θh =

∫K

aδh · θh ∀θh ∈ Σh,(7.20) ∫K

δh · τh = −∫K

uh∇ · τh +

∫∂K

uhτh · nK ∀τh ∈ Σh,(7.21) ∫K

σh · ∇vh =

∫K

fvh +

∫∂K

σh · nKvh ∀vh ∈ Vh,K ∈Mh.(7.22)

其中 σh 和 uh 称为数值流通量, 分别是 a∇u 和 u 的近似. 为了定义数值流通量, 我们引入如下跳量的定义. 对内部边 e = K1 ∩K2 ∈ EIh, 定义

[[ϕ]] := ϕ1 · nK1+ ϕ2 · nK2

.

显然, 如果 ϕ 是标量函数, 则 [[v]] 是向量并与边 e 垂直; 如果 ϕ 是向量函数, 则 [[v]] 是标量. 另外, 由(7.2)知, 两种跳量关系为 [[ϕ]] = [ϕ · nK1

]. 对应Γ 上的边 e, 规定

[[ϕ]] := ϕ · n.

其中 n 是 ∂Ω 单位外法向. 下面给出(7.20)–(7.22)中数值流通量在边 e 上的定义:

uh|e :=

uh − βe · [[uh]] if e ∈ EIh,

0 if e ∈ EDh ,

uh if e ∈ ENh ,

(7.23)

Page 128: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

122 第七章 间断有限元方法

σh|e :=

σh+ βe[[σh]]− γe

he[[uh]] if e ∈ EIh,

σh − γe

he[[uh]] if e ∈ EDh ,

0 if e ∈ ENh .

(7.24)

其中 βe ∈ Rd, γe ∈ R+. LDG 格式由(7.20)–(7.24)组成. 如果系数 a 是分片常数的, 则显然 σh = aδh, 此时可以不引人中间变量 δh.

7.2.2 原始变量形式

为了进行误差估计, 我们将 LDG 方法(7.20)–(7.24)中的 δh, σh 消掉,改写为关于原始变量 uh 的公式. 记 ∇h 为 Mh 上的分片梯度算子, 即(∇hv)|K = ∇(v|K), (∇h · τ)|K = ∇ · (τ |K),∀K ∈ Mh. 将(7.21)–(7.22)按K ∈Mh 求和得∫

Ω

δh · τh = −∫Ω

uh∇h · τh +∑

K∈Mh

∫∂K

uhτh · nK

=

∫Ω

∇huh · τh +∑

K∈Mh

∫∂K

(uh − uh)τh · nK ,∫Ω

σh · ∇hvh =

∫Ω

fvh +∑

K∈Mh

∫∂K

σh · nKvh.

对于标量函数 v ∈ ΠK∈MhL2(∂K) 和向量值函数 ϕ ∈ ΠK∈Mh

(L2(∂K)

)d,考虑和式

∑K∈Mh

∫∂K

vϕ · nK . 易知

∑K∈Mh

∫∂K

vϕ · nK =∑

e∈EDh ∪EN

h

∫e

vϕ · n+∑e∈EI

h

∫e

[[vϕ]](7.25)

= 〈[[v]], ϕ〉EIDh

+ 〈v , [[ϕ]]〉EINh.

记 β|e =

βe, e ∈ EIh,

0, e ∈ EDh .. 由以上三式及(7.23)–(7.24)得

∫Ω

δh · τh =

∫Ω

∇huh · τh − 〈[[uh]], τh〉EIDh

+ 〈uh − uh , [[τh]]〉EIh

(7.26)

=

∫Ω

∇huh · τh − 〈[[uh]], τh+ β[[τh]]〉EIDh,

Page 129: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.2 LDG 方法 123∫Ω

σh · ∇hvh =

∫Ω

fvh + 〈[[vh]], σh〉EIDh

(7.27)

=

∫Ω

fvh + 〈[[vh]], σh+ β[[σh]]〉EIDh−∑

e∈EIDh

γehe

∫e

[[uh]] · [[vh]].

引入提升算子 Lh : Vh +H1(Ω) 7→ Σh:∫Ω

Lhv · ϕh = 〈[[v]], ϕh+ β[[ϕh]]〉EIDh

∀ϕh ∈ Σh.(7.28)

由(7.26),

δh = ∇huh − Lhuh.(7.29)

另外, 由(7.20)对 K 求和得:∫Ω

σh · θh =

∫Ω

aδh · θh ∀θh ∈ Σh.(7.30)

由(7.27)–(7.30),∫Ω

fvh =

∫Ω

σh · ∇hvh −∫Ω

σh · Lhvh +∑

e∈EIDh

γehe

∫e

[[uh]] · [[vh]]

=

∫Ω

aδh ·(∇hvh − Lhvh

)+∑

e∈EIDh

γehe

∫e

[[uh]] · [[vh]]

=

∫Ω

a(∇huh − Lhuh

)·(∇hvh − Lhvh

)+∑

e∈EIDh

γehe

∫e

[[uh]] · [[vh]]

引入 Vh +H1(Ω) 上得双线性形式

Bh(u, v) :=

∫Ω

a(∇hu− Lhu

)·(∇hv − Lhv

)+∑

e∈EIDh

γehe

∫e

[[u]] · [[v]].(7.31)

得到 LDG 的原始变量公式 (Primal formulation): 求 uh ∈ Vh 使得

Bh(uh, vh) = (f, vh) ∀vh ∈ Vh.(7.32)

7.2.3 误差估计

不妨设 γe ≡ γ > 0. 定义离散的能量范数

‖|v|‖2h =∥∥a 1

2∇hv∥∥2 + γ

∥∥h− 12 [[v]]

∥∥2EIDh

,(7.33)

其中 ∥∥h− 12 [[v]]

∥∥2EIDh

=∑

e∈EIDh

h−1e ‖[[v]]‖

2e .

Page 130: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

124 第七章 间断有限元方法

Bh 的连续性和强制性

先给出 Lh 的稳定性估计.

引理 7.17. 设 |βe| ≲ 1. 存在常数 CL > 0 使得∥∥a 12Lhv

∥∥ ≤ CL

∥∥h− 12 [[v]]

∥∥EIDh

, ∀v ∈ Vh +H1(Ω).

证明: 由(7.28)及逆迹不等式得∫Ω

Lhv · ϕh ≲∑

e∈EIDh

(‖ϕh‖e + ‖[[ϕh]]‖e

)‖[[v]]‖e

≲∑

K∈Mh

‖ϕh‖∂K\ΓN‖[[v]]‖∂K\ΓN

≲∑

K∈Mh

h− 1

2

K ‖ϕh‖K ‖[[v]]‖∂K\ΓN

≲( ∑

e∈EIDh

h−1e ‖[[v]]‖

2e

) 12

‖ϕh‖ ,

取 ϕh = Lhv 即得证明.

下面引理给出双线性形式 Bh 的连续性和强制性.

引理 7.18. 设 |βe| ≲ 1.

Bh(u, v) ≲1 + γ

γ‖|u|‖h‖|v|‖h, ∀u, v ∈ Vh +H1(Ω),(7.34)

Bh(v, v) ≳γ

1 + γ‖|v|‖2h, ∀v ∈ Vh +H1(Ω).(7.35)

证明: 由(7.31), (7.33)及引理7.17得

Bh(u, v) ≤(∥∥a 1

2∇hu∥∥+ ∥∥a 1

2Lhu∥∥)

×(∥∥a 1

2∇hv∥∥+ ∥∥a 1

2Lhv∥∥)

+ γ∥∥h− 1

2 [[u]]∥∥EIDh

∥∥h− 12 [[v]]

∥∥EIDh

≤((1 + CLγ

− 12 )2 + 1

)‖|u|‖h‖|v|‖h,

即(7.34)成立. 下面证明(7.35). ∀ε ∈ (0, 1),

Bh(v, v) =∥∥a 1

2

(∇hv − Lhv

)∥∥2L2(Ω)

+ γ∥∥h− 1

2 [[v]]∥∥2EIDh

≥ (1− ε)∥∥a 1

2∇hv∥∥2 + (1− ε−1)

∥∥a 12Lhv

∥∥2 + γ∥∥h− 1

2 [[v]]∥∥2EIDh

≥ (1− ε)∥∥a 1

2∇hv∥∥2 + (γ − C2

L(ε−1 − 1)

)∥∥h− 12 [[v]]

∥∥2EIDh

,

取 ε = C2L

C2L+γ/2

即知(7.35). 证毕.

Page 131: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.2 LDG 方法 125

相容性

下面考虑 Galerkin 正交性. u 和 uh 分别是椭圆问题(7.1)及其 LDG 离散(7.20)–(7.24)的解. 记 Qh 为 L2(Ω)d 到 Σh 的正交 L2 投影. 由(7.28)易知Lhu = 0, 因此,由(7.31)得: ∀v ∈ Vh +H1(Ω),

Bh(u, v) =

∫Ω

a∇u ·(∇hv − Lhv

)=

∫Ω

a∇u · ∇hv −∫Ω

Qh(a∇u) · Lhv

=−∫Ω

∇ · (a∇u)v +∑

K∈Mh

∫∂K

a∇u · nKv

− 〈[[v]], Qh(a∇u)+ β[[Qh(a∇u)]]〉EIDh

=(f, v) + 〈[[v]], a∇u−Qh(a∇u)+ β[[a∇u−Qh(a∇u)]]〉EIDh.

可以看出, uh 不是精确满足 Galerkin 正交性, 即 B(u− uh, vh) 可能不为零.定义残量

Rh(u, v) := Bh(u, v)− (f, v).(7.36)

显然, Bh(u− uh, vh) = Rh(u, vh). 下面引理给出残量 Rh(u, v) 的估计.引理 7.19. 设 |βe| ≲ 1, u 是椭圆问题(7.1)的解. 则

|Rh(u, v)| ≲ h ‖∇u‖H1(Ω)

∥∥h− 12 [[v]]

∥∥EIDh

∀v ∈ Vh +H1(Ω).

证明: 我们有

|Rh(u, v)| =∣∣∣ 〈[[v]], a∇u−Qh(a∇u)+ β[[a∇u−Qh(a∇u)]]〉EID

h

∣∣∣≲( ∑

K∈Mh

hK ‖a∇u−Qh(a∇u)‖2∂K) 1

2( ∑

e∈EIDh

h−1e ‖[[v]]‖

2L2(e)

) 12

令 ϕh|K = 1|K|

∫Ka∇u, 由局部迹不等式及有限元逆估计得

h12

K ‖a∇u−Qh(a∇u)‖∂K≲ ‖a∇u−Qh(a∇u)‖K + hK |a∇u−Qh(a∇u)|H1(K)

≲ ‖a∇u−Qh(a∇u)‖K + hK |a∇u− ϕh|H1(K) + hK |ϕh −Qh(a∇u)|H1(K)

≲ ‖a∇u−Qh(a∇u)‖K + hK |a∇u− ϕh|H1(K) + ‖ϕh −Qh(a∇u)‖K≲ ‖a∇u−Qh(a∇u)‖K + hK |a∇u− ϕh|H1(K) + ‖a∇u− ϕh‖K≲ ‖a∇u− ϕh‖K + hK |a∇u− ϕh|H1(K)

≲ hK ‖∇u‖H1(K) .

Page 132: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

126 第七章 间断有限元方法

将上面两个估计合并即得证明.

注 7.20. 如果 a 是分片线性函数, 那么 ‖∇u‖H1(Ω) 可以换为 |u|H2(Ω).

Strang 引理

由于 LDG 方法不满足 Galerkin 正交性, 所以 Céa 引理不成立, 但我有如下所谓的 Strang 引理:

引理 7.21. 假设 |βe| ≲ 1, γ ≳ 1. u 和 uh 分别是椭圆问题(7.1)及其 LDG离散(7.20)–(7.24)的解. 则

‖|u− uh|‖h ≲ infvh∈Vh

‖|u− vh|‖h + sup0 6=wh∈Vh

|Bh(u,wh)− (f, wh)|‖|wh|‖h

.

证明: ∀vh ∈ Vh, 由引理7.18,

‖|uh − vh|‖2h ≲ Bh(uh − vh, uh − vh)= Bh(u− vh, uh − vh) +Bh(uh − u, uh − vh)

≲ ‖|u− vh|‖h‖|uh − vh|‖h + ‖|uh − vh|‖h sup0 6=wh∈Vh

Bh(u− uh, wh)

‖|wh|‖h从而得

‖|uh − vh|‖h ≲ ‖|u− vh|‖h + sup0 6=wh∈Vh

Bh(u− uh, wh)

‖|wh|‖h∀vh ∈ Vh.

再由三角不等式可知引理成立.

H1 误差估计

下面定理给出 LDG 方法的 H1 误差估计

定理 7.22. 假设 |βe| ≲ 1, γ ≳ 1. u 和 uh 分别是椭圆问题(7.1)及其 LDG离散(7.20)–(7.24)的解. 则

‖|u− uh|‖h ≲ (1 + γ)12h ‖∇u‖H1(Ω) .

证明: 类似于引理7.5可得:

‖|u− Ihu|‖h ≲ (1 + γ)12h |u|H2(Ω) .

另外, 由引理7.19,

|Bh(u− uh, wh)| ≲ h ‖∇u‖H1(Ω) ‖|wh|‖.

将上面两个估计代人引理7.21即得证明.

注 7.23. 对于协调的三角剖分, 误差估计中的因子 (1 + γ)12 可以去掉.

Page 133: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.2 LDG 方法 127

L2 误差估计

然后, 我们考虑 L2 误差估计. 设 w 为对偶问题(7.14)的解. 则

‖u− uh‖2L2(Ω) = Bh(w, u− uh)−Rh(w, u− uh)

= Bh(w − Ihw, u− uh) +Bh(u− uh, Ihw)−Rh(w, u− uh)

= Bh(w − Ihw, u− uh) +Rh(u, Ihw)−Rh(w, u− uh).

由引理7.18, 7.19得

Bh(w − Ihw, u− uh) ≲ ‖|u− uh|‖h‖|w − Ihw|‖h≲ (1 + γ)

12h‖|u− uh|‖h ‖w‖H2(Ω)

≲ (1 + γ)12h‖|u− uh|‖h ‖u− uh‖L2(Ω) ,

Rh(u, Ihw) = Rh(u, Ihw − w) ≲ γ−12h ‖∇u‖H1(Ω) ‖|w − Ihw|‖h

≲ h2 ‖∇u‖H1(Ω) ‖u− uh‖L2(Ω) ,

−Rh(w, u− uh) ≲ h ‖w‖H2(Ω) ‖|u− uh|‖h ≲ γ−12h‖|u− uh|‖h ‖u− uh‖L2(Ω) .

‖u− uh‖2L2(Ω) ≲(1 + γ)12h‖|u− uh|‖h ‖u− uh‖L2(Ω)

+ h2 ‖∇u‖H1(Ω) ‖u− uh‖L2(Ω) ,

结合定理7.22可得如下 L2 误差估计:

定理 7.24. 假设 |βe| ≲ 1, γ ≳ 1. u 和 uh 分别是椭圆问题(7.1)及其 LDG离散(7.20)–(7.24)的解. 则

‖u− uh‖L2(Ω) ≲ (1 + γ)h2 ‖∇u‖H1(Ω) .

注 7.25. (i) LDG 方法与 IPDG 方法相比, uh 的收敛阶相同, 存储量前者较大. LDG 关于 uh 是对称格式且不要求加罚参数足够大; SIPG 是对称格式,但要求加罚参数足够大; NIPG 不要求加罚参数足够大, 但格式不对称.

(ii) σh 与 a∇uh 都是对 a∇u 的逼近. 由(7.29)及引理7.17,

|‖δ − δh‖ − ‖∇u−∇huh‖| ≤ ‖Lhuh‖ ≤ CL

∥∥h− 12 [[uh]]

∥∥EIDh

≤ CLγ−1/2‖|u− uh|‖h

可以看出, 当 γ 足够大的时候, σh 与 a∇uh 对 a∇u 的逼近是同阶的. 由于σh 与 uh 取同阶的分片多项式, 所以 σh 的收敛阶一般不是最优的, 但在某些特殊网格上, σh 的逼近精度更高, 甚至当 γ 小的时候,可以达到最优阶.

Page 134: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

128 第七章 间断有限元方法

7.3 HDG 方法本节介绍杂交间断 Galerkin (HDG) 方法. LDG 方法和 IPDG 方法的

自由度定义在每个单元上, 总自由度数一般比连续有限元方法要多. HDG方法的自由度定义在每个单元和单元的边上, 但是每个单元上的自由度可以很容易地用其边上的自由度表示, 所以最后的离散方程组仅仅是关于边上自由度的, 比 LDG 及 IPDG 方法的自由度数要少得多.

7.3.1 离散格式

与前一节类似, 引入中间变量 σ = a∇u 将椭圆问题(7.1)改写为如下一阶偏微分方程组:

a−1σ = ∇u, −∇ · σ = f in Ω, u|ΓD= 0, (σ · n)|ΓN

= 0.(7.37)

用检验函数 τ 和 v 分别乘以前两个方程, 并在任一单元 K ∈Mh 上积分得:∫K

a−1σ · τ = −∫K

u∇ · τ +∫∂K

uτ · nK ,(7.38) ∫K

σ · ∇v =

∫K

fv +

∫∂K

σ · nKv.(7.39)

为了离散化上面的变分形式, 引人如下的逼近空间:

Vh :=vh ∈ L2(Ω) : vh|K ∈ P1(K),∀K ∈Mh

,

Σh :=(Vh)d,

Sh :=vh : vh|e ∈ P1(e),∀e ∈ EINh , vh|e = 0,∀e ∈ EDh

.

则求解椭圆问题(7.1)的 HDG 方法为: 求 uh ∈ Vh, σh ∈ Σh 或求 uh ∈ Sh 使得下面(7.40)–(7.43)成立∫

K

a−1σh · τh = −∫K

uh∇ · τh +

∫∂K

uhτh · nK ∀τh ∈ Σh,(7.40) ∫K

σh · ∇vh =

∫K

fvh +

∫∂K

σh · nKvh ∀vh ∈ Vh,K ∈Mh.(7.41)

其中 σh 和 uh 称为数值迹, 分别是 a∇u 和 u 的近似, 如下定义:

σh|∂K := σh − α(uh − uh)nK ∀K ∈Mh,(7.42)

并且要求

[[σh]]|e = 0 ∀e ∈ EINh .(7.43)

Page 135: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.3 HDG 方法 129

注意到(7.40)-(7.41)与 LDG格式中的(7.20)-(7.22)基本相同. 而且(7.42)-(7.43)也可以改成类似(7.23)–(7.24)的形式. 事实上, 记

α∗ =

α e ∈ EIh,

2α e ∈ EDh ,12α e ∈ ENh ,

(7.44)

由(7.42)

[[σh]] = [[σh]]− 2α∗(uh − uh), e ∈ EINh .

再由(7.43)得

uh = uh −1

2α∗[[σh]] if e ∈ EINh .(7.45)

另外, 再由(7.42)可得

σh = σh −α∗

2[[uh]] e ∈ EIDh .(7.46)

7.3.2 变分形式 I

为了理论分析的方便, 将本小节将 HDG 格式(7.40)–(7.43)改写为关于uh, σh 的变分公式. 首先, 将(7.40) 关于 K ∈Mh 求和并利用(7.25)得

(a−1σh, τh) =− (uh,∇h · τh) + 〈uh, [[τh]]〉EINh.(7.47)

将(7.45)代入(7.47)整理得

(a−1σh, τh) + (uh,∇h · τh) +⟨ 1

2α∗[[σh]]− uh , [[τh]]

⟩EINh

= 0.(7.48)

同理, 对(7.41)关于 K ∈Mh 求和并利用(7.25)及得

(σh,∇hvh) = (f, vh) + 〈σh , [[vh]]〉EIDh.

由(7.46)得

(σh,∇hvh) +⟨α∗

2[[uh]]− σh , [[vh]]

⟩EIDh

= (f, vh).(7.49)

对 u, v ∈ Vh +H1(Ω), σ, τ ∈ Σh + (H1(Ω))d, 定义

A(u, σ; v, τ) =(a−1σ, τ) + (u,∇h · τ) + (σ,∇hv)

+⟨ 1

2α∗[[σ]]− u , [[τ ]]

⟩EINh

+⟨α∗

2[[u]]− σ , [[v]]

⟩EIDh

.(7.50)

Page 136: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

130 第七章 间断有限元方法

将(7.48)和(7.49)相加知, 得到 HDG 方法关于解 uh, σh 的变分形式:

A(uh, σh; vh, τh) = (f, vh) ∀vh ∈ Vh, τh ∈ Σh.(7.51)

为了理论分析的方便, 下面给出 A(u, σ; v, τ) 的另外两种表示. 由(7.25)易知

(u,∇h · τ) = −(∇hu, τ) + 〈[[u]], τ〉EIDh

+ 〈u , [[τ ]]〉EINh,

(σ,∇hv) = −(∇h · σ, v) + 〈σ , [[v]]〉EIDh

+ 〈[[σ]], v〉EINh.

代入到(7.50)得

A(u, σ; v, τ) :=(a−1σ, τ)− (∇hu, τ) + (σ,∇hv)(7.52)

+ 〈[[u]], τ〉EIDh− 〈σ , [[v]]〉EID

h

+

⟨1

2α∗[[σ]], [[τ ]]

⟩EINh

+⟨α∗

2[[u]], [[v]]

⟩EIDh

.

A(u, σ; v, τ) :=(a−1σ, τ)− (∇hu, τ)− (∇ · σ, v)

+⟨[[u]], τ+ α∗

2[[v]]⟩EIDh

+

⟨[[σ]],

1

2α∗[[τ ]] + v

⟩EINh

.(7.53)

定理 7.26. 设 α > 0, 则 HDG 方法(7.40)–(7.43)存在唯一解.

证明: 只需证明 f = 0 时必有 uh ≡ 0, σh ≡ 0, uh ≡ 0. 在(7.51)中取 f =

0, vh = uh, τh = σh, 并利用(7.52)得∥∥a− 12σh∥∥2L2(Ω)

+

⟨1

2α∗[[σh]], [[σh]]

⟩EINh

+⟨α∗

2[[uh]], [[uh]]

⟩EIDh

= 0.

因此

σh ≡ 0; uh|ΓD= 0; uh ∈ C(Ω).

代入到(7.51)知, (∇huh, τh) = 0,∀τh ∈ Σh, 从而 ∇huh = 0, 故 uh 在Mh 上是分片常数, 只能有 uh ≡ 0, 进而知 uh ≡ 0 (参见(7.45)). 证毕.

7.3.3 误差估计

定义离散范数

‖|v, τ |‖2h :=A(v, τ ; v, τ)(7.54)

=(a−1τ, τ

)+⟨ 1

2α∗[[τ ]], [[τ ]]

⟩EINh

+⟨α∗

2[[v]], [[v]]

⟩EIDh

.

Page 137: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.3 HDG 方法 131

首先, 由(7.37)及(7.53)易知, 椭圆问题的解 u, σ 满足:

A(u, σ; vh, τh) = (f, vh) ∀vh ∈ Vh, τh ∈ Σh.(7.55)

即 HDG 方法的变分形式(7.51)与椭圆问题(7.37)是相容的, 从而得 Galerkin正交性:

A(u− uh, σ − σh; vh, τh) = 0 ∀vh ∈ Vh, τh ∈ Σh.(7.56)

对于给定常数 β, 我们引入到 Vh×Σh 的投影算子 Πβh. 定义 Πβ

h(u, σ) =

(Πβ1u,Π

β2σ) ∈ Vh × Σh 满足: ∀K ∈Mh, e ⊂ ∂K, e ∈ Eh,

(Πβ1u, v)K = (u, v)K ∀v ∈ P0(K),(7.57)

(Πβ2σ, τ)K = (σ, τ)K ∀τ ∈ P0(K)d,(7.58) ⟨

Πβ2σ · nK − βΠβ

1u, µ⟩e= 〈σ · nK − βu, µ〉e ∀µ ∈ P1(e).(7.59)

引理 7.27. 设 1 ≤ s, t ≤ 2, 则 ∀K ∈Mh,

|β|‖Πβ1u− u‖K ≲ |β|hsK |u|Hs(K) + htK |∇ · σ|Ht−1(K) ,(7.60)

‖Πβ2σ − σ‖K ≲ |β|hsK |u|Hs(K) + htK |σ|Ht(K)(7.61)

证明: 分为以下几步, 简述证明, 详细证明留作习题.(i) 先证 Πβ

h 的存在唯一性. 设 u = 0, σ = 0. 在(7.57)和(7.58)中分别取v = ∇ ·Πβ

2σ, τ = ∇Πβ1u 并相加得:⟨

Πβ2σ · nK ,Π

β1u⟩∂K

= (Πβ1u,∇ ·Π

β2σ)K + (Πβ

2σ,∇Πβ1u)K = 0.

由(7.59)得: 在 ∂K 上成立 Πβ2σ · nK = βΠβ

1u. 代入上式得 (Πβ1u)|∂K =

0, (Πβ2σ · nK)|∂K = 0, 从而 (Πβ

1u)|K = 0, (Πβ2σ)K = 0. 存在唯一性得证.

(ii) 由 (i) 的证明可知: 如果 u ∈ Vh, σ ∈ Σh, 则 Πβ1u = u,Πβ

2σ = σ.

(iii) 稳定性. 首先, 由尺度变换技巧易证

‖vh‖K h h12

K ‖vh‖∂K ∀vh ∈ Vh, ‖τh‖K h h12

K ‖τh · nK‖∂K ∀τh ∈ Σh.

设 QK : L2(K) 7→ P1(K) 为单元 K 上的 L2 正交投影算子. 在(7.59)中取µ = QKu−Πβ

1u ∈ P1(K) 并注意到∫Kµ = 0 得:

β‖Πβ1u‖2∂K =β

⟨Πβ

1u,QKu⟩∂K− β 〈u, µ〉∂K +

⟨(σ −Πβ

2σ) · nK , µ⟩∂K

=β⟨Πβ

1u,QKu⟩∂K− β 〈u, µ〉∂K +

(∇ · (σ −Πβ

2σ), µ)K

=β⟨Πβ

1u,QKu⟩∂K− β 〈u, µ〉∂K +

(∇ · σ, µ

)K.

Page 138: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

132 第七章 间断有限元方法

|β|2‖Πβ1u‖2K ≲|β|2hK‖Πβ

1u‖2∂K ≲ |β|2‖Πβ1u‖K ‖QKu‖K

+(|β|2h

12

K ‖u‖∂K + hK |β| ‖∇ · σ‖K)(‖QKu‖K + ‖Πβ

1u‖K)

易得

|β|2‖Πβ1u‖2K ≲ |β|2 ‖QKu‖2K + |β|2hK ‖u‖2∂K + h2K ‖∇ · σ‖

2K ,

从而, 由局部迹不等式可得 Πβ1u 的估计

|β|‖Πβ1u‖K ≲|β|

(‖u‖K + hK ‖∇u‖K

)+ hK ‖∇ · σ‖K .

另外, 在(7.59)中取 µ = Πβ2σ · nK − βΠβ

1u 得:

‖Πβ2σ · nK − βΠβ

1u‖∂K ≤ ‖σ‖∂K + |β| ‖u‖∂K .

可得 Πβ2σ 的估计

‖Πβ2σ‖K ≲h

12

K‖Πβ2σ · nK‖∂K

≲|β|(‖u‖K + hK ‖∇u‖K

)+ ‖σ‖K + hK |σ|H1(K) .

(iv) 由 (ii) 和 (iii) 得 ∀vh ∈ Vh, τh ∈ Σh,

|β|‖u−Πβ1u‖K = |β|‖u− vh +Πβ

1 (vh − u)‖K≲ |β|

(‖u− vh‖K + hK ‖∇(u− vh)‖K

)+ hK ‖∇ · (σ − τh)‖K .

为了证明(7.60), 可以如下选取 vh 和 τh: 对 s = 1, 取 vh|K 为 u 的积分平均uK , 对 s = 2, 取 vh = Ihu; 对 t = 1, 取 τh|K = 0, 对 t = 2, 取 τh ∈ Σh, 使得 (∇h · τh)K = (∇ · σ)K . 类似可证(7.61).

简记 Πi = Παi , i = 1, 2. 将误差分解为

u− uh = (u−Π1u)− (uh −Π1u) := q − sh;

σ − σh = (σ −Π2σ)− (σh −Π2σ) := ρ− θh.

由 Πβh 的定义知:

(q, v)K = 0 ∀v ∈ P0(K); (ρ, τ)K = 0 ∀τ ∈ P0(K)d,K ∈Mh;(7.62)

〈[[ρ]], µ〉e = 2α∗ 〈q , µ〉e ∀µ ∈ P1(e), e ∈ EINh ;(7.63)

2 〈ρ , µn〉e = α∗ 〈[[q]], µn〉e ∀µ ∈ P1(e), e ∈ EIDh .(7.64)

Page 139: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.3 HDG 方法 133

由(7.56), (7.50)和(7.62)–(7.64)得

A(sh, θh; vh, τh) =A(q, ρ; vh, τh) = (a−1ρ, τh) + (q,∇h · τh) + (ρ,∇hvh)

=(a−1ρ, τh) ∀vh ∈ Vh, τh ∈ Σh.(7.65)

从而

‖|sh, θh|‖2h =A(sh, θh; sh, θh) = (a−1ρ, θh) ≤∥∥a−1/2ρ

∥∥∥∥a−1/2θh∥∥ ,

‖|sh, θh|‖h ≤∥∥a−1/2ρ

∥∥ .(7.66)

再利用引理7.27可得如下定理:

定理 7.28. 假设 0 < α ≲ 1, 则

‖σ − σh‖ ≲ ‖ρ‖ ≲ h2(|u|H2(Ω) + |σ|H2(Ω)

).

注 7.29. 若 0 < α ≲ h−1, 则 ‖σ − σh‖ ≲ h |u|H2(Ω) .

下面用对偶论证技巧推导 uh 的 L2 误差估计. 引人对偶问题:

ϕ = −a∇w, ∇ · ϕ = sh in Ω, w|ΓD= 0, (ϕ · n)|ΓN

= 0.(7.67)

注意到, 上面 ∇ 算子前面的符号和原问题一阶组形式 ∇ 前面的符号正好相反. 我们有正则性估计:

‖w‖H2(Ω) + ‖ϕ‖H1(Ω) ≲ ‖sh‖ .(7.68)

由(7.50)得

A(v, τ ;w,ϕ) = (v,∇ · ϕ) = (v, sh).(7.69)

简记 Π∗i = Π−α

i , i = 1, 2, q∗ = w−Π∗1w, ρ

∗ = ϕ−Π∗2ϕ. 类似(7.63)–(7.64)有

〈[[ρ∗]], µ〉e = −2α∗ 〈q∗ , µ〉e ∀µ ∈ P1(e), e ∈ EINh ;

2 〈ρ∗ , µn〉e = −α∗ 〈[[q∗]], µn〉e ∀µ ∈ P1(e), e ∈ EIDh .

在(7.69)中取 v = sh, τ = θh并利用(7.65), (7.53),上面两式及(7.57)–(7.58)得:

‖sh‖2 =A(sh, θh;w,ϕ) = A(sh, θh; Π∗1w,Π

∗2ϕ) +A(sh, θh; q

∗, ρ∗)

=(a−1ρ,Π∗2ϕ) + (a−1θh, ρ

∗)

=(a−1(ρ− θh),Π∗2ϕ− ϕ)− (ρ,∇(w − Ihw)).

Page 140: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

134 第七章 间断有限元方法

由(7.66), (7.68), 引理7.27, 当 αh ≲ 1 时

‖sh‖2 ≲ ‖ρ‖(‖ϕ−Π∗

2ϕ‖+ h |w|H2(Ω)

)≲ ‖ρ‖

((|α|h2 + h) |w|H2(Ω) + h |ϕ|H1(Ω)

)≲ h ‖sh‖ ‖ρ‖ .

得如下定理:

定理 7.30. 假设 0 < α ≲ 1, 则

‖Π1u− uh‖ ≲ h ‖ρ‖ ≲ h3(|u|H2(Ω) + |σ|H2(Ω)

).

进一步, 若 α h 1, 则

‖u− uh‖ ≲ ‖q‖+ h ‖ρ‖ ≲ h2(|u|H2(Ω) + |σ|H1(Ω) + |∇ · σ|H1(Ω)

).

注 7.31. (i) 注意到 uh 与 Π1u 之间的误差有超收敛. 我们可以利用这一点,通过后处理来提高 uh 的精度.

(ii) 若 α h h−1, 则 ‖u− uh‖ ≲ h2(|u|H2(Ω) + |σ|H1(Ω)

).

7.3.4 后处理

记 mK(v) = 1|K|

∫Kv 为 v 在单元 K 上的积分平均. 显然 mKΠ1u =

mKu, 从而 uh 在 Mh 上的分片积分平均函数对精确解 u 的分片积分平均函数具有超逼近性质. 记 P 0

2 (K) := p ∈ P2(K) : mK(p) = 0 . 定义 u∗h 如下: u∗h|K ∈ P2(K),(a∇u∗h,∇v)K = (f, v)K + 〈σh · nK , v〉∂K , ∀v ∈ P 0

2 (K),

mK(u∗h) = mK(uh), ∀K ∈Mh.(7.70)

记 Vh,2 :=∏

K∈MhP2(K). 下面定理给出 u∗h 的高阶估计.

定理 7.32. 假设 α h 1, 则

‖u− u∗h‖ ≲h3(|u|H2(Ω) + |σ|H2(Ω)

).

证明. 记 uh 为 u 到 Vh,2 的 L2 正交投影. 取 v = (I −mK)(uh − u∗h) 得:

‖a 12∇v‖2K = (a∇(uh − u∗h),∇v)K

=(a∇(uh − u),∇v)K + 〈(σ − σh) · nK , v〉∂K + 〈(σh − σh) · nK , v〉∂K=(a∇(uh − u),∇v)K + (∇ · (σ − σh), v)K + (σ − σh,∇v)K

+ 〈(σh − σh) · nK , v〉∂K=(a∇(uh − u),∇v)K + (∇ · (σ − τh), v)K + (σ − σh,∇v)K

+ 〈(σh − σh) · nK , v〉∂K ,

Page 141: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.3 HDG 方法 135

其中 τh ∈ Σh. 这里我们用到了∫Kv = 0. 从而由 ‖v‖K ≲ hK ‖∇v‖K 及

‖v‖∂K ≲ h12

K ‖∇v‖K 得

h−1K ‖v‖K ≲ ‖∇v‖K ≲‖∇(u− uh)‖K + hK‖∇ · (σ − τh)‖K + ‖σ − σh‖K

+ h12

K ‖(σh − σh) · nK‖∂K .

∀vh ∈ Vh,2, 我们有

‖u− uh‖K ≤ ‖u− vh‖K‖∇(u− uh)‖K ≤ ‖∇(u− vh)‖K + ‖∇(vh − uh)‖K

≲ ‖∇(u− vh)‖K + h−1K ‖vh − uh‖K

≲ ‖∇(u− vh)‖K + h−1K ‖u− vh‖K .

利用上面三个估计得:

‖u− u∗h‖K ≤ ‖u− uh‖K + ‖v‖K + ‖mK(uh − u∗h)‖K≲ ‖u− vh‖K + hK ‖∇(u− vh)‖K + h2K‖∇ · (σ − τh)‖K

+ ‖mK(uh − u∗h)‖K + hK ‖σ − σh‖K + h32

K ‖(σh − σh) · nK‖∂K .

最后, 注意到:

‖mK(uh − u∗h)‖K = ‖mK(u− uh)‖K = ‖mK(Π1u− uh)‖K ≤ ‖Π1u− uh‖K ,

及 (由(7.46), (7.66)及局部迹不等式)( ∑K∈Mh

‖(σh − σh) · nK‖2∂K) 1

2

≲ ‖[[σh]]‖EINh

+ α ‖[[uh]]‖EIDh

= ‖[[σh − τh + τh − σ]]‖EINh

+ α ‖[[uh − vh + vh − u]]‖EIDh

≲h− 12

(‖σh − τh‖+ ‖σ − τh‖+ ‖uh − vh‖+ ‖u− vh‖

)+ h

12

(‖∇h(σ − τh)‖+ ‖∇h(u− vh)‖

)≲h− 1

2

(‖σ − σh‖+ ‖σ − τh‖+ ‖u− uh‖+ ‖u− vh‖

)+ h

12

(‖∇h(σ − τh)‖+ ‖∇h(u− vh)‖

),

利用定理7.30和7.28可得

‖u− u∗h‖ ≲h(‖q‖+ ‖ρ‖

)+ h inf

τh∈Σh

(‖σ − τh‖+ h ‖∇h(σ − τh)‖

)+ inf

vh∈Vh,2

(‖u− vh‖+ h ‖∇h(u− vh)‖

).

从而由引理7.27及有限元插值估计知本定理成立.

Page 142: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

136 第七章 间断有限元方法

7.3.5 变分形式 II

本小节将 HDG 方法改写为仅关于数值迹 uh 的变分形式, 从而数值实现时可以得到仅关于 uh 的方程组, 相比于 IPDG 或 LDG 方法的自由度数目大大减少.为了消掉 uh 和 σh, 我们将(7.40)-(7.42)分解为两个单元 K 上的子问

题. 第一个子问题为: 任给 m ∈ L2(Eh), 求 Q1m ∈ Vh,Q2m ∈ Σh 满足∀K ∈Mh,∫

K

a−1Q2m · τ +∫K

Q1m∇ · τ =

∫∂K

mτ · nK ∀τ ∈ P d1 (K),(7.71) ∫

K

Q2m · ∇v −∫∂K

Qm · nKv = 0 ∀v ∈ P1(K),(7.72)

Qm|∂K = Q2m− α(Q1m−m)nK .(7.73)

第二个子问题为: 任给 f ∈ L2(Ω), 求 Q1f ∈ Vh,Q2f ∈ Σh 满足 ∀K ∈Mh,∫K

a−1Q2f · τ +∫K

Q1f∇ · τ = 0 ∀τ ∈ P d1 (K),(7.74) ∫

K

Q2f · ∇v −∫∂K

Qf · nKv =

∫K

fv ∀v ∈ P1(K),(7.75)

Qf |∂K = Q2f − αQ1fnK .(7.76)

显然, 我们有

uh = Q1uh +Q1f ; σh = Q2uh +Q2f ; σh = Quh + Qf.(7.77)

由(7.43)知

〈µ, [[σh]]〉EINh

= 0 ∀µ ∈ Sh.

得 uh 满足如下变分公式: 求 uh ∈ Sh 使得

ah(uh, µ) :=⟨µ, [[Quh]]

⟩EINh

= −⟨µ, [[Qf ]]

⟩EINh

∀µ ∈ Sh.(7.78)

7.4 作业

1. 给出 IIPG 方法 (β = 0) 的 H1 和 L2 误差估计.2. 假设网格Mh 是协调的, γ1 = 0, 证明当 γ0 → +∞ 时, SIPG 方法的

解收敛于有限元解.3. 对 LDG 方法, 给出 ‖a∇u− σh‖L2(Ω) 的误差估计.

Page 143: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

7.4 作业 137

4. 证明(7.78)中的双线性形式满足:

ah(λ, µ) = (a−1Q2λ,Q2µ) +∑

K∈Mh

α 〈Q1λ− λ,Q1µ− µ〉∂K ∀λ, µ ∈ Sh.

从而 ah 是对称的.

Page 144: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

138 第七章 间断有限元方法

Page 145: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

第八章 界面问题的非拟合界面罚有限元方法

界面问题有许多重要应用. 网格与界面非拟合的数值方法研究是必要的: (1) 可以用简单的结构化网格, 比如矩形网格或长方体网格, 求解复杂的界面问题; (2) 对移动界面问题, 可以只用一套网格求解, 网格不必随界面移动而重分; (3) 网格与界面非拟合时, 普通有限元方法一般不收敛. 本章介绍非拟合网格方法的一种: 非拟合界面罚有限元方法 (UIPFEM). 以椭圆界面问题为例, 仅介绍线性元离散. 当然, 本章的方法和理论很容易推广到高次元.设 Ω = Ω1 ∪ Γ∪Ω2 ⊂ Rd, d = 2, 3 是有界的凸多边形或多面体区, 其中

Ω1 和 Ω2 是 Ω 的两个子区域, Γ = ∂Ω1 ∩ ∂Ω2 是一个 C2 光滑的界面. 考虑椭圆界面问题:

(8.1)

−∇ ·

(a(x)∇u

)= f, in Ω1 ∪ Ω2,

[u] = gD,[(a(x)∇u

)· n]= gN , on Γ,

u = 0, on ∂Ω,

其中 [v] = v|Ω1− v|Ω2

表示 v 在界面 Γ 上的跳量, n 是 Ω1 边界的单位外法向, a(x) 是分片常数的, 即 a(x) = ai > 0, x ∈ Ωi, i = 1, 2.本章记 (·, ·)ω 为 L2(ω)内积 (或 [L2(ω)]d 内积). 记 Sobolev空间 Hs(ω)

J

JJ

JJJ

AAAAAA

Ω1

Ω2 Γ

139

Page 146: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

140 第八章 界面问题的非拟合界面罚有限元方法

上的范数为 ‖ · ‖s,ω 及半范数为 | · |s,ω. 简记 ‖ · ‖s = ‖ · ‖s,Ω 及 | · |s = | · |s,Ω.记 Hs(Ω1 ∪ Ω2) 为 Ω1 ∪ Ω2 上的分片 Hs 空间, 范数及半范数为:

‖·‖s,Ω1∪Ω2=(‖·‖2s,Ω1

+ ‖·‖2s,Ω2

) 12 , |·|s,Ω1∪Ω2

=(|·|2s,Ω1

+ |·|2s,Ω2

) 12 .

可以证明界面问题(8.1)满足如下的正则性估计:

‖a∇u‖1,Ω1∪Ω2≲ ‖f‖0 + ‖gD‖ 3

2 ,Γ+ ‖gN‖ 1

2 ,Γ.(8.2)

8.1 非拟合界面罚有限元方法

8.1.1 网格剖分

设 Mh 是 Ω 一族正则拟均匀协调的剖分, 由平行四边形或平行六面体组成. ∀K ∈ Mh, 记 hK := diam(K). 令 h := maxK∈Mh

hK . 则 hK h h.任意 K ∈ Mh 为闭集. 记 MΓ = K ∈ Mh : K ∩ Γ 6= ∅ 为与界面相交的单元集合, 其中 K 为 K 的内部. 令 Mh,i = K ∈ Mh : K ∩ Ωi 6= ∅(i = 1, 2). 显然, MΓ ⊂ Mh,i. 注意到 MΓ 中的单元与 Ωi 的交集可能很小, 这会导致数值方法的不稳定性. 我们采用如下合并单元的技巧处理这些单元. 给定 δ ∈ (0, 1/2), 如果 K ∈MΓ 满足 |K ∩Ωi| < δ|K|, 则称 K 与 Ωi

交集小, 否则称 K 与 Ωi 的交集大. 据此, 将Mh,i 分为两部分

Msmallh,i = K ∈MΓ : |K ∩ Ωi| < δ|K|, Mlarge

h,i =Mh,i \Msmallh,i .

可知对每个 K ∈Msmallh,i , 存在其相邻单元 N (K) ∈Mlarge

h,i 使得合并后的单元 K ∪N (K) 满足 |(K ∪N (K)) ∩ Ωi| ≳ |K ∪N (K)|.

定义合并后的网格为

Th,i = K ∪N (K) : K ∈Msmallh,i ∪M

largeh,i \ N (K) : K ∈Msmall

h,i .

注意到 Th,i 包含合并后的单元 K ∪ N (K) 及没有涉及合并操作的单元 (参见图 8.1). 记 Th = Th,1 ∪ Th,2. 令 TΓ,i = K ∈ Th,i : K ∩ Γ 6= ∅ 为 Th,i 中与界面相交的单元集合. 显然每个单元 K ∈ TΓ,i 满足 |K ∩ Ωi| ≳ |K|, 即它是大的. 记 Γh,i = e = K ∩ Γ : K ∈ TΓ,i 为 Th,i, i = 1, 2 对应的界面的剖分. ∀e ∈ Γh,i, 令 Ke ∈ Th,i 为包含 e 的单元, 记 Ke

i = Ke ∩ Ωi, i = 1, 2. 定义 Ωh,i =

⋃K∈Th,i

K, i = 1, 2.

Page 147: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.1 非拟合界面罚有限元方法 141

0 0.5 10

0.5

1

0 0.5 10

0.5

1

0 0.5 10

0.5

1

图 8.1: Ω 的剖分Mh 及通过合并处理后的网格 Th,i, i = 1, 2.

8.1.2 方法构造

引入能量空间:

V = v : v|Ωi∈ H1(Ωi), v|K∩Ωi

∈ H2(K ∩ Ωi),∀K ∈ TΓ,i,(8.3)

i = 1, 2, v|∂Ω = 0.

对单元 K ∈ Th, 记 Q1(K) 为 K 上的 d-线性函数空间. 记 Uh 为连续的一阶有限元空间, 即

(8.4) Uh,i =vh ∈ H1(Ωh,i) : vh|K ∈ Q1(K) ∀K ∈ Th,i

.

我们的界面罚有限元空间定义为分片的连续有限元函数空间:

(8.5) Vh = vh : vh|Ωi∈ Uh,i|Ωi

, i = 1, 2, vh|∂Ω = 0 .

显然 Vh ⊂ V ⊂ L2(Ω), 但 Vh 6⊂ H1(Ω).我们还需定义函数 v 在界面 Γ 上的加权平均. 任给非负数对 w =

(w1, w2), w1 + w2 = 1 及函数 v ∈ V , 定义 v 在界面上的加权平均:

(8.6) vw := w1v1 + w2v2, vw := w2v1 + w1v2

其中 vi = v|Ωi, i = 1, 2. 本章取如下所谓的 “调和权”:

w1 =a2

a1 + a2, w2 =

a1a1 + a2

.(8.7)

显然 aw = 2a1a2

a1+a2是 a1 和 a2 的调和平均, 我们有

amin ≤ aw ≤ amax, aw ≤ 2amin,(8.8)

其中 amin = mina1, a2, amax = maxa1, a2.

Page 148: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

142 第八章 界面问题的非拟合界面罚有限元方法

任取 v ∈ V 作为问题 (8.1)的检验函数, 利用分部积分及 “魔法公式”[uv] = uw[v] + [u]vw, 我们有∫

Ω1∪Ω2

a∇u · ∇v −∫Γ

(a∇u) · nw[v] =∫Ω1∪Ω2

fv +

∫Γ

gNvw.

定义双线性形式 ah(·, ·) : V × V → R:

ah(u, v) =

∫Ω1∪Ω2

a∇u · ∇v −∫Γ

(a∇u · nw[v] + β[u]a∇v · nw

)(8.9)

+

∫Γ

γ awh

[u][v],

及线性泛函

fh(v) =

∫Ω1∪Ω2

fv +

∫Γ

gNvw − β∫Γ

gDa∇v · nw(8.10)

+

∫Γ

γ awh

gD[v],

其中 β 是实数, γ 是非负数.容易验证, 如果问题(8.1)存在古典解满足 u|Ωi

∈ H2(Ωi), i = 1, 2, 则:

(8.11) ah(u, v) = fh(v), ∀v ∈ V.

受上面公式启发, 我们如下定义非拟合界面罚有限元方法: 求 uh ∈ Vh 使得

(8.12) ah(uh, vh) = fh(vh), ∀vh ∈ Vh.

注 8.1. (a) 我们处理间断的技巧来源于内罚间断有限元方法.(b) 当 β = 1 时, ah(·, ·) 是对称的, 即 ah(v, w) = ah(w, v), 此时方法简

记为 SUIPFEM. 当 β 6= 1 时, ah(·, ·) 是非对称的. 特别, 当 β = −1 时, 此方法简记为 NUIPFEM. 本书仅讨论 β = 1 和 β = −1 的情况, β 6= ±1 的情形可类似分析.

(c) 权的取法不是唯一的, 其实只要满足 aw ≲ amin 就可以了. 例如,除了调和权, 我们还可以在 a1 ≤ a2 的时候取 w1 = 1, w2 = 0, 当 a1 > a2 时取 w1 = 0, w2 = 1.

定义空间 V 上的范数:

‖|v|‖2 =∥∥a 1

2∇v∥∥20,Ω1∪Ω2

+γawh‖[v]‖20,Γ(8.13)

+h

γaw‖a∇v · nw‖20,Γ .

Page 149: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.2 辅助结果 143

8.2 辅助结果

类似于定理2.10我们有如下延拓性质.

引理 8.2. 存在延拓算子 E1 : H2(Ω1) 7→ H2(Ω)∩H1

0 (Ω) 和 E2 : H2(Ω2) 7→

H2(Ω) 使得

(Eiw)|Ωi= w 且 ‖Eiw‖H2(Ω) ≲ ‖w‖H2(Ωi)

, i = 1, 2.

我们知道, 对 e ∈ Γh,i, Ke ∈ Th,i 表示包含 e 的一个单元且 Kei =

Ke ∩ Ωi, i = 1, 2. 我们需要如下 Ke 上的迹不等式.

引理 8.3. 存在常数 h0 和 h 及界面与网格的相对位置无关, 使得当 h ∈(0, h0] 时, 对任何 e ∈ Γh,i, i = 1, 2, 下面估计成立:

‖v‖0,e ≲ h− 1

2

Ke ‖v‖0,Kei+ ‖v‖

12

0,Kei‖∇v‖

12

0,Kei, ∀v ∈ H1(Ke

i ),(8.14)

‖vh‖0,e ≤ Ctrh− 1

2

Ke ‖vh‖0,Kei, ∀vh ∈ Q1(K

e).(8.15)

证明: 只证二维情形, 三维情形可类似证明. 既然 Ω1 的边界 Γ 是 C2 的,它可以表示为一些开曲线段 Γi, i ∈ Λ := 1, 2, · · · , N 的并, 使得每个 Γi

可参数化为 x = ri(ξ) ∈ [C2(Ii)]2 且满足 |r′i(ξ)| 6= 0, 其中 Ii 是一个开区

间. 因为 Γi ∩ Γj 或者是空集或者是 Γ 上的一开曲线段, 所以如果 h 足够小,那么 e 一定完全包含在某个 Γk 中, 从而 e 可表示为 x = r(ξ), ξ ∈ I, 其中r(ξ) = rk(ξ), I ⊂ Ik. 显然 I 的长度 ≲ hKe .取 P0 为 e 上任意固定的一点并记 ΓP0

为 Γ 在 P0 点的切线. 记 P 为Ke

i 上与切线 ΓP0距离最远的点, 并记此距离为 h. 记 ρKe 为 Ke 的内切圆

直径. 显然, 我们有 h ≥ ρKe/2 ≳ hKe (否则, Ke 就会完全包含在一个以ΓP0为轴宽度为 ρKe 的带状区域内, 矛盾! ). 不失一般性, 假设 P 是坐标原

点. 设 P0 对应参数 ξ = ξ0. 则向量−−→PP0 = r(ξ0). 显然

(8.16) |r(ξ0)| ≤ hKe , |r′(ξ0)| h 1.

在 ξ0 点做 Taylor 展开,

r(ξ) = r(ξ0) + r′(ξ0)(ξ − ξ0) +O(h2Ke),(8.17)r′(ξ) = r′(ξ0) +O(hKe).(8.18)

为进一步分析, 我们需要估计如下 G(ξ) 的下界:

G(ξ) :=|r(ξ)× r′(ξ)||r′(ξ)| ,

Page 150: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

144 第八章 界面问题的非拟合界面罚有限元方法

其中 a×b = a1b2− a2b1 表示两个二维向量的标量外积, 其绝对值 |a×b| =|a||b| sin〈a,b〉 为这两个向量所张成的平行四边形的面积. 注意到 G(ξ0) =|r(ξ0)× r′(ξ0)||r′(ξ0)|

等于从 P 到切线 ΓP0的距离, 因此

G(ξ0) = h ≳ hKe .

结合(8.16)–(8.18)得

G(ξ) =|r(ξ0)× r′(ξ0) +O(h2Ke)||r′(ξ0) +O(hKe)|

= G(ξ0) +O(h2Ke).

因此存在仅与界面 Γ 及单元 Ke 的形状正则性有关的常数 h0 > 0, 使得, 如果 0 < hKe ≤ h0, 那么

(8.19) G(ξ) ≳ hKe , for all ξ ∈ I.

下面我们先证迹不等式(8.14). 记 Ke 为 Kei 中以 e ∪ PD ∪ PE 为边的

扇形区域, 即,

Ke := x : x = t · r(ξ), t ∈ [0, 1], ξ ∈ I .

设 v ∈ C1(Kei ). 考虑其在 e 上的限制的平方:

v2(r(ξ)) =

∫ 1

0

∂t

((t2v2(t · r(ξ))

)dt =

∫ 1

0

2(t2vvt + tv2)dt.(8.20)

由 vt = ∇v · r 得

v2(r(ξ)) ≤∫ 1

0

2(|v||∇v||r|+ v2)tdt.

在 e 上积分得∫e

v2 ds =∫I

v2(r(ξ))|r′(ξ)|dξ(8.21)

≤ 2

∫I

∫ 1

0

(|v||∇v||r|+ v2)t|r′(ξ)|dtdξ

= 2

∫I

∫ 1

0

(|v||∇v||r|+ v2) · t|r(ξ)× r′(ξ)| · 1

G(ξ)dtdξ

≲ 1

infξ∈I G(ξ)

∫I

∫ 1

0

(|v||∇v|hKe + v2) · t|r(ξ)× r′(ξ)|dtdξ,

这里我们用到了 |r(ξ)| ≲ hKe 来推导最后一个不等式. 注意到 t|r(ξ)× r′(ξ)|是映射 x = t · r(ξ) 的 Jacobian 行列式的绝对值并利用(8.19), 我们有

‖v‖2L2(e) ≲1

infξ∈I G(ξ)

∫Ke

(|v||∇v|hKe + v2)dx(8.22)

≲ ‖v‖L2(Ke)‖∇v‖L2(Ke) + h−1Ke‖v‖2L2(Ke)

.

Page 151: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.2 辅助结果 145

既然 Ke ⊂ Kei , 我们得

‖v‖L2(e) ≲ h− 1

2

Ke ‖v‖L2(Keie

) + ‖v‖12

L2(Keie

)‖∇v‖12

L2(Keie

).

由稠密性论证, 上面不等式对 v ∈ H1(Kei ) 仍然成立. (8.14)得证.

下面只需证明(8.15). 首先我们有 P3([0, 1]) 上的逆不等式:

(8.23) ‖w′h‖L2([0,1]) ≲ ‖wh‖L2([0,1]) ∀wh ∈ P3([0, 1]).

注意到, vh(t · r(ξ)) 是 t 的二次式. 由以上逆估计得

v2h(r(ξ)) =∫ 1

0

∂t

(t2v2h(t · r(ξ))

)dt = 2

∫ 1

0

t vh(t · r(ξ))∂

∂t

(t vh(t · r(ξ))

)dt

≤ 2

(∫ 1

0

(t vh(t · r(ξ))

)2 dt) 1

2(∫ 1

0

( ∂∂t

(t vh(t · r(ξ))

))2dt) 1

2

≲∫ 1

0

t2 v2h(t · r(ξ))dt.(8.24)

仿照(8.21)和(8.22)的证明可得

‖vh‖2L2(e) =

∫I

v2h(r(ξ))|r′(ξ)|dξ ≲∫I

∫ 1

0

v2h(t · r(ξ)) t |r′(ξ)|dtdξ(8.25)

≲ 1

infξ∈I G(ξ)

∫Ke

v2h dx ≲ 1

hKe

‖vh‖2L2(Ke),

即(8.15)成立. 证毕.

本节最后, 我们给出空间 Vh 的逼近性质. 对 v ∈ H2(Ω1 ∪ Ω2), 记vi = Ei(v|Ωi

)∣∣Ωh,i

. 令 vih = Ihvi ∈ Uh,i 为 vi 的有限元插值. 定义 v 的有限元插值 Ihu 为

(Ihv)|Ωi= vih|Ωi

, i = 1, 2.

引理 8.4. 假设 0 < h ≤ h0, 则 ∀v ∈ H2(Ω1 ∪ Ω2),

‖v − Ihv‖0 ≲ h2 ‖v‖2,Ω1∪Ω2,(8.26)

‖|v − Ihv|‖ ≲(1 + γ + γ−1

) 12h∥∥a 1

2 v∥∥2,Ω1∪Ω2

,(8.27)

其中常数 h0 来自引理8.3.

证明: 由引理8.2知

(8.28) vi|Ωi= v|Ωi

, ‖vi‖2,Ωh,i≲ ‖v‖2,Ωi

.

Page 152: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

146 第八章 界面问题的非拟合界面罚有限元方法

显然

(8.29) ‖vi − Ihvi‖j,Ωh,i≲ h2−j |vi|2,Ωh,i

≲ h2−j ‖v‖2,Ωi, j = 0, 1.

从而易知(8.26)成立.记 η = v − Ihv 及 ηi = vi − Ihvi, i = 1, 2. 显然, η|Ωi

= ηi|Ωi, i = 1, 2.

下面我们估计 ‖|η|‖ 的定义中的每一项 (参见(8.13)). 首先,

∥∥a 12∇η

∥∥20,Ω1∪Ω2

=2∑

i=1

∥∥a 12

i ∇ηi∥∥20,Ωi

≲ h2∥∥a 1

2 v∥∥22,Ω1∪Ω2

.(8.30)

然后由引理8.3, (8.29)及 aw ≤ 2ai, i = 1, 2 得,

γawh‖[η]‖20,Γ ≲ γaw

h

2∑i=1

∑e∈Γh,i

‖ηi‖20,e(8.31)

≲ γawh

2∑i=1

∑e∈Γh,i

(h−1Ke‖ηi‖20,Ke

i+ ‖ηi‖0,Ke

i‖∇ηi‖0,Ke

i

)≲ γaw

h

2∑i=1

h3 ‖v‖22,Ωi

≲ γh2∥∥a 1

2 v∥∥22,Ω1∪Ω2

.

再由引理8.3和(8.29)

h

γaw‖a∇η · nw‖20,Γ ≲ h

γaw

2∑i=1

∑e∈Γh,i

‖aiwi∇ηi‖20,e(8.32)

≲ h

γaw

2∑i=1

∑e∈Γh,i

a2iw2i

(h−1Ke |ηi|21,Ke

i+ |ηi|1,Ke

i|ηi|2,Ke

i

)≲ h

γ

2∑i=1

a2iw2i

awh ‖v‖22,Ωi

≲ 1

γh2∥∥a 1

2 v∥∥22,Ω1∪Ω2

,

其中我们利用了下面的估计来推导上面最后一个不等式:

a2iw2i

aw=aiwi

awaiwi <

1

2ai, i = 1, 2.(8.33)

最后, 由(8.30)–(8.32)可知(8.27)成立. 证毕.

注意到上面引理误差界依赖于 v 的 H2(Ω1 ∪Ω2) 全范数, 下面引理给出依赖于半范数的估计.

Page 153: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.3 SUIPFEM 的误差估计 147

引理 8.5. 设 0 < h ≤ h0. 则 ∀v ∈ v ∈ H2(Ω1 ∪ Ω2) : v|∂Ω = 0,

infvh∈Vh

‖|v − vh|‖ ≲(1 + γ + γ−1

) 12h∣∣a 1

2 v∣∣2,Ω1∪Ω2

.(8.34)

证明. 仅证第二个估计. 记 P1(Ω1∪Ω2) = q : q|Ωi= qi|Ωi

, qi ∈ P1(Ωi), i = 1, 2 .注意到 ∀q ∈ P1(Ω1 ∪ Ω2) 有 vh = Ih(v + q)− q ∈ Vh, 由引理8.4及4.2得

infvh∈Vh

‖|v − vh|‖ ≲ infq∈P1(Ω1∪Ω2)

‖|v + q − Ih(v + q)|‖

≲(1 + γ + γ−1

) 12h inf

q∈P1(Ω1∪Ω2)

∥∥a 12 (v + q)

∥∥2,Ω1∪Ω2

≲(1 + γ + γ−1

) 12h

( 2∑i=1

ai infqi∈P1(Ωi)

∥∥v + qi∥∥22,Ωi

) 12

≲(1 + γ + γ−1

) 12h∣∣a 1

2 v∣∣2,Ω1∪Ω2

.

得证.

8.3 SUIPFEM 的误差估计

本节推导 SUIPFEM (即, β = 1) 的 H1 和 L2 误差估计的连续性和强制性.

引理 8.6. 我们有

|ah(u, v)| ≤ 2 ‖|u|‖ ‖|v|‖ , ∀u, v ∈ V.(8.35)

存在常数 γ0 与 h, 加罚参数及界面与网格的相对位置无关使得, 当 0 < h ≤h0, γ ≥ γ0 时,

(8.36) ah(vh, vh) ≥1

2‖|vh|‖2 , ∀ vh ∈ Vh,

其中常数 h0 来自引理8.3.

证明: (8.35)是定义(8.9), (8.13), 和 Cauchy-Schwarz 不等式的直接推论.只需证(8.36). 我们有,

ah(vh, vh) =‖|vh|‖2 − 2(a∇vh · nw, [vh]

)Γ− h

γaw‖a∇vh · nw‖20,Γ

≥‖|vh|‖2 −1

2

γawh‖[vh]‖20,Γ − 3

h

γaw‖a∇vh · nw‖20,Γ .

Page 154: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

148 第八章 界面问题的非拟合界面罚有限元方法

另外, 由(8.15)和(8.33)可得

3h

γaw‖a∇vh · nw‖20,Γ ≤ 6

2∑i=1

∑e∈Γh,i

h

γaw‖aiwi∇(vh|Ωi

)‖20,e(8.37)

≤ 62∑

i=1

∑e∈Γh,i

a2iw2i

γawC2

tr ‖∇vh‖20,Ke

i

≤ 3

γ

2∑i=1

∑e∈Γh,i

aiC2tr ‖∇vh‖

20,Ke

i

≤ 3C2tr

γ

∥∥a 12∇vh

∥∥20,Ω1∪Ω2

.

结合上面两估计得,

ah(vh, vh) ≥‖|vh|‖2 −max(12,3C2

tr

γ

)‖|vh|‖2.

取 γ0 = 6C2tr 可得(8.36)成立. 证毕.

下面引理与有限元方法的 Céa 引理类似.

引理 8.7. 假设 0 < h ≤ h0, γ ≥ γ0, 则.

‖|u− uh|‖ ≤ 5 infvh∈Vh

‖|u− vh|‖.

证明: 由(8.11)和(8.12), 得 Galerkin 正交性

(8.38) ah(u− uh, vh) = 0, ∀vh ∈ V 0h .

任给 zh ∈ Vh, 记 ηh = uh − zh. 由引理8.6和(8.38)得

‖|ηh|‖2 ≤2ah(ηh, ηh) = 2ah(u− zh, ηh) ≤ 4 ‖|u− zh|‖ ‖|ηh|‖ ,

从而,‖|uh − zh|‖ ≤ 4 ‖|u− zh|‖ ,

‖|u− uh|‖ = ‖|u− zh + zh − uh|‖ ≤ 5 ‖|u− zh|‖ .

证毕.

Page 155: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.3 SUIPFEM 的误差估计 149

定理 8.8. 假设椭圆界面问题(8.1)的解满足 u|Ωi∈ H2(Ωi), i = 1, 2. 则存在

常数 γ0 与 h, 加罚参数及界面与网格的相对位置无关使得, 当 γ ≥ γ0 时,下面估计成立.:

‖|u− uh|‖ ≲ γ12h∣∣a 1

2u∣∣2,Ω1∪Ω2

, ∀ 0 < h ≤ h0,

其中常数 h0 来自引理8.3. 因此, ∀ 0 < h ≤ h0,∥∥a 12∇(u− uh)

∥∥0,Ω1∪Ω2

≲ γ12h∣∣a 1

2u∣∣2,Ω1∪Ω2

,

‖gD − [uh]‖0,Γ ≲ a− 1

2

minh32

∣∣a 12u∣∣2,Ω1∪Ω2

.

下面利用对偶论证的技巧推导 L2 误差估计. 考虑对偶问题:

(8.39)

−∇ ·

(a(x)∇ϕ

)= u− uh, x ∈ Ω1 ∪ Ω2,

[ϕ] = 0,[(a(x)∇ϕ

)· n]= 0, x ∈ Γ,

ϕ = 0, x ∈ ∂Ω,

可以证明如下正则性估计:

(8.40) ‖a∇ϕ‖1,Ω1∪Ω2≲ ‖u− uh‖0 .

定理 8.9. 在定理8.8的条件下, 对 SUIPFEM 成立如下估计.

‖u− uh‖0 ≲ γh2a− 1

2

min∣∣a 1

2u|2,Ω1∪Ω2, ∀ 0 < h ≤ h0,

其中常数 h0 来自引理8.3.

证明: 记 η = u− uh. 用 η 检验(8.39)并利用(8.38)和(8.35)得

‖η‖20 = ah(ϕ, η) = ah(η, ϕ) = infφh∈Vh

ah(η, ϕ− ϕh)(8.41)

≤ 2 ‖|η|‖ infφh∈Vh

‖|ϕ− ϕh|‖ ,

由引理8.5知

(8.42) infφh∈Vh

‖|ϕ− ϕh|‖ ≲ γ12h∣∣a 1

2ϕ|2,Ω1∪Ω2.

因此由(8.40)及(8.41),

‖η‖20 ≲ γ12h∣∣a 1

2ϕ|2,Ω1∪Ω2‖|η|‖ ≲ a

− 12

minγ12h ‖η‖0 ‖|η|‖,

即 ‖η‖0 ≲ a− 1

2

minγ12h‖|η|‖, 由定理8.8得证.

Page 156: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

150 第八章 界面问题的非拟合界面罚有限元方法

8.4 NUIPFEM 的误差估计

本节推导 NUIPFEM (即 β = −1 的情形) 的 H1 和 L2 误差估计. 下面引理给出 ah(·, ·) 的连续性和强制性.

引理 8.10. 我们有,

|ah(u, v)| ≤ 2 ‖|u|‖ ‖|v|‖ , ∀u, v ∈ V.(8.43)

(8.44) ah(vh, vh) ≳γ

1 + γ‖|vh|‖2 , ∀ vh ∈ Vh,∀ 0 < h ≤ h0,

其中常数 h0 来自引理8.3.

证明: (8.43)可直接由定义(8.9), (8.13), 和 Cauchy-Schwarz 不等式得到.易知

ah(vh, vh) =∥∥a 1

2∇vh∥∥20,Ω1∪Ω2

+γawh‖[vh]‖20,Γ

=‖|vh|‖2 −h

γaw‖a∇vh · nw‖20,Γ .

故由(8.37)得

‖|vh|‖2 ≤(1 +

C2tr

γ

)ah(vh, vh)

可知(8.44)成立. 证毕.

类似于定理8.8我们可得 NUIPFEM 按范数 ‖|·|‖ 的误差估计. 证明略.

定理 8.11. 假设椭圆界面问题(8.1)的解满足 u|Ωi∈ H2(Ωi), i = 1, 2. 则当

γ ≳ 1 时, 下面估计成立:

‖|u− uh|‖ ≲ γ12h∣∣a 1

2u∣∣2,Ω1∪Ω2

, ∀ 0 < h ≤ h0,

其中常数 h0 来自引理8.3. 因此, ∀ 0 < h ≤ h0,∥∥a 12∇(u− uh)

∥∥ ≲ γ12h∣∣a 1

2u∣∣2,Ω1∪Ω2

,

‖gD − [uh]‖0,Γ ≲ a− 1

2

minh32

∣∣a 12u∣∣2,Ω1∪Ω2

.

下面定理给出 NUIPFEM 的 L2 误差估计.

定理 8.12. 在定理8.11的条件下, 对 NUIPFEM 成立如下估计.

‖u− uh‖0 ≲(γh2 + h

32

)a− 1

2

min∣∣a 1

2u∣∣2,Ω1∪Ω2

, ∀ 0 < h ≤ h0,

其中常数 h0 来自引理8.3.

Page 157: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.5 刚度矩阵条件数 151

证明: 本证明类似于定理8.9的证明. 所以仅略证. (8.41)变为

‖η‖20 = ah(ϕ, η) =ah(η, ϕ)− 2

∫Γ

[η] a∇ϕ · nw(8.45)

= infφh∈Vh

ah(η, ϕ− ϕh)− 2

∫Γ

[η] a∇ϕ · nw ,

其中 η = u− uh, ϕ 由(8.39)定义. 由定理8.9的证明得,

infφh∈Vh

ah(η, ϕ− ϕh) ≲ a− 1

2

minγ12h ‖η‖0 ‖|η|‖,(8.46)

由 Cauchy-Schwarz 不等式和迹不等式, (8.45)的最后一项可如下估计:

−2∫Γ

[η] a∇ϕ · nw ≲2∑

i=1

aiwi ‖∇(ϕ|Ωi)‖0,Γ ‖[η]‖0,Γ(8.47)

≲ ‖η‖0 ‖[η]‖0,Γ ,

这里我们用了(8.40)来推导最后一个不等式. 结合(8.45)–(8.47)得

‖η‖0 ≲ a− 1

2

min

12h+ γ−

12h

12

)‖|η|‖ ,

再由定理8.11知定理8.12成立.

注 8.13. 简单比较一下 SUIPFEM 和 NUIPFEM:

• SUIPFEM 的刚度矩阵是对称的, NUIPFEM 的不是.

• 两个方法都需要 γ ≥ C,但对 SUIPFEM, C是问题相关的,对NUIPFEM,C 可以是任何正的常数, 甚至可以取 γ = 0.

• 对 SUIPFEM, L2 误差估计关于 h 是最优阶的, 对 NUIPFEM 不是.

8.5 刚度矩阵条件数

本节以 SUIPFEM (β = 1) 为例, 证明非拟合界面罚有限元方法的刚度矩阵的条件数与界面和网格的相对位置无关.

8.5.1 三个条件数

记 Vh 的节点基函数为 φj , j = 1, · · · , N, 其中 N = dim Vh. 记 A =(ah(φj , φi)

)N×N

和 M =(φj , φi

)N×N

分别为刚度矩阵和质量矩阵. 显然它们都是对称正定矩阵. ∀vh =

∑Ni=1 viφi ∈ Vh, 记 v = (vi)N×1, 我们有

ah(vh, vh) = vTAv 及 (vh, vh) = vTMv.

Page 158: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

152 第八章 界面问题的非拟合界面罚有限元方法

定义算子 Ah : Vh 7→ Vh

ah(vh, wh) = (Ahvh, wh), ∀vh, wh ∈ Vh.

vTAvvTv =

(Ahvh, vh)

(vh, vh)

vTMvvTv , ∀vh ∈ Vh \ 0 .(8.48)

记 λAmax, λ

Mmax, λ

Ahmax 和 λA

min, λMmin, λ

Ah

min 分别为 A,M,Ah 的最大和最小特征值. 则 A,M,Ah 的条件数满足

κ(A) =λAmax

λAmin

, κ(Ah) =λAhmax

λAh

min

, 及 κ(M) =λMmax

λMmin

.

由(8.48),

κ(A) ≤ κ(Ah)κ(M).(8.49)

8.5.2 κ(Ah) 的估计

下面引理给出了一个分片 H1 函数的 Friedrichs 型的不等式.

引理 8.14. 对 v ∈ v : v|Ωi∈ H1(Ωi), i = 1, 2, v|∂Ω = 0 有

‖v‖0,Ω ≲ ‖∇v‖0,Ω1∪Ω2+ ‖[v]‖0,Γ .(8.50)

证明: 记 vi = v|Ωi, i = 1, 2. 既然 v2|∂Ω = 0, 由 Friedrichs 不等式,

‖v2‖0,Ω2≲ ‖∇v2‖0,Ω2

.

另外, 由范数等价定理得

‖v1‖0,Ω1≲ ‖∇v1‖0,Ω1

+ ‖v1‖0,Γ .

进一步, 由迹定理得

‖v1‖0,Γ ≲ ‖[v]‖0,Γ + ‖v2‖0,Γ ≲ ‖[v]‖0,Γ + ‖v2‖0,Ω2+ ‖∇v2‖0,Ω2

.

最后, 由以上三个估计可得证明.

下面我们推导 Vh 上的逆估计.

引理 8.15. 设 0 < h ≤ h0. 则

‖|vh|‖ ≲(γ−

12 + γ

12

)h−1‖a 1

2 vh‖0,Ω, ∀vh ∈ Vh.(8.51)

Page 159: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

8.5 刚度矩阵条件数 153

证明: 由(8.13)和(8.37)得

‖|vh|‖2 ≲ (1 + γ−1)∥∥a 1

2∇vh∥∥20,Ω1∪Ω2

+γawh‖[vh]‖20,Γ .

因此, 由逆不等式, (8.15)及 aw ≲ ai, i = 1, 2,

‖|vh|‖2 ≲ (1 + γ−1)h−2∥∥a 1

2 vh∥∥20,Ω1∪Ω2

+ γ2∑

i=1

h−2ai∥∥vh∥∥20,Ωi

.

即, (8.51)成立. 证毕.

下面引理给出 κ(Ah) 的估计.

引理 8.16. 设 γ0 ≤ γ ≲ 1, 0 < h ≤ h0. 则

κ(Ah) ≲amax

amin

1

h2.

证明: 由引理8.6得

‖|vh|‖2 ≲ ah(vh, vh) ≲ ‖|vh|‖2, ∀vh ∈ Vh.

由引理8.14, (8.13), 及(8.8)

‖vh‖20,Ω ≲ a−1min

(1 + γ−1h

)‖|vh|‖2, ∀vh ∈ Vh.

因此, 由引理8.15及上面两个估计得

λAh

min ≳ amin

(1 + γ−1h

)−1

及 λAhmax ≲ amax

(γ−1 + γ

)h−2,

得证.

8.5.3 κ(M) 的估计

令 Vh,1 = Uh,1 和 Vh,2 = Uh,2 ∩ H10 (Ωh,2). 显然, ∀vh ∈ Vh, 存在

vh,i ∈ Vh,i 使得 vh|Ωi= vh,i|Ωi

, i = 1, 2.

引理 8.17.2∑

i=1

‖vh,i‖0,Th,i≲ ‖vh‖0,Ω ≤

2∑i=1

‖vh,i‖0,Th,i, ∀vh ∈ Vh,(8.52)

其中 ‖vh,i‖0,Th,i=(∑

K∈Th,i‖vh,i‖20,K

) 12 .

Page 160: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

154 第八章 界面问题的非拟合界面罚有限元方法

证明: 第二个不等式显然成立. 为证第一个不等式, 只需证明

‖vh,i‖0,K ≲ ‖vh,i‖0,K∩Ωi, ∀K ∈ TΓ,i.(8.53)

注意到存在一个正则的小平行四边形/平行六面体 S ⊂ K∩Ωi满足 diam(S) hhK . 由尺度变换技巧及有限维空间任意两个范数等价得

‖q‖0,K ≲ ‖q‖0,S , ∀q ∈ Q1(K),(8.54)

可得(8.53)成立. 证毕.

引理 8.18. 质量矩阵的条件数满足

κ(M) ≲ 1.

证明: 记 φj,i, j = 1, 2, · · · , Ni 分别为 Vh,i, i = 1, 2 的节点基, 其中 Ni =

dim Vh,i. ∀vh,i ∈ Vh,i 可展开为 vh,i =∑Ni

j=1 vj,iφj,i, 记 vi = (vj,i)Ni×1

分别为 vh,i, i = 1, 2 的自由度向量. 显然 ∀vh ∈ Vh 及 vh,i ∈ Vh,i 满足vh|Ωi

= vh,i|Ωi, 我们有

(v,v) =2∑

i=1

(vi,vi) 和 ‖vh,i‖20,Th,ih hd(vi,vi) i = 1, 2.

然后由引理8.17得

‖vh‖20,Ω h hd(v,v).

得证.

8.5.4 κ(A) 的估计

下面定理给出了刚度矩阵的条件数估计.

定理 8.19. 假设 γ0 ≤ γ ≲ 1, 0 < h ≤ h0. 则

κ(A) ≲ amax

amin

1

h2.(8.55)

证明: 由(8.49), 引理8.16和引理8.18可得证明.

8.6 作业

8.1. 证明定理8.11.

Page 161: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

索引

L1loc(Ω), 15

Bramble–Hilbert 引理, 54

Céa 引理, 33, 35, 113, 144

Deny–Lions 引理, 54

Galerkin 方法, 32Céa 引理, 33检验函数空间, 34试探函数空间, 34

Green 公式, 21

Lipschitz 区域, 17

Poincaré–Friedrichs 不等式, 19

Sobolev 空间Hk(Ω), 16Hk

0 (Ω), 16H−1(Ω), 22H

12 (∂Ω), 21

H1per(Ω), 25

W k,p(Ω), 16W k,p

0 (Ω), 16局部迹不等式, 60嵌入定理, 18延拓定理, 18稠密性定理, 18范数等价引理, 53迹定理, 21

三角剖分, 9五点差分格式公式, 4截断误差, 5曲边界, 8极值原理, 6误差估计, 7

内罚有限元方法MATLAB 程序, 103数值例子, 102最优加罚参数, 101离散格式, 91离散波数, 99稳定性估计, 93, 95误差估计, 97

双线性形式强制性, 24连续性, 24

多重网格算法V 循环算法, 67, 71完全多重网格算法, 70, 72工作量, 70收敛性, 68磨光性质, 66

弱导数, 15

有限体积方法单元中心式, 10有限体积元方法, 11

155

Page 162: 偏微分方程数值方法 - Nanjing Universitymaths.nju.edu.cn/~hjw/teaching/nmpde.pdf本章首先从椭圆问题的微分形式出发, 用差商近似代替微商得到五点差

156 索引

节点中心式, 11有限元方法

Argyris 元, 39Crouzeix-Raviart 元, 38MATLAB PDE 工具箱, 45三次元, 39二次元, 38仿射插值等价, 58刚度矩阵, 30, 42插值误差估计, 31, 57, 58数值积分公式, 45有限元, 35有限元插值, 30, 56, 58有限元空间, 28, 40线性元, 36自由度, 35节点基, 28, 36逆估计, 59

椭圆问题Lax–Milgram 引理, 23变分公式, 22, 27弱解, 22正则性, 26

磨光函数, 17

边界条件Dirichlet 边界条件, 1Neumann 边界条件, 1Robin 边界条件, 1周期边界条件, 25本质边界条件, 25自然边界条件, 25非齐次 Dirichlet 边界条件, 24,

35

重心坐标, 36高波数散射问题

改进的对偶论证, 89有限元方法误差估计, 88, 90污染误差, 90稳定性, 84