当前位置:
文档之家› 一种新型针对快速多极子法(FMM)的预条件技术
一种新型针对快速多极子法(FMM)的预条件技术
1
积分方程和快速多极子算法
对于一般的电磁场散射问题, 都可以或 者 C FIE 的 离 散 得 到 如 下 表 达 式:
收 稿 日 期 :2003 * 03 - 21; 定 稿 日 期 :2003*07-15 基金项目: 国家自然科学基金项目( 编 号 4 99 31030)
表1 不同数值丢弃阈值时, 矩阵•向量相乘的次数 (最大迭代步数:500;迭代残量相对误差:l E -4) 预 预条件矩阵稀疏度 阻抗矩阵近场矩阵
0 . 1194834 0 . 1012016 0. 0807 9 30 0 . 0 6 8 99 43 0 . 0 6 37 6 33 1 .0000000 0 . 8482 993 0 . 67722 9 3 0 .5 7832 9 4 0 .5 34481 9 K ry lm 子空间迭代法
第 20卷第1期
项铁铭等:一种新型针对快速多极子法( FMM)的预条件技术
69
Apply a dropping rule to row w l ,j = W j for j = 1 ,• • • ,i - 1 ui j = W j for j = I , ... w = 0 End do
其 中 ,% 表示工作向量, a ,.表 示 矩 阵 A 的 第 〖 行元 素 。对 于 ILUT 预 条 件 算 法 的 两 个 参 数 : 7 和 /), 其 物理意义分别为数值丢弃阈值和( 除原矩阵非零元 素外 ) 分解过程中新填充的非零元素个数:
68
微 波 学 报
2004年 3 月
v
n
为左预条件: M _1丄^ = 财_16 ;右 预条件: 儿衫_12 = 6
= 匕 爪 = I 2 ,… , 々
= 1
和
= x ;以及中间预条件 Z / M fT 、 = Z / j 和 f/u;
其中
L
. . =_[〇 )• {,[/»
s
i
ikR , • 乂 ( , , ) ▽ ]¥
mr 、 Gmres、 Bicgstab 等算法。
2
预条件处理
对 于大规模电磁散射问题, 不仅矩阵的条件数
ILUT预条件处理方法, 即通过在迭代过程中设置一
个数值丢弃阈值来有效控制 ILU 分解和更新过程中 产生的非零元素个数, 这样, 既保证了预条件矩阵的 稀疏性, 又使得最后预条件得到的矩阵和矩阵4 的 逆非常相似, 从 而 加 速 整 个 迭 代 过 程 。具体算法如 下
第 20卷第1期 2004年 3 月 文章编号 : 100 5~6 122 (2004 )01 ~0067~04
微 波 学 报
JOURNAL OF MICROWAVES
Vol. 20 No. 1 Mar. 2004
一种新型针对快速多极子法( FMM)的预条件技术^
项铁铭梁昌洪
( 西安电子科技大学, 西 安 710071)
0 50 100 150 200 250 300 350 400
CPU 汁算时间/ s
3
数值计算和讨论
为 了 估 计 ILUT 预 条 件 的 性 能 , 下面考查一个
图3
迭 代 精 度 与 C P U 计算时间的关系曲线
且构建得到的预条件矩阵稀疏性也得到了提高, 从 而使得整个计算的迭代时间明显改善3 为了研究如 何 有 效 的 选 择 ILUT 预 条 件 的 参 数 , 我们做了下面 的研究, 考察了不同参数( 不同数值丟弃阈值, 不同 填充参数) 对整个迭代过程的影响。 正如我们所预测的, 由于定义/> 为除原矩阵非 零元素外的新填充的非零元素个数, 因此相对于数 值丢弃阈值7 ■ , 它的改变对整个结果的影响相对小 一 些 = 表 1 〜表4 的结果也恰好证明了这一点。
,E t ⑴
= x 。无论米用哪一种预条件, 如 果 能 够很好地近似于矩阵 A , 则就可以极大地改善迭代 矩阵的条件数, 降 低 迭 代 次 数 和 时 间 。当然对于一 个好的预条件矩阵M , 这些还不够, 预条件矩阵构 建和存储开支都还应该比较小, 否则起不到加速和 改善迭代的目的, 文 献 [3]采 用 对 角 预 条 件 处 理 , 该方法简单而 且也能在很大程度上改善收敛度, 但它仅仅适合那 些对角元素占主导地位的矩阵。块对角矩阵预条件 相对于一般直接的对角预条件有更强的健壮性, 但 它需要重新排列网格或者重组矩阵, 以使主要的矩 阵元素集中在对角线以及附近。这 对 于 2 D 问题比 较容易实现, 但 对 于 3D 问 题 , 却 不 好 操 作 。相对来 讲, 当 采 用 FMM加 速 迭 代 求 解 过 程 时 , 可以利用对 不同区间场的划分, 仅仅针对近场的部分采用预条 件处理。近场部分元素无论在幅度还是贡献上都是 占主导地位的: 另外一种预条件方法是对没有近似的矩阵部分 直 接 进 行 LU 分 解 。但由于这在很大程度上依赖近 场矩阵的稀疏度, 因此需要进行大量的矩阵填充。 对于大规模电磁散射问题, 这些填充可能成为储存 的瓶颈问题相反, ILU 则 不 需要这个过程, 它不需 要填充矩阵, 就 可 以 实 现 L U 分 解 的 基 本 功 能 。但 这又可能导致填充过程中的一些极大值被忽视和舍 去, 从而降低近似的精度, 减慢迭代的收敛速度。权 衡两种方法的利弊, 为进一步提高速度, 提出采用
大, 而且很有可能因为不能做到表面网格的均匀划 分而产生病态的矩量法矩阵方程。这 样 , 在采用上 面 的 Krylov子 空 间 迭 代 算 法 和 快 速 多 极 子 算 法 加 速的同时, 还 必 须 引 人 预 条 件 技 术 。另 外 , 由于在 而在迭 FMM的实现中不可避免的会引入一些误差, 代过程中, 由于积累这些误差可能会导致最终求解 的结果停留在整个收敛曲线的一个局部最小解, 而 不是全局最优解, 因此, 从这个意义上讲, 使用预条 件处理也是必须的。 所谓预条件处理 就 是 把 一 个 难 求 的 、 收敛比较 缓慢、 甚至发散的原始问题变换成等价的具有相同 解但却拥有较好谱特性的新系统:而预条件矩阵就 是能起到这样一个变换作用的非奇异矩阵。对于方 程 心 = 6 , 根据预条 件 矩 阵 位 置 的 不 同 , 可具体分
A New Preconditioner for FMM Implementation
X iang Tiem ing, L iang Changhong
(Xidian University^ Xi' an 110011)
A b stra c t : In this paper, a new incomplete LL ( ILU ) precondilioner using the near-field matrix of the fast mullipwle method (FMM ) is given lo increase the efficienry of the iterative solver. With numerical dropping strategies, the new method can yield more accurate factorization with the same amount of fill-in than only using level-of-in methods. By using this preconditioner, we can solve more problems, moreover, fewer steps and less lime is needed. Tests show ihe ILU precondilioner, based on double dropping i*ule, is quite elficienl on FMM implemenlalion. Key w o rd s : Fast multipole method, Knlov .subspace method. Preconditioning techniques, 1LUT
数就会恶化, 矩阵方程就很难求解。因 此 , 大矩阵问 题的求解需要进一步引入某种预条件技术。另一方 面, 在进行迭代求解过程中, 由于数值误差的传递和 积累, 也有可能导致最终迭代失败。 对于迭代过 程 的 预 条 件 技 术 , 国内外已经研究 了很多, 这方面文献也很丰富, 但绝大多数都是针对 一般的系数对称矩阵而言的3 而这里主要讨论的是 针对矩量法和快速多极子算法特点的带数值丢弃阈 值 的 不 完 全 LU 分解预条件方法。数值实验结果表 明, 这种方法非常适合快速多极子的结构特点, 可以 极大地减少方程的迭代求解次数, 从而进一步加速 计算和分析。
K = 實 ldsL⑴
这里乂是物体的表面电流系数, 具体的物体表面电 \ 流可以表示成: • / ( 「 )= X /上 U ) :按 照 惯 例 , r和
n
r 1
r '分別表示原点和场点。 £"( r ) 表 示 在 r 处的人射电
场。 ' 快 速 多 极 子 算 法 +2:作为一种基于矩量法的快 速算法, 是通过对近远场的分別处理来加速迭代过 程中的矩阵和向量相乘, 实现快速计算目的具体 过程为:首先将求解区域按通常的矩量法离散化, 然 后将彼此相近的离散单元分成若干组。每个组内或 相邻组的单元间的相互作用仍采用矩量法的计算方 式 。而 远 区 组 单 元 间 的 相 互 作 用 则 通 过 聚 合 一 传 递一配置方法计算得到。正是由于区分了近场和远 场单元之间相互作用, 使得每次迭代计算的复杂度 和 存 储 量 都 从 矩 量 法 的 O U 2) 减少到〇(, 5) , 极 大地降低了计算量。当然, 对于具体问题来说, 还存 在一个迭代次数问题。对于边界积分方程的不对称 矩阵方程, 通 常 可 以 选 择 Krylov子 空 间 方 法 J P C g -
For z = 1 , .. . , n , do : For k = 1 , ... ,z - 1 , and when wk = wk/ ak k Apply a dropping rule to wk if wk9 ^ 0 then w = w - wk x u k^ End if End do Do: