01断点一:导进了另一个 model
一个 CAE 文件里可以有多个 model。导入的时候如果没有明确指定, 插件会先看当前视口里显示的是哪个 model, 取不到的话就退回到按名字排序的第一个。
「按名字排序的第一个」这一条是很多误会的来源。 假设你有 Model-1 和 Analysis-Final 两个 model, 正在 Analysis-Final 里干活但视口切到了别的东西上, 材料就会进 Analysis-Final —— 因为字母 A 排在 M 前面。这次碰巧对了。换成Model-1 和 Trial-2,就会进 Model-1。
--- Material Importer -> model "Model-1" ---引号里就是实际写入的 model。看一眼这行,比在材料管理器里翻半天快。对策也简单:导入前先在模型树里双击一下目标 model,让它成为当前显示的那个; 或者在导入对话框里把 model 名字填明白。
02断点二:同名材料被跳过了
这是「改了参数重新导入,结果一点变化都没有」的头号原因。 默认行为是不覆盖已有的同名材料 —— 这是有意为之的,避免一次误操作把你手工调了半天的材料冲掉。
报告里会明说:
skipped, already present (2): Steel_Q345, Al_6061_T6 [tick "Overwrite" to replace]方括号里那句就是解法:勾上覆盖选项再导一次。 报告末尾还有一行汇总,如果一个都没进去会写:
nothing imported.03断点三:材料建了,但少了几块
还有一种更隐蔽的情况:材料建成功了, 但 JSON 里的某些属性块这个版本还建不出来, 于是被跳过了。材料在管理器里看着好好的, 只是少了你以为已经填进去的那一部分。
这种情况不会算作失败,但报告里会单独点名:
WARNING Steel_Q345: this release does not build swelling, so the material was created without it -- check it before solving.这条提示的存在本身说明了一件事:差别在材料编辑器里是看不出来的。 你去材料管理器里看,只会看到「有密度、有弹性、有塑性」, 不会看到「本来还应该有一块」。所以导入之后花三秒扫一眼报告, 比事后从结果里倒推划算得多。
如果报告里某个材料前面写的是 FAILED, 那就是彻底没建成,后面跟着具体原因 —— 那类报错在塑性表三类报错和温度相关材料表两篇里覆盖了大部分。
04断点四:没有 Section 引用这个材料
前三个断点排除之后,材料确实在正确的 model 里、内容也完整, 但结果还是不对 —— 那就轮到 Abaqus 自己的那条链子了。
Abaqus 里材料不能直接赋给几何。中间必须有一个 Section:
Material → Section → Section Assignment → 单元材料参数导入插件负责的只有第一格。 它会调用 Abaqus 的接口去建密度、弹性、塑性这些属性块, 但它从头到尾不创建任何 Section,也不做任何指派 —— 这两步是模型结构上的决定(用实体截面还是壳截面、壳厚多少、 层合怎么叠),不是材料数据能推出来的。
| 单元类型 | 要建的 Section | 除材料外还要填 |
|---|---|---|
| 实体(C3D8 等) | Homogeneous Solid Section | 一般什么都不用填 |
| 壳(S4R 等) | Homogeneous Shell Section | 壳厚、积分点数 |
| 复合材料壳 | Composite Shell Section 或 Composite Layup | 每层厚度、铺层角、材料方向 |
| 梁(B31 等) | Beam Section | 截面形状与尺寸、梁方向 |
| 桁架(T3D2 等) | Truss Section | 截面面积 |
还有一个容易忽略的点:Section 是按名字引用材料的。 把材料改名之后,原来的 Section 会指向一个不存在的名字。 所以「导入之后为了区分版本给材料加了个后缀」这种操作, 会顺手把已有的 Section 全部弄断。
05断点五:Section 建了但没指派到位
最后一步,也是最琐碎的一步。Section 建好了不等于用上了, 还要通过 Section Assignment 指到具体的几何或单元集上。 这一步常见的三种没到位:
- 压根没指派。提交作业时会被拦下来, 这一种反而是最好的 —— 因为它会明确报错,不会静默出错。
- 只指派了一部分。装配体里有几个 Part, 只给其中一两个做了指派。没指派的那部分同样会在提交时被拦, 但如果你用的是 orphan mesh 或者部分区域用了别的 Section, 排查起来就要一个个 Part 点过去。
- 指派指向了旧的 Section。建了新 Section 但忘了改指派,模型仍然在用老的那个。 这一种不会报任何错,是五个断点里最难发现的。
关于 Part 层和 Assembly 层
Section Assignment 既可以做在 Part 上,也可以做在 Assembly 上 (对 orphan mesh 通常只能在 Assembly 层)。 两处都做过而且不一致的时候,排查会变得很痛苦。 建议定一个习惯:能在 Part 层做就都在 Part 层做, 因为 Part 层的指派会被所有 Instance 继承,改一次到处生效。
06五分钟排查顺序
按这个顺序走,每一步都有明确的判据,不用猜。
- 看导入报告第一行的 model 名 —— 和你正在改的 model 是不是同一个。
- 看报告里有没有 skipped —— 有的话勾上覆盖重导一次。
- 看报告里有没有 WARNING 或 FAILED —— WARNING 说明少了块,FAILED 说明根本没建成。
- 跑一次材料健康检查 —— 它会把这个 model 里所有材料过一遍, 顺便查出负模量、硬化曲线起点不对、阻尼系数全零这类 Abaqus 自己不吭声的问题,还会做跨材料的单位一致性比对。
- 打开 Section Manager —— 有没有 Section 引用这个材料,材料名有没有被改过。
- 按 Section 着色看一遍模型 —— 有没有没上色的区域,颜色有没有串。
前三步都在同一屏报告里,加起来不超过十秒。 第四步是插件自带的检查,不需要额外配置。 后两步是 Abaqus 侧的,跑不掉。