3. 有限元建模基础与网格策略

拓扑优化对有限元模型的要求与常规强度校核并不完全相同。常规分析中,我们往往只关心某个工况下的应力或位移是否达标;而拓扑优化要在设计空间内反复迭代,不断修改单元的材料密度或厚度,因此模型的单元类型、网格密度、连接方式和边界条件会直接影响优化结果的物理可信度与可制造性。本节围绕这四项基础工作展开,目标是建立一套“先能算、再算得准、最后能制造”的建模策略。

一、单元类型选择:先看结构受力形态,再看优化变量

OptiStruct 支持壳单元、实体单元、一维单元以及多种组合。选择单元类型的核心依据是结构在厚度方向上的应力变化是否显著。对于钣金、支架、覆盖件等薄壁结构,厚度远小于面内尺寸,弯曲应力沿厚度呈线性分布,此时使用壳单元(CQUAD4/CTRIA3)最经济。壳单元每个节点通常有 6 个自由度,通过 PSHELL 属性卡定义厚度,拓扑优化时以壳单元厚度为设计变量,优化结果直接对应可加工的板厚分布。

对于铸件、实体块、厚壁接头等三维尺寸接近的结构,必须使用实体单元(CHEXA/CTETRA)。实体单元每个节点只有 3 个平移自由度,拓扑优化时以单元相对密度为设计变量,结果表现为材料的有无分布。需要特别注意的是,四面体单元(CTETRA)在弯曲主导问题中刚度过硬,容易高估结构刚度,建议优先使用六面体单元(CHEXA);若几何过于复杂必须用四面体,应选用二阶四面体并控制其数量占比。

一维单元(CBAR/CBEAM)通常用于模拟加强筋、螺栓连接或杆系结构。在拓扑优化中,一维单元一般不作为主要设计变量,而是作为非设计区域的传力路径或连接件存在。混合建模时,壳与实体连接处应避免直接节点对节点的刚性连接,否则会在连接面附近产生虚假应力集中,影响优化路径判断。

二、网格密度控制:不是越密越好,而是“够用且稳定”

拓扑优化网格密度的第一原则是:网格尺寸应能分辨你希望得到的最小结构特征。如果目标最小成员尺寸为 5 mm,而网格尺寸为 10 mm,优化结果中不可能出现 5 mm 的筋条。经验上,网格尺寸取目标最小成员尺寸的 1/2 到 1/3 较为合理。例如希望得到最小 6 mm 的加强筋,网格尺寸可设为 2~3 mm。

第二原则是网格质量优先于网格数量。壳单元的长宽比建议控制在 5 以内,翘曲角小于 10°,四边形单元内角在 45°~135°之间;实体单元雅可比大于 0.6,长宽比小于 5。质量差的单元会导致刚度矩阵病态,优化迭代中容易出现密度振荡或局部虚假刚度。

第三原则是设计区域与非设计区域网格协调。设计区域网格可以适当加密,非设计区域(如安装点、轴承孔、连接接头)网格可稍粗,但两者过渡区应设置 2~3 层过渡单元,避免刚度突变。对于对称结构,应保证网格也对称,否则优化结果可能出现非对称的材料分布,这并非物理真实,而是网格不对称导致的数值噪声。

拓扑优化有限元建模四要素与迭代关系 设计空间 壳:厚度变量 实体:密度变量 非设计区固定 单元类型 薄壁 → CQUAD4 厚实 → CHEXA 慎用一阶四面体 网格密度 尺寸 ≈ 最小成员/2~3 长宽比 ≤ 5 对称结构对称网格 连接与边界 RBE2/RBE3 SPC 约束 FORCE 载荷 OptiStruct 拓扑优化迭代循环 有限元求解 → 灵敏度分析 → 密度/厚度更新 → 收敛判断 每轮迭代都重新组装刚度矩阵,网格与连接质量决定迭代稳定性 优化结果判读 密度云图 / 厚度分布 传力路径是否连续 是否存在棋盘格 是否满足最小成员尺寸 常见问题与对策 棋盘格 → 加最小成员约束 网格依赖 → 加密网格重算 虚假连接 → 检查 RBE 自由度 过约束 → 释放多余 SPC 建模四要素相互制约:单元类型决定变量形式,网格密度决定可分辨特征,连接与边界决定载荷传递真实性

三、连接关系:把载荷真实地传进去

拓扑优化中,连接关系决定了载荷如何从加载点传递到设计区域,也决定了约束如何限制结构运动。常见的连接方式包括:节点合并、RBE2 刚性连接、RBE3 柔性连接、CWELD 点焊单元和 CBEAM 螺栓模拟。

节点合并适用于两个零件在连接面上网格完全一致的情况,计算最经济,但要求网格对齐。RBE2 将一个从节点集合刚性连接到主节点,适合模拟螺栓头、轴承座等刚度很大的连接区域;但 RBE2 会引入局部刚性,若主节点选在远离连接面的位置,会在连接处产生虚假刚度,导致优化结果偏向于把材料堆在 RBE2 附近。RBE3 则相反,它把主节点的载荷按权重分配到从节点上,不增加额外刚度,适合模拟螺栓预紧力分布或柔性连接。

点焊连接在车身拓扑优化中非常常见。CWELD 单元可以在两个壳单元之间建立点焊,其刚度参数应参考实际焊点直径和板厚。若用 RBE2 代替点焊,会高估连接刚度,优化结果可能减少焊点附近材料,造成实际结构焊点开裂。一个实用的做法是:先用 CWELD 建立焊点,再在焊点周围设置非设计区域,避免优化把焊点区域材料删除。

四、边界条件设置:约束要“刚好够”

边界条件包括约束(SPC)和载荷(FORCE/MOMENT/PRESSURE)。拓扑优化中,约束设置的核心原则是:约束必须消除刚体位移,但不能引入额外约束反力。对于自由结构,至少需要 6 个约束消除 6 个刚体自由度;对于对称结构,可利用对称边界条件只建一半模型,但对称面约束必须与载荷对称性一致。

载荷施加位置应尽量落在非设计区域或加载点上。如果载荷直接加在设计区域的某个节点上,优化过程中该节点周围材料可能被删除,导致载荷悬空,迭代发散。正确做法是在加载点建立 RBE3 或刚性连接,把载荷分散到一片非设计区域上。

多工况拓扑优化时,每个工况的约束和载荷应分别定义,并通过工况卡片引用。OptiStruct 支持加权柔度最小化,权重系数应根据各工况的重要程度设置。例如工况 A 权重 0.6、工况 B 权重 0.4,则优化结果会偏向工况 A 的刚度需求。权重之和不必等于 1,但建议归一化处理,便于对比不同方案。

建模检查清单(可直接用于模型提交前自查):
  • 设计区域与非设计区域是否已用不同属性卡区分?
  • 壳单元厚度方向是否与法向一致?实体单元是否有负体积?
  • 网格尺寸是否小于目标最小成员尺寸的 1/2?
  • 连接处是否存在重复节点或自由边?
  • 约束是否恰好消除 6 个刚体自由度?
  • 载荷是否施加在非设计区域或 RBE3 上?
  • 多工况权重是否已归一化并记录?

五、一个可复现的建模示例

以某支架拓扑优化为例:设计空间为 300 mm × 200 mm × 3 mm 的钢板,材料 Q235,弹性模量 206 GPa,泊松比 0.3。目标是在一端固定、另一端承受 500 N 垂直载荷的条件下,最小化柔度并保留 40% 材料。

建模步骤:壳单元网格尺寸取 3 mm,共约 6600 个 CQUAD4 单元;固定端设置 6 个 SPC 约束;加载端建立 20 mm × 20 mm 的非设计区域,载荷通过 RBE3 均匀分配到该区域节点;设计变量为 PSHELL 厚度,初始厚度 3 mm,下限 0.5 mm,上限 3 mm;响应为柔度和体积分数;约束为体积分数 ≤ 0.4;目标为柔度最小。

提交计算后,观察迭代曲线:柔度在前 15 轮快速下降,体积分数逐步逼近 0.4,第 28 轮收敛。密度云图显示材料沿对角线形成两条主筋,与载荷路径一致。若出现棋盘格,可在优化参数中开启 CHECKER 控制或添加最小成员尺寸约束(MINDIM=6 mm)。若结果中筋条不连续,应检查网格是否过粗或连接处是否存在虚假刚度。

最终模型应导出为 STL 或 STEP 格式,进入结构重构阶段。此时需要判断:优化得到的厚度分布是否可直接映射到制造工艺?如果最小厚度低于板材规格,应向上取整到标准板厚;如果筋条宽度小于焊接或铸造最小壁厚,应合并或加宽。这些判断依据来自制造约束,而非优化算法本身。