2. 模型规模与求解时间评估
在大型模型的求解加速工作中,最先要回答的问题不是“怎么加速”,而是“这个模型到底有多大、大概要算多久”。如果对规模与耗时的量级没有判断,后续选择求解器、并行核数、内存配置、接触算法都会失去参照。本节围绕三个最核心的规模指标——单元数量、自由度规模、接触对数量——说明它们对求解时间的影响规律,并给出一套可在建模阶段快速估算的实用方法。
一、三个规模指标的含义与相互关系
单元数量是最直观的规模度量,但它本身并不直接决定求解时间。真正进入方程求解的是自由度(DOF)。对三维结构单元,每个节点通常有 3 个平动自由度;若使用壳单元或梁单元,还会引入转动自由度;若包含热分析、压电或耦合场,则每个节点自由度更多。因此:
自由度规模 ≈ 节点数 × 每节点自由度数。而节点数与单元数之间由单元类型决定:一阶四面体单元节点数少但刚度偏硬、需要更密网格;二阶四面体(如 SOLID187)每个单元 10 个节点,同样几何下节点数显著增加;六面体单元(如 SOLID186)每个单元 20 个节点,但达到同等精度所需单元数远少于四面体。所以“单元数相同”的两个模型,自由度可能相差数倍。
接触对数量是第三个关键指标,也是大型装配体求解时间非线性增长的主要来源。接触是非线性的:每一对接触都要进行接触状态检测(开/闭/滑移)、法向与切向刚度计算、以及可能的迭代更新。接触对数量增加时,求解时间往往不是线性增长,而是接近“接触对数 × 每对接触的迭代次数”的叠加,且接触状态反复切换会显著增加收敛难度。
二、影响规律:为什么不是简单的线性关系
从上面的影响链可以看到,三个指标通过不同路径作用于总时间。单元数量主要影响刚度矩阵的规模;自由度规模决定线性方程组的求解代价;接触对数量则决定非线性迭代的次数与每次迭代的额外开销。
对线性静力分析,若采用稀疏直接求解器,求解时间大致随自由度按 DOF 的 1.5 次方左右增长(二维问题接近 1.5,三维问题更接近 2)。这意味着自由度翻倍,求解时间可能增加到 2.8~4 倍。这是大型模型“越算越慢”的根本原因,也是必须做规模评估的原因。
对含接触的非线性分析,总时间还要乘以迭代次数。一个只有 5 对接触、收敛良好的模型,可能 6~8 次迭代收敛;而一个 200 对接触、存在大量滑移和状态切换的装配体,迭代次数可能达到 30~50 次,甚至因不收敛而反复二分。此时接触对数量对时间的影响,往往超过自由度本身。
经验判断:当接触对数量超过约 50 对、且存在面-面滑移时,非线性迭代开销通常开始主导总时间;当自由度超过约 300 万时,线性求解的内存与分解时间开始成为瓶颈。两者叠加时,必须同时从“降 DOF”和“控接触”两个方向入手。
三、快速估算方法:三步得到量级判断
下面给出一套可在建模阶段使用的快速估算流程。它不追求精确,只用于判断“这个模型是分钟级、小时级还是天级”,从而决定是否需要提前加速。
- 统计节点数与单元数。在 Mechanical 中通过“网格 → 统计”查看节点数、单元数,并记录单元类型。若为二阶四面体,节点数约为单元数的 5~6 倍;若为六面体,节点数约为单元数的 1~2 倍。
- 估算自由度。三维实体结构取 DOF ≈ 节点数 × 3;含壳、梁或转动约束时按实际每节点自由度数修正。例如 80 万节点、纯实体,DOF ≈ 240 万。
- 估算线性求解时间并乘以迭代因子。用基准模型标定系数 k:若已知 100 万 DOF 模型在某机器上线性求解约 60 秒,则 240 万 DOF 约为 60 × (2.4)^1.5 ≈ 223 秒。再根据接触对数量估计迭代次数:接触对少且收敛好取 5~8,接触对多或滑移明显取 20~40。
为便于直接使用,下表给出一个示例估算表。表中数值为教学示例假设,用于说明量级关系,不代表任何具体机器的实测结果。
| 模型 | 单元数 | 节点数 | DOF(×3) | 接触对 | 估算迭代次数 | 估算总时间量级 |
|---|---|---|---|---|---|---|
| 小型支架 | 8 万 | 12 万 | 36 万 | 3 | 6 | 分钟级 |
| 中型装配体 | 60 万 | 95 万 | 285 万 | 25 | 12 | 小时级 |
| 大型总成 | 300 万 | 480 万 | 1440 万 | 120 | 30 | 十小时级以上 |
四、估算结果如何指导加速决策
估算的价值在于提前暴露瓶颈。若估算显示线性求解占主导,应优先考虑降低自由度:用六面体替代四面体、在远离关注区使用粗网格、采用子模型或超单元。若估算显示迭代次数占主导,应优先处理接触:合并可合并的接触对、用绑定替代可绑定的摩擦接触、设置合理的接触刚度与稳定阻尼、必要时先用线性接触做预分析。
此外,估算还应与硬件资源对照。自由度规模直接决定内存需求:稀疏直接法求解三维结构时,内存占用大致与 DOF 的 1.2~1.5 次方相关。若估算 DOF 为 1400 万,而工作站内存只有 64 GB,则很可能在分解阶段就因内存不足而失败,此时必须先降规模或改用迭代求解器,而不是直接提交计算。
注意:快速估算的系数 k 与迭代次数必须用本机、本版本的基准模型标定。不同 Ansys 版本、不同求解器设置(如是否开启分布式求解、GPU 加速)会显著改变 k 值。估算只用于排序和决策,不能替代试算。
把单元数量、自由度规模和接触对数量三者放在同一张影响链上理解,就能在建模阶段对求解时间形成量级判断。下一步的加速手段,无论是网格策略、求解器选择还是接触简化,都应围绕这三个指标中真正占主导的那一个展开,而不是盲目增加核数或反复调参。