上周三晚上十一点,我同事老张给我打电话。
声音都变了:"哥,我那个法兰模型划了四个小时网格,全是橙色的,一个单元都生不出来。"
我说你别急,把CAE文件发我。
他发过来一个 D:\Projects\Flange_2024\flange_v7.cae,我打开一看,好家伙。
一个带六个螺栓孔的法兰盘,中间还有环形凸台,他试图整个零件用结构化网格硬画。
难怪全橙。
先说个前提,很多人搞混了。
Abaqus的Mesh模块里,零件颜色不是装饰。
绿色 = 这块能用结构化网格。
黄色 = 可以扫掠。
粉红 = 只能自由网格。
橙色 = 兄弟,你这几何我画不了,先切。
我让老张做的第一件事:别急着布种子。
先把颜色看明白。
我当时是这么操作的,你跟着走。
打开CAE,左侧模块下拉框切到 Mesh。
模型树里右键点他的Part → Set Displayed。
视图区只剩法兰盘。
然后看颜色。他那个模型,六个螺栓孔周围全是橙色,环形凸台侧面是黄色,上下两个大面是绿色。
我跟他说:"你看到橙色就知道,结构化这条路走不通,别硬来了。"

第一个隐藏坑来了。
老张之前犯了一个错:他在Assembly层级建的Instance是"Dependent"类型。
这意味着他改不了Instance上的任何东西,所有操作必须回到原始Part。
他不知道这一点,在Instance上点了半天Mesh Controls,灰色,点不动。
我让他去模型树 → 右键Instance → Make Independent。
弹出来一个警告框,点Yes。
这下能直接操作了。
但注意,Make Independent之后这个Instance就跟原始Part脱钩了。你回头改Part,Instance不会跟着变。
我一般只在最终定稿的时候才转Independent。平时保持Dependent,改Part全联动。
第二个隐藏坑,关于Partition。
橙色区域要切。这个谁都知道。
但老张切的方式有问题。
他用Partition Cell随便拉了两刀,切完还是橙色。
为什么?
因为他切出来的子块还是不规则的。六面体结构化网格要求每个子块接近长方体,各面夹角接近90度,每个顶点连三条边。
我让他这么切:
进Part模块 → Tools → Partition → Cell → Use Datum Plane。
先建三个基准面:
切完之后,原来的橙色大块变成了四个子块。
其中两个变绿了,一个变黄,还有一个还是橙。
那个还是橙的,是螺栓孔圆角过渡区。
我又加了一刀:沿圆角过渡线再切一次,把圆角单独隔离出来。
这个小区块设成自由网格,四面体,C3D10M。
其余区域结构化或者扫掠。
切完颜色全变了,没有橙色了。

具体布种参数我是这么设的。
Mesh模块 → Seed → Part,全局种子我先给了个4mm。
然后局部加密:
Seed → Edges,选中凸台根部的圆边,尺寸改成1.5mm,Bias ratio设1.2,方向朝向圆角。
螺栓孔内壁边,尺寸2mm。
法兰外缘,保持4mm不动。
这里有个我私藏的小技巧:
布完种子先别急着生成网格。 点 Mesh → Verify Seeds,看看相邻区域的种子跳变是不是太突兀。
如果一条边上是1.5mm,紧挨着另一条边突然变4mm,过渡区必出畸变单元。
我一般控制相邻种子比例不超过1.5倍。超了就在中间加一条边,设个2.5mm的过渡种子。
第三个坑,单元类型选错。
老张之前全用C3D8R。
我跟他说:"你这个法兰有接触,螺栓预紧力压在法兰面上,C3D8R在接触压力下会出沙漏模式。"
沙漏是什么表现?
你看变形图,网格像波浪一样抖,但应力是零。
他当时就遇到了,以为是加载有问题,折腾了一晚上。
其实换单元就行。
我让他把接触区域附近的单元改成 C3D10M(修正二阶四面体)。
Mesh模块 → Mesh → Element Type → 选中接触区域 → Family选3D Stress → 勾选Quadratic → 选Tet → 出来就是C3D10M。
远离接触区的大块区域,保持C3D8R就行,计算效率高。
网格控制怎么设。
Mesh → Mesh Controls:
设完之后点 Mesh → Part → Yes。
老张那个模型,9万多个单元,生成花了大概40秒。
画完别急着提交。先Verify。
这是我跟所有人说的死规矩。
Mesh → Verify,勾上Aspect Ratio、Jacobian、Interior Angles。
点OK。
他那个模型出来:
Total elements: 94,312
Aspect ratio > 5: 23 elements
Jacobian < 0.6: 7 elements
23个长宽比超标的,集中在螺栓孔底部。
我让他把那几个孔底部的种子从2mm调到2.5mm,重新Generate。
再Verify。
Aspect ratio > 5: 0
Jacobian < 0.6: 0
干净了。

整体流程我画一下,你存着:
拿到几何
│
├─→ 进Mesh模块看颜色
│ 橙色 = 要切
│ 绿色 = 结构化
│ 黄色 = 扫掠
│ 粉红 = 自由
│
├─→ Part模块 Partition切橙色区
│ 基准面建好 → 切 → 看颜色变了没
│
├─→ 回Mesh模块布种子
│ 全局种子 → 局部加密 → 过渡控制
│
├─→ 设Mesh Controls
│ 每个区域指定Technique
│
├─→ 选单元类型
│ 接触区C3D10M / 大变形区C3D10M
│ 其余C3D8R
│
├─→ Generate Mesh
│
├─→ Verify(必做,不商量)
│ 红色清零才许提交
│
└─→ 提交Job
文件路径的事我多说一嘴。
老张的工作目录是 D:\Projects\Flange_2024\。
我让他把Job的工作目录也设在这里。
CAE里 File → Set Work Directory → 选这个文件夹。
Job提交之后,.dat、.msg、.sta、.odb全部生成在这个目录下。
别用默认的 C:\temp\,重启电脑就没了。
也别用中文路径。我见过 D:\项目\法兰分析\ 下Abaqus直接报错找不到文件。改成 D:\Projects\Flange_2024\ 就好了。
自适应重划那个事我也提一下。
老张后来问我,能不能让Abaqus自动帮他加密网格。
能,但有限制。
Adaptivity → Remeshing rule → Create。
只有Abaqus/Standard支持,Explicit不行。
三维模型只能用四面体(C3D10),六面体做不了自适应迭代。
而且你模型里如果有尖角、点载荷,自适应算法会疯了一样往那个点加密,单元数爆炸。
我一般不用这个。
我宁可自己手动切区域、手动布种子、手动控制过渡。
可控。
自动的东西一旦跑飞,你连为什么跑飞都不知道。
最后说一个我自己的习惯。
每次划完网格,我会把CAE另存一个版本。
flange_v7.cae → flange_v7_meshed.cae。
万一后面改了载荷、改了边界条件,我不想重新划网格,直接拿这个版本改。
但如果改了几何,这个版本就废了,得回到 flange_v7.cae 重新来。
版本号管理这个事,看着土,救过我无数次命。
老张那天晚上十二点半把网格搞定,第二天Job顺利跑完。
他给我发了条微信:"哥,以后橙色我不硬画了。"
我说你记住就行。
橙色不是你的敌人,是你的提示。它在告诉你:这里该切了。