在矩量法(MoM)或多层快速多极子(MLFMA)等基于三角形面网格算法中,有时需要对网格进行局部自适应加密。因为原始网格携带了原问题的材料、阻抗边界、端口等属性。所以在加密过程中必须保持原材料分界面和其它附加属性。
图 1、 a) 原始网格 b) 保持边界加密网格
另外,考虑到算法稳定性,加密时应该尽量改善三角形性态。即加密时应优先在三角形长边上加点。如图2 (a)所示,如果要拆分该三角形,应该优先在2号边上加点;当有两条边较长且远大于最短边时,应该优先选择在两条长边上同时加点,如图2 (b)所示。
图 2、 a) 最长边远大于其它边 b) 最短边远小于其它边
依上述加密原则,三角形网格局部加密算法可按以下步骤实现:
步骤1、将网格中所有三角形的边进行全局编号,通过三角形ID可以索引到3条边的全局ID。
步骤2、首先标记出需要加密的网格。可以通过MoM/MLFMA等算法计算结果进行误差估计,决策出需要加密哪些网格。或者也可以通过指定区域来筛选加密网格,如给定球心,半径,筛选出球形区域内的网格。
步骤3、遍历需要加密的网格,将每个三角形的三条边按长度排序。其中最长边标记为需要拆分的边。若第二条边的长度大于最短边两倍以上,也将该边标记为需要拆分的边。
步骤4、遍历需要加密的网格,统计当前三角形的三条边中有几条被标记为需要拆分的边。此时只可能存在如图3所示三种情况:a)只有一条边需要拆分,b)有两条边需要拆分,c)三条边都需要拆分。
图 3、三种拆分方式
对于图3中的第一和第三种情况,拆分方法是固定的。但对于第二种情况拆分方法有两种,连接两个拆分点切去一个三角形后,剩余部分为一个四边形,其两个对角线都可以将四边形拆分为两个三角形。从性态角度来说,应该优先选择连接较短的对角线的拆分方法。
局部加密算法应用案例
初始网格 第一轮加密网格 第二轮加密网格