★AI 负责追问、搭建和审计,工程师负责物理与取舍。
做仿真的人都知道,最危险的时刻,有时不是软件报错,而是“一切顺利”。
网格生成成功,不代表尺寸正确;函数挂上去了,不代表保存后还在;参考 Case 能运行,也不代表换了几何还能照搬。
这次,我用一个真实的 PCB 瞬态热仿真案例,尝试让 Codex 与 STAR-CCM+ 配合:由 STAR-CCM+ 负责物理计算,Codex 参与需求拆解、几何审计、Java Macro 编写、批处理执行、错误定位和自动验证。
最终得到的不是一句“仿真完成”,而是一个经过保存后重载验证、能够继续求解的 STAR-CCM+ Case。
任务输入包括新的 PCB 装配 STEP、已有的参考 Case 和仿真需求文件。目标是重新建立包含瞬态共轭传热、自然对流、多组芯片热源和 PCB 各向异性导热的模型,并重新生成网格。
Codex 不会凭空知道板厚方向、芯片功率或接触热阻。它真正擅长的,是把需求转换成可执行、可检查的对象映射:
STEP Part
→ 标准名称
→ Region
→ Physics Continuum
→ Material
→ Heat Source / Boundary
参考 Case 中可以继承物理模型、求解器、材料方法和报告结构,但旧几何、旧网格和旧解不能直接沿用。因此,第一步不是修改,而是审计:拆解参考 Case,同时检查新 STEP 的零件数量、封闭性、包围盒和实体对应关系。
这一步看起来慢,却为后续自动化建立了可靠基础。
模型初步建立后,STAR-CCM+ 报警:
FunctionProfileMethod: No function selected
界面显示边界采用函数型温度,但实际 Field Function 引用为空。对于固定 25°C 的温度,没有必要增加这层复杂性,因此直接改为常数 298.15 K,只给真正随时间变化的热源保留函数。
经验很简单:
★常数就用常数,只有确实变化时才使用函数。
初版模型虽然生成了体网格,却没有重新 Remesh 表面。加入 Surface Remesher 后,部分实体出现自交和表面定向错误。
规则六面体按 STEP 中的精确包围盒重建;复杂壳体则保留原始 CAD 表面。为避免相邻、非共形实体在联合定向时互相干扰,每个 Region 使用独立的网格操作,并继续通过 Interface 传热。
这里最重要的不是让报错消失,而是:
★任何几何简化和例外都必须有依据、有记录。
分区网格操作全部成功后,模型只有 2,136 个单元。
对于一个包含内外空气域、壳体、PCB、导热垫和多组芯片的模型,这个数量明显不合理。检查后发现,通过 Java Macro 新建网格操作时写入的 2.0 被解释成了 2 m,而不是预期的 2 mm。
显式设置单位后:
2.0 mm → 0.002 m
4.0 mm → 0.004 m
重新生成的网格达到 1,052,217 cells。保存并重载后,网格尺寸、Region、Interface 和网格操作仍然正确。
同样写一个“2”,结果可能是两千单元,也可能是一百万单元。操作成功并不代表结果合理,还必须追问:
★这个结果像真的吗?
在这次工作中,Codex 主要承担了六类任务:
这些事情并不神奇,却能把原本散落在临时脚本、操作记录和工程师脑中的经验,串成一条可重复执行的链。
AI 可以提高效率,但不能替工程师决定:
自动验证只能证明对象引用完整、设置符合任务单、网格量级基本合理,不能证明任务单本身就符合现实。
这次交付的目标是建立一个完成重新网格、可以继续计算的 Case,而不是完成 300 s 全过程求解。因此文章没有用旧结果或短暂试算拼出一张漂亮云图。
仿真最重要的不是图有多红,而是颜色背后的模型是否站得住。
这次联合仿真没有“一键生成”的神奇按钮。函数引用丢失、Surface Remesher 报错、几何互相干扰,甚至 2 mm 悄悄变成了 2 m。
但每一次失败,最终都变成了一条可验证、可复用的规则。
这或许才是 AI 进入工程仿真后真正有价值的地方:
★它不替工程师拥有经验,却能帮助工程师保存经验,并在下一次建模时重新执行。
AI 负责减少重复劳动,工程师继续追问三个问题:
网格划分正确吗?模型选对了吗?边界条件ok吗?结果合理吗?
