第1章 扩散方程的有限体积格式简介
本章简要介绍几种常用的有限体积格式,包括可允许网格上的有限体积格式、多点通量逼近方法、支撑算子方法、菱形格式和非线性格式等。
1.1 可允许网格上的有限体积格式
下面介绍可允许网格上的离散格式。
首先给出可允许网格的定义。
定义1.1.1(可允许网格) Ω为R2的有界多边形区域。Ω的可允许有限体积网格为三元族(T;E;P),其中T为一族“控制体积”,它们是Ω中有限个凸多边形,E为R2上一族包含于Ω中的线段,P为Ω中的一族点。
(T;E;P)具有如下性质:
从直观上来说,可允许网格是这样一种网格剖分,其相邻单元中心连线与公共边垂直。
例如Vorono网格就是一种可允许网格。
对二维四边形网格,J由6个单元的标号组成,见图1.1。所得的方法称为多点通量逼近方法[2]。
下面考虑表达式(1.4)中的传递系数的计算。
考虑图1.1中由实线所示的网格。假设扩散系数在每个单元(控制体)上为常数,u的值定义在单元中心。通过连接单元中心和单元边的中点,可以得到一个对偶网格,见图1.1中虚线所示的网格。有时为了区别起见将实线所示的网格称为主网格或基本网格。对偶网格称为相互影响区域。在二维情况,对偶网格将网格边分为两部分,每一个部分称为子边。
多点通量逼近方法就是使得相互影响区域中的单元之间的局部影响决定所有子边的传递系数。一旦所有子边上的传递系数都被确定,则可以通过组合子边的贡献而得到单元边上的传递系数。对图1.2所示的四边形网格,子边PQ和QR构成单元边PR。一个单元边的传递系数来源于两个相邻的相互影响区域的贡献。
在一个相互影响区域内,有以下条件成立:越过子边的温度和通量连续。
假设在相互影响区域的每个单元上温度可通过线性函数描述。然而,不可能要求温度和通量在相互影响区域的所有子边上连续。例如,在4个单元中分别对温度作线性近似,将导致4£3=12个自由度。在4条子边上的通量连续将给出4个条件,在每条子边上的温度连续条件将给出8个条件。另外,线性函数必须考虑单元中心值,这又将给出4个条件。因此,总共有16个条件和12个自由度。为此,只要求温度在每条边的中点连续。在图1.3中,边中点是指点A,B,C和D。从而对12个自由度只有12个条件。以上给出的方法称为O方法。还可以选择其他的连续性条件以及其他的连续点。
图1.3相互影响区域(单元中心为1,2,3,4,边中点为A;B;C;D)
注意到传递系数仅仅依赖于网格几何和扩散系数,从而传递系数的计算可以作为一个预处理提前计算。
需要计算梯度rUj和法向量ni,该法向量的长度为所在子边的长度。
在每个单元j上,假定温度Uj为线性函数,从而可以写成
Uj(x)=rUj¢(x.xj0)+uj0;(1.6)
其中uj0是在单元j0的中心xj0处的值。梯度可以方便地由单元j的子边上的连续点1xjk上的温度的值决定。连续点和单元中心如图1.4所示。
1.2多点通量逼近方法
下面给出二维情形的连续性条件。如图1.3所示,在相互影响区域有4个单元,4条子边。要求温度u在点A,B,C,D连续,并记u(A)=1u1,u(B)=1u2,u(C)=1u3,u(D)=1u4。单元j的单元中心值记为uj(16j64)。对每个子边OA,OB,OC和OD,利用方程(1.10)及以上单元中心值和单元边中点值的记号,4条子边上的通量连续条件可写为
下面将用单元中心值u=[u1;u2;u3;u4]T来表示单元边中点处的值v=[1u1,1u2,1u3,1u4]T。方程(1.12)中每个等式的左右两边分别给出了子边上的法向通量。例如,左边能写成Cv.Du,其中C和D为4£4的矩阵。从而可以得到通过4条子边的通量
展开