微分方程数值解 第二章(2)
有限体积法求解椭圆型微分方程
守恒型与非守恒型方程形式
对于椭圆型微分方程
守恒形式为 $(p(x)u’)’$ ,对应散度型算子 。非守恒形式为
当 $p(x)$ 有间断点时,若对非守恒形式采用中心差分格式,如
其差分解可能不收敛到真解
以方程
为例,精确解为
其中
有限体积法原理(以恒定温度场为例 )
在区间 $[a,b]$ 上任取子区间 $[x^{(1)},x^{(2)}]$ ,基于能量守恒有
即
这里 $[x^{(1)},x^{(2)}]$ 称为控制容积,$w(x)=p(x)u’$ 表示热流量,$p(x)$ 为热传导系数
有限体积法的优势在于,方程中二阶导数不直接出现,从而减弱了对 $p(x)$ 和 $u(x)$ 光滑性的要求,允许 $p(x)$ 存在间断,在处理实际物理问题(如热传导等 )中更具适用性
有限体积法构建差分格式步骤解析
守恒性体现与网格剖分
守恒型微分方程描述物理量守恒规律,差分格式应反映此特性。对区间进行网格剖分并形成对偶剖分,取对偶单元 $\displaystyle [x_{i - \frac{1}{2}},x_{i + \frac{1}{2}}]$ ,根据能量守恒有
积分近似与导数离散
对 $\displaystyle \int_{\displaystyle x_{i - \frac{1}{2}}}^{\displaystyle x_{i + \frac{1}{2}}}qudx$ 近似为 $\displaystyle u_i\int_{\displaystyle x_{i - \frac{1}{2}}}^{\displaystyle x_{i + \frac{1}{2}}}qdx$ 。由 $w(x)=p(x)u’$ 且 $w(x)$ 连续,改写 $\displaystyle \frac{du}{dx}=\frac{w(x)}{p(x)}$ ,在 $[x_{i - 1},x_i]$ 上积分得
进而
其中
同理可得 $w(x_{i + \frac{1}{2}})$
差分格式形成与积分计算
代入得到差分格式
涉及 $p(x)$、$q(x)$、$f(x)$ 的积分,可用中点公式或梯形公式计算
中点公式下
最终差分格式为
注:若 $p$,$q$,$f$ 有第一类间断点,则在间断点的取值应是左右极限的算术平均
有限体积法相关特性及边界条件处理
有限体积法优点
降低光滑性要求:相比直接差分法,有限体积法对函数的光滑性要求更低,在处理 $p(x)$、$q(x)$ 等系数存在间断的情况时更具优势,能有效避免因系数间断导致的差分格式不收敛问题
保持物理量守恒:从物理守恒定律出发构建差分格式,能精确反映物理量在控制容积内的守恒特性,这在模拟实际物理过程(如热传导、流体流动等 )中至关重要
方便处理网格及边界条件:可灵活适应任意网格形状和结构,在处理复杂区域和不同类型边界条件时更加便捷
边界条件处理
常见边界条件类型
Dirichlet 条件:$u(a)=\alpha$ ,直接给定边界点的函数值
Neumann 条件:$u’(a)=\alpha$ ,给定边界点的导数
Robin 条件:$u’(a)=d_0u(a)+d_1$ ,是函数值和导数的线性组合。守恒型方程常见边界条件为
离散化及问题:
以 $\displaystyle u’(a)\approx\frac{u(x_1)-u(x_0)}{h}$ 离散导数,这种离散方式存在不足,一是截断误差比内点低,二是可能破坏差分方程的对称性
特殊控制容积处理:
取特殊控制容积 $[x^{(1)},x^{(2)}]=[x_0,x_{\frac{1}{2}}]$ ,根据守恒方程
对 $-p(a)u’(a)=-w(a)$ 进行离散,得到
右边边界同理
当网格均匀且系数光滑时,边界截断误差可达到 $O(h^2)$ ,通过这种方式能更合理地处理边界条件,提高数值解的精度和稳定性
矩形网的差分格式
二维 Poisson 方程及边界条件
方程为
其中
边界条件:
Dirichlet 条件:$\displaystyle u|_{\Gamma}=\alpha(x,y)$ ,直接给定边界上函数值
Neumann 条件:$\displaystyle \frac{\partial u}{\partial n}|_{\Gamma}=\beta(x,y)$ ,给定边界法向导数
Robin 条件:$\displaystyle (\frac{\partial u}{\partial n}+ku)|_{\Gamma}=\gamma(x,y)$ ,是法向导数与函数值的线性组合
规则区域 $G$ 适合有限差分法,不规则区域适合有限元或有限体积法。面临的困难有网格剖分及其数据结构构建,以及边界条件的妥善处理
五点差分格式
区域离散化:设 $(x_i,y_j)$ 为正则内点,对区域进行离散
导数离散化:对于 $\displaystyle \Delta u = u_{xx}+u_{yy}$ ,记 $u_{ij}$ 为 $u(x_i,y_j)$ 的近似值,$f_{ij}=f(x_i,y_j)$
$u_{xx}$ 离散化为
这里 $h_1$ 是 $x$ 方向步长
$u_{yy}$ 离散化为
$h_2$ 是 $y$ 方向步长
差分方程构建
差分方程
即五点差分格式,可简写为
当 $h_1 = h_2 = h$ (正方形网格 )时
格式为
局部截断误差分析
局部截断误差
利用真解的 Taylor 展开
综合可得
表明五点差分格式具有 $O(h^2)$ 阶精度(当 $h_1 = h_2 = h$ 时 )
有限体积法推导五点差分格式
利用有限体积法推导五点差分格式,涉及矩形网格和对偶剖分,取控制容积 $G_{ij}=ABCD$ (顶点 $A:(x_{i - \frac{1}{2}},y_{i - \frac{1}{2}})$ ,$B:(x_{i + \frac{1}{2}},y_{i - \frac{1}{2}})$ ,$C:(x_{i + \frac{1}{2}},y_{i + \frac{1}{2}})$ ,$D:(x_{i - \frac{1}{2}},y_{i + \frac{1}{2}})$)
在控制容积 $G_{ij}$ 上,根据方程 $-\Delta u = f$ 进行积分:
右侧
左侧利用 Green 公式
其中 $\displaystyle \frac{\partial u}{\partial n}$ 是 $u$ 沿 $\partial G_{ij}$ 的外法向导数
以 $AB$ 边为例
同理计算其他边,整理可得
即五点差分格式
矩形区域离散化及数据结构
对于矩形区域 $G=(a,b)\times(c,d)$ ,边界条件 $\displaystyle u|_{\Gamma}=g(x,y)$ ,在 $[a,b]$ 上 $M$ 等分(步长 $h_1$ ),在 $[c,d]$ 上 $N$ 等分(步长 $h_2$ )进行离散
数据结构:将 $u_{ij}$ 按行从下到上排成一个列向量 $\displaystyle u = [u_{11},u_{21},\cdots,u_{M - 1,1},u_{12},\cdots,u_{M - 1,2},\cdots,u_{M - 1,N}]^T$
按照五点差分格式,对区域内各节点 $(i,j)$ 展开方程。例如:
对于节点 $(1,1)$ :
这里考虑了边界点对内部点的影响(边界条件代入 )
对其他节点也按类似方式展开,并也按 $a_{ij}$ 排列,形成一系列方程
矩阵结构分析
$\displaystyle \frac{\partial^2}{\partial x^2}$ 部分
以 $\displaystyle \frac{\partial^2}{\partial x^2}$ 对应的差分部分来看,其矩阵形式具有分块结构。每一块对应 $x$ 方向相邻节点的关系,是一个三对角矩阵形式。整体关于 $\displaystyle \frac{\partial^2}{\partial x^2}$ 部分的矩阵是 $(N - 1)$ 块的分块矩阵 。例如在均匀网格下,对于 $x$ 方向上相邻节点 $i - 1$,$i$,$i + 1$ ,差分格式中 $x$ 方向二阶导数项 $-h_1^{-2}(u_{i - 1,j}-2u_{ij}+u_{i + 1,j})$ 反映在矩阵中对应元素体现相邻节点耦合关系,这些元素按节点顺序排列构成三对角块结构
其结构大致如下
其中
$\displaystyle \frac{\partial^2}{\partial y^2}$ 部分
同理分析,其结构大致如下
其中
通过克罗内克积($\otimes$ )构建相关矩阵:
定义
$I_{N - 1}$ 为 $(N - 1)$ 阶单位矩阵
得到 $\displaystyle \frac{\partial^2}{\partial x^2}$ 差分部分的矩阵形式
类似地,对于 $\displaystyle \frac{\partial^2}{\partial y^2}$ ,定义
$I_{M - 1}$ 为 $(M - 1)$ 阶单位矩阵
$\displaystyle -(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2})$ 的离散化矩阵
由前面构建的 $D_{xx}$ 和 $D_{yy}$ ,可得
从 $D_{xx}$ 和 $D_{yy}$ 的结构可知,$A$ 是五对角矩阵。这是因为 $D_{xx}$ 体现 $x$ 方向节点耦合,$D_{yy}$ 体现 $y$ 方向节点耦合,二者叠加后,矩阵 $A$ 中每个节点除了与上下左右相邻节点有耦合关系(对应五对角结构 )外,还可能因边界条件和离散方式存在一些特殊关联
右端项向量 $\overline F$ 的处理
通过特定规则对原右端项向量 $F$ 进行修改得到 $\overline{F}$ ,如
这些操作是为了将边界条件 $g(x,y)$ 合理融入右端项,使得离散后的方程组 $Au = \overline{F}$ 能准确反映原二维 Poisson 方程及边界条件,从而保证数值解的准确性
矩阵形式方程求解
向量形式:将 $u_{ij}$ 按特定方式排列成向量 $u$ ,方程组为 $Au = \overline{F}$
矩阵形式:把 $u_{ij}$ 看作矩阵 $U$ ,以第一列为例,有
一般形式为
$U$ 是 $(M - 1)\times(N - 1)$ 矩阵 。当边界条件 $g(x,y)\equiv0$ 时,$\overline{F}=F$ 。这种矩阵 - 向量形式的方程便于利用线性代数中的求解方法