- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
对于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]描述的。层间的传递是用分段线性插值和延拓完成的。任何粗
化层面单元的缺点由细化层面包含的缺点的总和给出的,通过注入粗化层面的值来获取细化
层面的校正。在这种方式中,延拓算子由限制算子的转置给出。
PRT
限制算子是用细化层面单元粗化或者分组到粗化层面单元来定义。在这个过程中,每一
个细化层面的单元用一个或者更多的最强相邻网格来分组,对当前未分组的相邻网格优先选
择。这个算法尝试将单元集中到成组的固定尺寸中,一般是二或者四组,但是可以指定任何
数。在分组的前后关系中,最强是指当前单元i的相邻单元j的系数A_ij是最大的。对于成
组的耦合方程,A_ij是一个块矩阵,它的大小的度量被简单的看成第一个单元的大小。除此
之外,对于给定单元的一组耦合方程被一起处理,而且在不同的粗糙单元中不再划分。这样,
就对系统中的每一个方程产生了相同的粗化。
AMG粗糙层面算子
使用Galerkin方法来建构粗化层面算子A^H。在这里,当转移到粗化层面时,与细化
层面解有关的缺陷必须消除。因此我们可以写出:
Rdnew0
在双重时间步中的方程5和限制和延拓中的方程3的基础上替换d^new和f^new可以得到:
(new)
RAφ+b0
[(H)]0
RAφ+Pϕ+b
现在重新整理和使用双重时间步一节中的方程5有:
H()0
RAPϕ+RAφ+b
H
文档评论(0)