这里x,t)为(112)的逼近且使得在点x()的计算量小于 O(N2) a(x,)的构造是建立在下面事实上的,在远离漏点中心相阿 位置上的点润和涡团在该点产生的速度差异很小,如果比较涡点 产生的速度公式和涡团产生的速度公式,上述结论是明显的。实 际上,若涡团是球对称的,即涡团函数{(x)只是|x|的函数,有紧 支集,则由点涡和这样的涡团产生的速度场仅在该涡团的紧支集 内有差别(在这一节我们将假设涡团函数有紧支集,若涡团函数没 有紧支集,由于涡团函数是速降的,由此产生的误差可以忽略不 计)。局部校正法的好处在于利用点涡构造速度场只需要O(N) O(MlgM)的计算量,而在每一涡点的校正也仅需要O(N)的 计算量,从而总的运算量为O(N)+O( M log M),而且我们还注 意到此方法能够保持高阶矩涡团函数的高阶收敛性 我们用“(1,2)表示速度场,由不可压缩条件 #1,O4 ar, a 可知,存在流函数中使得 购一,=-如 (16.2) dr 涡定义为 0x18x 则流函数与涡有下面关系 △φ (16.3) 在涡团法中,涡被看作一些涡团的和: ao(x,1)-∑5(x一x), (164) 这星xt)为涡团的中心,o;为涡团的强度,二维 Laplace方程 基本解G一lgr,r-(x2+y)y"则
中一G*∑(x-x() ∑(G*5)(x-x1(t) 这里*表示卷积,由(162) 0(G*) t)a ax. ⊙(G ritt)o (165) 如果我们记K1=一9(G*2,K2一9(G*)K,一(Kn ax K),则可得到(1112).实际上,在涡团法中速度场的计算是假 设涡团分布为(164)从而解析地解(1.65),如果《仅为r的函数, 则速度场可直接从K。求出。 局部校正法的第一步是计算 Kx;(t),1)一∑K(x()-x)),(1.6,6) 这里K一(l/2xr2)(-x2,x1),这相当于假设涡由 Dirac函数a 构成 8(x-x;()) 为清楚起见我们先只算1,MLC第一步由两部分组成 (1a)得到速度在格点上的值, (1b)把速度值插值到涡点中心 为了弄清楚(1a),我们先假设只有一个涡点,且计算两格 为中心在原点,每一方向宽为h的正方形,再假设涡点位于区域 ×—一垂,1,对于多个涡点利用间题的线性性即 可得 (1a)的目的是找到速度场分量n在计算区域网格点上的值
已知速度在节点的值,考虑网格函数 i2h,12) (1.67 这里△为离散的 Laplace算子,由于刮在除涡团中心外所有点 是调和的,△‘k(ih,i)在远离该点时变得很小,事实上,如果离 散 Laplace阶为O(),则△'w1(ibh,i)的值为O(欣),因此 我们可定义函数 △·1(ih,班),对ii2,使得|i<D gp(ih, i,h) 和|il<D 0,对ii2,使得|≥D或|i≥D, (16.8) 则gD是△'n1(ih,ih)的O(b)阶逼近 由于gD(i,i)是(16.7)的逼近,通过解 △i1b,i2h)一gD(i,i), 1.6 且令计算区域边界上的点新(i,i2〓妳语,i2),可得到 1(i1h,ih)的逼近(, 选取大的D值可得到(i,i)好的通近,对固定的D,提 高离散 Laplace的精度可增加z1的逼近精度 然后将是把速度场插到其它润点的中心,本质是一个插值问 题,通常的插值公式都可以用,然而,我们希望应用由点涡产生的 速度场的特殊性质得到高阶的插值公式,在远离涡中心的地方,速 度场的两部分形成一复解析函数的实部和虚部 FO) (16.10) 这里我们把x1-x1平面看作复平面,(1610)是解析的,是因为 有下面 Cauchy- Riemann方程 0 0a1 0 6 xy 利用速度场的复表示可以得到速度场的插值公式,在复平面 上作一个函数的播值类似于一个实变量函数的插值,从而可提高 插值的精度。给定复平面上点21,i-1,,丌, Lagrangia型 插值公式为 3↓
F(x)-∑(l=))F(x),(61 如果点x离网格中节点的距离不超过h,则(1611)的精度 可达到O(h"),因此,利用(1.6.11)的实部和虚部插值公式,我们 仅用n个点可以得到精度为O(h)的插值速度场。例如,我们 可用4点就可以得到4阶精度,这可以同利用4点的双线性插值 作比较,那样的插值,精度仅为2阶。 值得我们注意的是,当距涡点中心很近时,由于点涡导出的速 度场复函数的奇性,上述插值精度不好。幸运的,插值公式在点涡 附近不精确是可以允许的,因为在第二步,我们将在涡点附近对 速度场进行校正。 算法的第二步是对第一步中得到的速度场进行局部校正。对 给定的涡校正由两部分组成,减去由该涡附近的涡点产生的速 度场插值得到的逼近速度,再加上这些附近漏点在此点产生的正 确速度 (1612) 其中始表示第个涡点的速度校正,x表示区域 x()一x≤C 内涡产生的精确速度,表示区域|x()-x)≤C内涡产 生速度的插值。C是一个待确定的参数 精确的速度场可通过(1.6.5)得到。对第f个涡点附近祸点产 生速度场在第j个点插值得到插值速度场,利用(1.612),可对速 度场进行校正, 上述做法一个值得注意的地方是对一个给定的洞点怎样确 定别的涡点是“近”或“远”,如果我们通过计算该点与其它涡点的 距离来决定,这样的计算量又达到O(N2).克服这个困难的一个 基本想法是用宽为k的“链格”覆盖整个区域(注意,h不要求与 入相等.每一涡点对应一“包”,在每-“包中贮藏了一些涡点, 在决定涡点是否在附近时,只要决定包含涡点的包是否在附近,若 找到一包,就可以通过该包内涡点的表找到附近的涡点
对局部校正法,我们可以总结如下:用宽为k的格漫盖整 个计算区域,利用快速椭园解得到 △*(,i2)=∑g (1613) 的解,这里gn;是在(1.68)中定义的格函数,类似地我们可以 得到a利用(1611)的插值公式,我们可以得到涡点上的插值速 度场,为了改进逼近速度场的精度,我们利用(1612)在每一点附 近进行校正。求解(1613)右边需O(N)运算量,校正需要o(N) 运算量,假设离散 Laplace(16.13)的解需O( M log M)运算量, 则总的运算量为O(N)+O( M log M) 在实际计算中还有两个可调的参数C,D,例如我们选取 C=D一2h 得到的计算结果就让人满意了 62局部校正法——有粘情形 Anderson的局部校正法是各种快速涡团算法的基础,如果直 接应用到随机涡团法中,由于大部分涡集中于边界附近,局部校正 的计算量还是不小。 Baden和 Puckett对随机涡团法提出了 种快速算法,他们把计算区域Q分为两部分:1是远离边界09 的部分,Q是靠近边界的一部分,在Q上利用 Prandtl边界层方 程,并用片方法解,在内部Q1上用洞团法,当然,我们还是象 第三节中一样用分步算法,通过在边界上产生涡片来满足边界条 件。如果涡片进入内部,我们把它转换为一些涡团,若Q内涡 团进入,则把它转换成涡片,转换时都保持相同的环流,下面 仅对边界附近区域Ω用涡片方法作详细介绍,为了简单起见,我 们还假设身为上半平面 我们定义 ,={x∈Q,dist(x,09)<8} 在2,上用涡片方法解边界层方程