第22章 fluent解算器的使用(4)

2019-08-03 11:15

A??????b?0 A???A??b??0

现在,使用方程5和方程9可以得到:

A??d?0

这是根据初始细化层面算子A和误差d的校正方程。假如局部(高频)误差在精细层面已经充分消除,就可以在下一个较粗糙的层面光滑校正y并更有效的解决问题。

限制和延拓

在粗化层面解校正方程需要将精细层面(限制)的误差转移过来,还需要计算校正方程,然后再将校正结果从粗化网格层面(延拓)传回来。粗化层面校正y^H可以写为:

AH?H?Rd?0

其中A^H是粗化层面算子,R是限制算字,负责将精细层面的误差传到粗化层面。根据更新之后的精细层面解可以给出方程1的解为:

?new???P?H

其中P是延拓算子,用于将粗化层面的校正传给细化层面。

非结构多重网格

在非结构网格中使用多重网格的主要困难在于粗化网格的创建和使用。在结构网格中,可以通过简单的从精细网格中移去每隔一个的网格线来得到粗化网格而且限制和延拓算子很容易用公式表示出来(如:注入和双线性插值)。

FLUENT中使用两种多重网格方法分开的方式克服了在非结构网格上应用多重网格的困难。迄今为止所讨论的基本原则和多重网格循环一节中讨论的循环策略是相同的,限制、延拓和粗化网格算子的建构技巧是不同的,具体在代数多重网格(AMG)和全近似存储(FAS)多重网格两节中分别讨论了AMG和FAS方法。

译者注:

多重网格法基本原理

微分方程的误差分量可以分为两大类,一类是频率变化较缓慢的低频分量;另一类是频率高,摆动快的高频分量。一般的迭代方法可以迅速地将摆动误差衰减,但对那些低频分量,迭代法的效果不是很显著。高频分量和低频分量是相对的,与网格尺度有关,在细网格上被视为低频的分量,在粗网格上可能为高频分量。

多重网格方法作为一种快速计算方法,迭代求解由偏微分方程组离散以后组成的代数方程组,其基本原理在于一定的网格最容易消除波长与网格步长相对应的误差分量。该方法采用不同尺度的网格,不同疏密的网格消除不同波长的误差分量,首先在细网格上采用迭代法,

当收敛速度变缓慢时暗示误差已经光滑,则转移到较粗的网格上消除与该层网格上相对应的较易消除的那些误差分量,这样逐层进行下去直到消除各种误差分量,再逐层返回到细网格上。

目前两层网格方法从理论上已证明是收敛的,并且其收敛速度与网格尺度无关[哈克布思,1988]。 多重网格法是迭代法与粗网格修正的组合,经过证明,迭代法可迅速地将那些高频分量去掉,粗网格修正则可以帮助消除那些光滑了的低频分量,而对那些高频分量基本不起作用。

在多重网格计算中,需要一些媒介把细网格上的信息传递到粗网格上去,同时还需要一

ih

些媒介把粗网格上的信息传递到细网格上去。限制算子I(i-1)h是把细网格i-1层上的残余限制到粗网格i层上的算子,最简单的算子是平凡单射,另外还有特殊加权限制;插值算子(i-1)hIih是把粗网格i层上的结果插值到细网格i-1层上的算子,一般采用线性插值或完全加权限制算子。

需要说明的是在多重网格迭代方法中,粗网格修正之前,细网格必须进行光滑迭代,以消除高频误差,使粗网格修正最有效地发挥其作用;在粗网格修正之后,不可避免的引入高频误差,所以也必须进行光滑迭代,不过高频误差能很快的通过光滑迭代消除。

Multigrid Cycles

多重网格循环可以定义为在每一个网格层面通过网格层次时在网格层面内应用的递归程序。FLUENT中有四种多重网格循环:V,W,F以及灵活(\循环。V和W循环可以用在AMG和FAS中,F和灵活循环只限用于AMG方法。(W和灵活AMG循环由于要花费大量的计算而不可用于解耦合方程组。)

The V and W Cycles

下面两个图分别是V和W多重网格循环(定义如下)。在每一个图中,多重网格循环被描述为正方形,然后被扩展来表示循环内执行的个别步骤。当你读下面的步骤时,你可能想要遵循图中所描述的步骤。

Figure 1: V循环多重网格

Figure 2: W循环多重网格

对于V和W循环,各个层面的转换由三个参数控制:b_1,b_2和b_3: 1. b_1“滤波”(有时称为预松弛扫描),在当前网格层面进行滤波减少误差(当地误差)的高频部分。

在图1和2中,这一步被描述为一个循环,并标记了多重网格循环的起点。误差的高频分量必须减小直至所剩下的误差在下一个较粗糙的网格中没有明显的混淆现象。

如果这是最粗糙的网格层面,在这个层面的多重网格循环就结束了(在图1和2中有3个粗糙网格层,所以描述层面3多重网格循环的四边形等价于每一个图中最后一个图表的循环)

注意:在AMG方法中b_1的默认值是0(即:没有预松弛)。

2. 接着就是用适当的限制算子将问题限制映射到下一个粗糙网格层面。

在图1和2中,从精细网格限制映射到较粗糙网格层面用向下的斜线来表示。

3. 通过执行b_2多重网格循环可以减少粗化网格的误差(在图1和2中用四边形表示)。通常说来,对于固定的多重网格策略,b_2是1或者2,分别对应V循环和W循环多重网格。

4. 然后,使用适当的延拓算子,在粗化网格上积累的校正用内插替换返回到精细网格并加到精细网格解中。

在图1和2中,延拓算子用斜向上的线来表示。 现在在精细网格层面上出现了高频误差,这个误差是由于延拓程序使用传递矫正而造成的。

5. 在最后一步,执行b_3光滑(后松弛)来去掉b_2网格循环在粗糙网格中引进的高频误差。

在图1和2中,松弛程序用一个三角形表示。

注意:在FAS方法中,在这一步中使用显式格式中的拉普拉斯光滑算子,校正又会被进行光滑处理,b_3的默认值是零(也就是说,不进行这种光滑处理);在最精细的网格层面的循环结束处从来不进行b_3光滑。

代数多重网格(AMG)

我们将会看到,这一算法之所以被称为代数多重网格格式,主要是因为粗糙层面方程的生成不需要在粗糙层使用任何几何图形或者重新离散;这一功能使得在使用非结构网格时AMG尤其有用。优点在于:不必创建或者存储粗糙网格,而且不需要在粗糙层面估计任何流量或者源项。这一方法和FAS (有时被称为几何学的)多重网格方法形成鲜明对比,在FAS方法中需要网格的层级,和每一个层面的离散方程。。从理论上说,FAS优于AMG方法的地方在于,对于非线性问题前者可以做得更好,这是因为系统的非线性可以通过重新离散传到粗糙层面;当使用AMG时,一旦系统被线化,直到细化层面算子被更新,求解器才会“感觉到”非线性。

AMG限制和延拓算子

这里所使用的限制和延拓算子是基于附加校正(AC)策略的,结构网格的附加校正是由Hutchinson和Raithby[68]描述的。层间的传递是用分段线性插值和延拓完成的。任何粗化层面单元的缺点由细化层面包含的缺点的总和给出的,通过注入粗化层面的值来获取细化层面的校正。在这种方式中,延拓算子由限制算子的转置给出。

P?RT

限制算子是用细化层面单元粗化或者分组到粗化层面单元来定义。在这个过程中,每一个细化层面的单元用一个或者更多的最强相邻网格来分组,对当前未分组的相邻网格优先选择。这个算法尝试将单元集中到成组的固定尺寸中,一般是二或者四组,但是可以指定任何数。在分组的前后关系中,最强是指当前单元i的相邻单元j的系数A_ij是最大的。对于成组的耦合方程,A_ij是一个块矩阵,它的大小的度量被简单的看成第一个单元的大小。除此之外,对于给定单元的一组耦合方程被一起处理,而且在不同的粗糙单元中不再划分。这样,就对系统中的每一个方程产生了相同的粗化。

AMG粗糙层面算子

使用Galerkin方法来建构粗化层面算子A^H。在这里,当转移到粗化层面时,与细化层面解有关的缺陷必须消除。因此我们可以写出:

Rdnew?0

在双重时间步中的方程5和限制和延拓中的方程3的基础上替换d^new 和f^new可以得到:

RA?new?b?0 RA??P?H?b?0

现在重新整理和使用双重时间步一节中的方程5有:

??????RAP?H?R?A??b??0 RAP?H?Rd?0

比较限制和延拓一节中的方程1和方程5可以得到下面的粗化层面算子的表达式:

AH?RAP

因此,粗化层面算子的建构减少到所有精细层面单元的对角线与组中的相应对角线下面的块之和来形成该组粗化单元的对角线块。

F循环

多重网格F循环本质上是V和W循环的结合。 多重网格循环是一个递归程序,该程序通过在当前层面完成单一网格循环来扩展到下一个粗糙网格层面。参阅V和W循环一节中的图1中的V和W循环以及图2中的V和W循环我们可以看出,F循环就是用0-1层循环(每一个图中的第二个图表)程序来替换当前层(描述单一循环)的方块。可以看出,V循环包括:

?1smooth?restrict?Vcycle?prolongate??3smooth

W循环包括:

?1smooth?restrict?Wcycle?Wcycle?prolongate??3smooth

F循环则是用W循环之后进行V循环来构成:

?1smooth?restrict?Wcycle?Vcycle?prolongate??3smooth


第22章 fluent解算器的使用(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:辽宁省人民政府批转省交通厅等部门关于全省高速公路建设征地动迁

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: