有限体积法求解椭圆型微分方程

守恒型与非守恒型方程形式

对于椭圆型微分方程

守恒形式为 $(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$ 。这种矩阵 - 向量形式的方程便于利用线性代数中的求解方法