CFD工程实践:多计算域网格划分与后处理精要
1. 多计算域网格划分的核心逻辑搞CFD仿真的人都知道多计算域处理是绕不开的坎。我第一次做流体-固体耦合仿真时在ICEM里折腾了整整三天才搞明白interior和interface的区别。简单来说多计算域就像把房间隔成不同功能区关键是怎么处理隔断墙的施工细节。对于非结构网格ICEM有个很智能的设计直接用material point标记不同区域。比如做散热器仿真时把铝基板设为固体域周围空气设为流体域划分网格时勾选compute软件会自动识别两种材料生成对应网格。但这里有个坑默认情况下边界层会向两侧生长就像隔音棉同时铺在墙的两面。如果只想让边界层长在流体侧比如只关注流体边界层效应需要在prism element part controls里单独指定流体域part。结构网格的处理更考验几何分割能力。我习惯先用block把整个模型包起来就像用乐高积木搭出外轮廓然后根据流体/固体区域切割block。去年做管道阀门仿真时就用了这种分块策略阀芯是固体域流道是流体域在create part时分别勾选对应的block。这种方法的优势是网格质量高但对复杂几何需要耐心调整block结构。2. 二维与三维网格的特殊处理很多人觉得二维网格简单其实暗藏玄机。上个月带实习生做板式换热器仿真时就踩过坑二维情况下不需要定义material point但必须把不同计算域的face分配到不同part。这就像给不同颜色的贴纸分类虽然都是纸片但颜色代表不同物理意义。结构网格的处理逻辑和三维类似只是block变成了二维的面单元。对于interface交界面ICEM的处理比较特殊。需要分别生成固体域和流体域网格保存为两个.uns文件再用merge功能合并。这就像先单独制作门框和门板最后再组装。在Fluent里还需要额外设置interface配对我建议在命名时就用fluid_wall、solid_wall这类有意义的名称后期匹配时不容易混乱。3. ICEM文件管理的避坑指南文件路径问题看似简单却能让老手翻车。去年同事的案例让我记忆犹新他的项目路径里有热分析 2023这样的空格和中文结果边界层网格死活生成不了。后来发现ICEM对路径字符极其敏感建议直接用英文和下划线组合比如heat_transfer_case1。另外临时文件最好也放在同一目录下避免出现找不到参考几何的情况。4. CFD-Post后处理实战技巧后处理是展示成果的关键环节但很多人只停留在基础操作。先说云图精度设置在legend View的appearance里precision设为2就是保留两位小数。但要注意fixed和scientific模式的区别——前者固定小数位后者自动切换科学计数法。我做报告时发现雷诺数大的场景用scientific模式更清晰。单位自定义是个隐藏利器。右击图例选择viewer option在units里可以自由切换。比如把压力单位从Pa改成kPa曲线图立刻清爽许多。有次客户坚持要用psi单位就是靠这个功能快速适配的。创建自定义变量需要两步走先在Expressions里定义公式。这里有个易错点纯数值必须带单位比如1.2 [m/s]否则会被当成无量纲数。然后在Variables里新建变量要特别注意选择标量/矢量类型。去年做旋转机械分析时自定义的涡量变量就帮了大忙。5. 边界层生成的进阶技巧二维非结构网格的边界层设置很考验细节把控。首先要在part里勾选apply inflation to curve就像先标出要贴壁纸的墙面。然后在壁面对应的part激活prism选项这相当于选择壁纸材质。最后点击compute生成时如果遇到直角区域必须用all tri网格类型。这就像贴直角处的壁纸需要特殊裁剪。对于复杂曲面我习惯先用diagnostic功能检查表面网格质量。曾经有个汽车外流场案例因为后视镜处存在小于5°的尖角导致边界层扭曲。后来先用surface mesh sizing局部加密才解决问题。建议边界层总厚度不要超过特征长度的20%层数控制在5-15层之间具体取决于y要求。6. 多物理场耦合的网格策略当涉及热-流-固多场耦合时网格设计需要全局观。我的经验是先确定关键物理场比如以流体为主还是结构为主再决定网格密度分配。做电子散热仿真时芯片区域的固体网格需要足够密以解析温度梯度而远处空气域可以适当粗化。交界面的网格尺寸比最好控制在1.2以内否则插值误差会明显增大。对于瞬态问题时间步长和网格尺寸要协同考虑。有个教训很深刻曾经用非常密的网格算瞬态流动但时间步长设得太大结果计算发散了。后来根据库朗数反推重新调整了网格和时间步的比例关系。现在我会先用粗网格试算观察关键区域的变量梯度再决定局部加密方案。