4. 参数化网格与求解设置

在 HFSS 中,几何参数化只解决了“模型形状可变”的问题,真正决定一次扫描能否稳定、快速、可比较地跑完的,是网格与求解设置是否也被纳入参数体系。如果几何在变、网格策略和收敛判据却固定不变,不同参数点之间的结果就缺少可比性:细长结构可能网格过疏,宽大结构可能网格过密,收敛残差在不同频点上含义也不一致。本节把网格操作、求解频率和收敛条件一并变量化,并给出扫描规模与计算资源的估算方法。

一、网格操作参数化:把“加密”变成可控变量

HFSS 的自适应网格剖分由 Maximum Passes、Maximum Delta S、Minimum Passes 等求解收敛参数控制,而网格本身的疏密则由网格操作(Mesh Operations)施加。常见的网格操作包括 Length Based(基于边长)、Skin Depth Based(基于趋肤深度)和 Surface Approximation(曲面逼近)。参数化的关键,是把这些操作的数值与设计变量绑定,而不是写死。

以一款 2.4 GHz 微带贴片为例,设贴片长度 Lp、宽度 Wp、馈电位置 xf 为设计变量。若只对贴片表面施加 Length Based 网格,最大边长写死为 1 mm,当 Lp 从 28 mm 扫到 32 mm 时,网格密度相对变化不大,尚可接受;但若扫描对象是细缝或过孔,固定边长就会导致网格数量随尺寸剧烈波动。更稳妥的做法是令最大边长与波长或最小特征尺寸挂钩,例如:

# HFSS 设计变量(示例)
Lp = 29.5mm      # 贴片长度
Wp = 38mm        # 贴片宽度
xf  = 7.5mm      # 馈电点偏移
lam = c/f0       # 自由空间波长
mesh_max = lam/20   # 网格最大边长,随频率联动

这样当求解频率 f0 变化时,mesh_max 自动跟随,避免高频时网格过粗。对于导体表面,可再叠加 Skin Depth Based 操作,令表面网格在趋肤深度内至少有两层单元;对于曲面(如圆柱馈电探针),用 Surface Approximation 控制弧面偏差角,通常取 15°~30°。需要强调的是,网格操作参数化后,每个参数点的网格是“按同一规则生成”的,这比固定网格更公平,也比完全自由网格更可控。

二、求解频率与收敛条件的变量化

求解频率决定了自适应网格在哪个频点收敛。若扫描的是带宽或谐振频率,固定单一求解频率会带来偏差:当谐振点随参数漂移出求解频点时,网格可能并未在真正关心的频段上加密。常见做法是把求解频率设为设计变量的函数,例如令 f_setup = f0,而 f0 本身作为扫描变量;或者采用“频带中心 + 多点”策略,在 f0 附近设置 2~3 个求解频点。

收敛条件同样需要变量化。默认 Maximum Delta S = 0.02 对多数天线足够,但对高 Q 值滤波器或强耦合结构可能偏松。可以按结构类型给出条件表达式,例如:

  • 窄带滤波器:Delta S = 0.005,Maximum Passes = 15;
  • 宽带天线:Delta S = 0.02,Maximum Passes = 10;
  • 强谐振腔体:Delta S = 0.01,并启用 Minimum Passes = 3 防止过早停止。

把这些条件写成变量后,扫描时就能按参数点自动切换收敛策略,而不是所有点共用一套设置。需要注意的是,收敛判据越严,单点求解时间越长,这一点在下一节的资源评估中会量化。

三、参数扫描对计算资源的评估

参数扫描的计算量并非线性叠加,而是与网格规模、求解频点数、收敛 pass 数共同相关。一个实用的估算模型是:

总时间 ≈ N_points × N_freq × N_pass_avg × t_mesh
内存峰值 ≈ max(网格单元数) × 每单元内存系数

其中 N_points 是扫描点数,N_freq 是求解频点数,N_pass_avg 是平均自适应 pass 数,t_mesh 是单次网格求解耗时。以 5 个参数点、2 个频点、平均 6 个 pass 为例,若单次 pass 约 40 s,则总时间约 5×2×6×40 s ≈ 2400 s,即 40 分钟;若把 Delta S 从 0.02 收紧到 0.005,pass 数可能升到 10,总时间接近 67 分钟。内存方面,若最大网格单元数从 80 万升到 150 万,峰值内存可能从 8 GB 升到 15 GB 以上,直接决定能否在本机运行。

因此,扫描前应先做“单点试算”:取参数区间的中点和两个端点各跑一次,记录网格单元数、pass 数和内存峰值,再外推整个扫描。若发现内存或时间超出预算,可优先减少扫描点数、放宽 Delta S、或改用 Interpolating Sweep 替代离散扫描。下面这张图把网格操作、求解频率、收敛条件与资源评估串成一条可操作的参数链,便于对照检查。

参数化网格与求解设置 → 计算资源评估链 设计变量 Lp = 29.5 mm Wp = 38 mm xf = 7.5 mm f0 = 2.4 GHz (扫描范围 ±10%) 网格操作参数化 Length Based mesh_max = λ/20 Skin Depth Based 表面 ≥ 2 层单元 Surface Approx. 偏差角 15°~30° 求解频率与收敛 f_setup = f0(变量) Delta S = 0.005~0.02 Max Passes = 10~15 Min Passes = 3 按结构类型切换策略 参数扫描资源评估 总时间 ≈ N_points × N_freq     × N_pass_avg × t_mesh 内存峰值 ≈ max(网格单元数)     × 每单元内存系数 示例:5 点 × 2 频 × 6 pass × 40 s ≈ 2400 s(40 min) Delta S 收紧后 pass↑,时间↑ 先单点试算:中点 + 两端点 记录单元数 / pass / 内存峰值 关键原则:网格规则随频率联动,收敛条件按结构类型切换,扫描前用单点试算外推资源需求

四、实操建议与常见误区

第一,不要把网格操作参数化理解为“所有尺寸都设变量”。真正需要联动的是与波长、趋肤深度、最小特征尺寸相关的量,其余几何尺寸保持常量即可,否则变量过多会让扫描组合爆炸。第二,求解频率变量化后,务必检查每个参数点的谐振是否落在求解频带内;若谐振漂出,应扩大频带或改用宽带求解。第三,收敛条件不要一味收紧,Delta S 从 0.02 降到 0.005 往往带来 50% 以上的时间增长,而结果改善可能只有 0.1 dB,需要按精度需求权衡。

建议在扫描前建立一张“单点试算记录表”,至少记录:参数点、网格单元数、自适应 pass 数、求解时间、峰值内存。用这三个点的数据线性外推,通常能较准确预判整批扫描是否可在当前机器上完成。
若扫描点数超过 20 且每个点都需要重新剖分网格,建议改用 Optimetrics 的分布式求解或先做灵敏度筛选,只对敏感参数做细扫,避免把计算资源浪费在低影响变量上。

把网格、频率、收敛三者统一到变量体系后,参数扫描才真正具备工程意义:每个参数点都在同一套规则下求解,结果可比较、资源可预估、异常可定位。下一阶段的多目标优化,正是建立在这套可控、可复现的参数化求解设置之上。