第四章 几何建模与简化策略:从三维CAD到FEA模型的蜕变
做光机结构仿真这么多年,我最大的体会就是:模型简化不是偷懒,是智慧。你拿到的三维CAD模型,设计师画得漂漂亮亮,倒角、螺纹、小孔一个不少。但你要是直接拿它去网格划分,那基本就是给自己挖坑。
这一章,我们就聊聊怎么把那个“艺术品”一样的CAD模型,变成能算、算得准、算得快的FEA模型。
4.1 几何清理:别让细节毁了你的网格
CAD模型里那些小特征,比如0.5mm的倒角、M3的螺纹孔、安装用的沉头孔……在有限元分析里,它们往往是网格质量的杀手。我见过太多新手,网格画到半夜,一看质量报告,全是红色警告,一查,就是这些小东西惹的祸。
几何清理的核心原则就一条:只保留对结构刚度和应力分布有显著影响的特征。
我的经验法则:
- 特征尺寸 < 最小单元尺寸的1/5 → 直接抑制
- 特征尺寸在单元尺寸的1/5 ~ 1/2之间 → 视情况简化
- 特征尺寸 > 单元尺寸的1/2 → 保留
举个例子,一个直径2mm的散热孔,在整体尺寸500mm的结构上,它对刚度的影响微乎其微。但如果你硬要保留它,网格会在孔周围急剧加密,计算量翻倍,结果却没什么变化。何必呢?
4.1.1 常见几何缺陷与修复
从CAD导出的模型,尤其是用STEP或IGES格式的,经常会有各种“暗病”。我整理了一个表格,方便你对照排查:
| 缺陷类型 | 表现 | 修复方法 | 我的避坑提醒 |
|---|---|---|---|
| 微小面/碎面 | 两个面之间有一条极窄的缝隙 | 合并面、缝合边界 | 别用自动缝合,容易把不该缝的也缝了 |
| 重叠面 | 同一个位置有两个面叠在一起 | 删除多余面、布尔运算 | 检查一下是不是装配体干涉导致的 |
| 缺失面 | 模型上有“洞” | 补面、填充孔洞 | 补完记得检查几何连续性 |
| 尖角/短边 | 两条边夹角极小 | 倒角、切掉尖角 | 这种地方网格质量极差,必须处理 |
我曾经踩过的坑:有一次做空间相机的主镜支撑结构,模型里有一个0.1mm的台阶面,我没注意。结果网格划分时,那个位置生成了上千个畸形单元,求解器直接报错退出。后来花了整整一天排查,才发现是那个台阶面搞的鬼。从那以后,我每次做几何清理,都会用软件的“查找缺陷”功能先扫一遍。
4.2 中面抽取:薄壁结构的“瘦身”秘籍
光机结构里,薄壁件太多了——镜筒壁、遮光罩、支撑肋板……这些零件的厚度远小于其他两个方向的尺寸。如果用实体单元去算,网格数量会非常庞大,而且容易出现“剪切闭锁”问题。
这时候,中面模型就派上用场了。说白了,就是把三维实体“压扁”成一个面,然后用壳单元来模拟。厚度信息通过单元属性赋予。
4.2.1 什么时候该用中面?
- 厚度比 > 10:1:零件的最小特征尺寸与厚度之比大于10,比如一个长500mm、宽200mm、厚2mm的遮光罩。
- 主要承受弯曲或膜力:比如镜筒的弯曲变形、支撑板的拉伸压缩。
- 关注整体刚度而非局部细节:比如分析整个光机结构的模态,而不是某个螺栓孔的应力集中。
我的个人习惯:对于厚度均匀的薄壁件,我一般直接用“中面抽取”功能。但对于变厚度零件,比如中间厚、边缘薄的镜片支撑环,我会手动创建中面,然后分段赋予不同的厚度值。虽然麻烦一点,但精度更高。
4.2.2 中面抽取的操作要点
不同软件的操作略有差异,但核心步骤差不多:
- 选择要抽取的面:通常选零件的两个外表面,软件会自动计算中间位置。
- 检查中面连续性:抽取出来的中面可能不连续,需要手动延伸或修剪。
- 赋予厚度属性:在壳单元属性里输入实际厚度值。
- 处理连接区域:中面与中面之间的连接,需要用“共节点”或“刚性连接”来处理。
// 以ANSYS Workbench为例,中面抽取的APDL命令流片段
! 选择所有实体
ALLSEL,ALL
! 抽取中面,容差设为0.01mm
MID_SURF_EXTRACT, TOLER, 0.01
! 检查抽取结果
MID_SURF_CHECK
! 手动修补不连续区域
MID_SURF_PATCH, AREA, 1, 2
4.3 特征抑制:该删就删,别手软
特征抑制,就是有选择地“忽略”模型上的某些几何特征。这不是删除,而是暂时让它们不参与网格划分和求解。
哪些特征该抑制?我总结了一个“黑名单”:
- 工艺特征:倒角、圆角、拔模斜度、退刀槽
- 连接特征:螺纹孔、螺钉沉头孔、定位销孔
- 标识特征:刻字、编号、商标
- 微小特征:油槽、密封槽、0.5mm以下的台阶
但要注意:不是所有圆角都能抑制。如果圆角位于应力集中区域,比如结构突变处、连接根部,那它反而是关键特征,必须保留。我一般会先做一次粗略的静力分析,看看应力分布,再决定哪些圆角可以抑制。
4.4 对称/周期边界条件:四两拨千斤
光机结构里,对称性太常见了。圆形镜片、环形支撑、周期性排列的散热片……如果能利用对称性,计算量能减少一半甚至更多。
4.4.1 对称边界条件
当结构、载荷、边界条件都关于某个平面对称时,就可以只建一半模型。对称面上的节点需要施加对称约束:
- 对称面法向位移为零:节点不能穿过对称面。
- 对称面内旋转自由度为0:对于壳单元或梁单元,需要约束绕对称面法线的转动。
举个例子,一个圆形镜片在均布压力下的变形,只需要建1/4模型。对称面分别施加X和Y方向的对称约束。我算过,1/4模型比全模型快4倍以上,精度几乎一样。
4.4.2 周期边界条件
周期边界条件比对称更高级一点。它适用于结构在某个方向上重复排列的情况,比如涡轮叶片、散热翅片。
周期边界条件的核心是:一个周期单元的两个对应边界上的位移和应力必须相同。这需要建立节点之间的耦合关系。
// 周期边界条件的节点耦合示例(伪代码)
// 假设周期方向为X方向,周期长度为L
// 左侧边界节点集为LeftNodes,右侧为RightNodes
For each node in LeftNodes:
// 找到右侧对应位置的节点
RightNode = FindCorrespondingNode(node, L)
// 建立位移耦合
CoupleDisplacement(node, RightNode, UX, UY, UZ)
// 对于壳单元,还需要耦合旋转自由度
CoupleRotation(node, RightNode, ROTX, ROTY, ROTZ)
我曾经犯过的错:做某型激光雷达的扫描镜分析时,我用了1/4对称模型,但忘了检查载荷是否对称。结果发现扫描镜在某个角度下,载荷分布是不对称的。那一次,对称模型给出的结果完全错误。所以,用对称之前,一定要确认载荷和边界条件也是对称的。
4.5 本章知识体系:一张图看懂
下面这张SVG图,把几何建模与简化的核心逻辑串起来了。从CAD模型到FEA模型,每一步该做什么,一目了然。
4.6 小结:简化是门手艺活
几何建模与简化,说白了就是“取舍”的艺术。你保留什么、去掉什么,直接决定了分析的精度和效率。
我个人觉得,新手最容易犯的毛病是“舍不得删”。总觉得多保留一点细节,结果就更准。其实恰恰相反,过多的细节只会让网格质量下降、计算时间变长,甚至导致求解失败。
记住一句话:好的FEA模型,不是最像CAD的模型,而是最能反映物理本质的模型。
我的建议:每次做简化之前,先问自己三个问题:
- 这个特征对结构刚度有影响吗?
- 这个特征会影响应力分布吗?
- 去掉它,我的分析目标还能实现吗?
三个问题都回答“否”,那就大胆地删。