2. CFD参数化设计对象建模

在CFD参数化设计与优化中,第一步不是打开求解器,而是把“要优化的物理对象”翻译成一组可被程序驱动的几何参数。这个翻译过程决定了后续设计空间的形状、优化算法的搜索效率,以及最终结果能否落到可制造的几何上。本节以一个典型工程流动对象——90°圆形截面弯管为例,完整走一遍从物理对象到参数化几何模型、再到约束条件识别的建模链路。

一、从物理对象到设计变量:先问“哪些尺寸可以动”

弯管是换热器、排气系统、液压管路中的常见部件,其流动损失主要来自弯头处的分离与二次流。假设我们关注的目标是在给定进出口压差下降低总压损失,那么几何上真正影响流场的量包括:

  • 弯管中心线弯曲半径 R(决定弯曲剧烈程度);
  • 圆管直径 D(决定雷诺数与流速);
  • 弯头前后直管段长度 L1、L2(影响来流与出流发展状态);
  • 弯头截面形状(圆、椭圆、带导流叶片等)。

但“可以动”不等于“应该作为设计变量”。设计变量必须满足三个条件:可独立变化、对目标量有可观测影响、能落到几何上。若把 D 也作为变量,则雷诺数、网格尺度、压差都会随之改变,问题会从“形状优化”变成“尺度+形状耦合优化”,不利于教学阶段分离变量。因此本例固定 D = 50 mm、L1 = L2 = 4D,只取两个无量纲设计变量:

设计变量:
x1 = R / D        弯曲半径比,初始值 1.5,范围 [1.0, 3.0]
x2 = e / D        截面椭圆度(短轴/长轴),初始值 1.0,范围 [0.6, 1.0]

固定量:
D  = 50 mm
L1 = L2 = 200 mm
入口速度 U = 10 m/s(对应 Re ≈ 3.3×10^4,空气)

这里 x2 用椭圆度表示截面从圆形(1.0)到扁椭圆(0.6)的变化,是弯管减阻中常见的“截面整形”手段。两个变量都是无量纲比值,量纲一致、范围明确,便于后续采样与优化。

二、定义设计空间:范围、采样与边界

设计空间是设计变量张成的多维空间。本例是二维空间,可以直观画成矩形区域。定义设计空间时要做三件事:给范围、给采样策略、给边界含义。

范围已由上文给出:x1 ∈ [1.0, 3.0],x2 ∈ [0.6, 1.0]。采样策略上,若用拉丁超立方(LHS)做20个初始样本,可在该矩形内均匀铺点;若用响应面优化,则可在边界和中心补充样本。边界含义需要明确:x1 = 1.0 是“急弯”极限,x1 = 3.0 是“缓弯”极限;x2 = 0.6 是截面明显压扁,x2 = 1.0 是标准圆管。这些边界不是随便取的,而是由制造工艺、安装空间和流动稳定性共同约束的。

设计空间不是越大越好。范围过宽会让优化算法在低质量区域浪费大量样本;范围过窄则可能把真正的最优解排除在外。工程上常用“初始范围 + 灵敏度分析 + 逐步收缩”的方式确定最终设计空间。

三、建立参数化几何模型:让脚本能“画”出任意样本

参数化几何模型的核心是:给定一组 (x1, x2),程序能自动生成对应的三维几何。对弯管而言,可用“中心线扫掠 + 截面轮廓”的方式构建:

  1. 在 XZ 平面内定义中心线:直管段沿 Z 轴,弯头段为半径 R = x1·D 的90°圆弧,出口段再沿 X 轴延伸。
  2. 在弯头各截面处定义椭圆轮廓:长轴保持 D,短轴为 x2·D,椭圆平面始终垂直于中心线切线。
  3. 沿中心线扫掠椭圆轮廓,生成弯管实体;两端直管段用圆形截面过渡。

实际实现时,可用Python脚本调用几何库(如CadQuery或FreeCAD)生成STEP文件,再导入网格工具。关键接口是:设计变量 → 几何尺寸 → 实体 → 网格 → 求解器输入。这条链路必须全自动,否则优化迭代无法进行。

物理对象:90°圆形截面弯管 入口 U 出口 R D 椭圆截面 e/D 参数化建模链路 设计变量 x1 = R/D ∈ [1.0, 3.0] x2 = e/D ∈ [0.6, 1.0] 参数化几何 中心线扫掠 + 椭圆截面 输出 STEP / STL 自动网格 边界层 + 多面体体网格 CFD求解 SIMPLE / k-ε 或 SST 目标响应 总压损失系数 K 优化迭代反馈 约束条件识别 几何约束:R ≥ 1.0D,避免弯头内侧过度收缩 制造约束:e/D ≥ 0.6,保证椭圆截面可加工 安装约束:L1 + L2 + R ≤ 安装空间上限 流动约束:出口截面不出现大范围回流 设计空间 x1 x2 LHS样本点

四、识别约束条件:把“不能做”的边界写清楚

约束条件分为四类,本例中逐一识别如下:

约束类型具体条件来源
几何约束R ≥ 1.0D弯头内侧曲率过大时网格畸变严重,且实际流动会出现强烈分离
制造约束e/D ≥ 0.6椭圆截面过扁时,钣金或注塑工艺难以保证壁厚均匀
安装约束L1 + L2 + R ≤ 600 mm设备安装空间上限,本例中 L1+L2=400 mm,故 R ≤ 200 mm,即 x1 ≤ 4.0,当前范围已满足
流动约束出口截面回流区面积占比 < 5%避免优化结果出现“低损失但流动不稳定”的异常解

约束条件的表达方式直接影响优化算法的选择。若约束是简单的边界约束(如 x1、x2 的范围),可直接在采样和优化中处理;若约束是响应约束(如回流区面积),则需要通过CFD计算后判断,属于“黑箱约束”,通常用罚函数或可行性规则处理。

五、一个可复现的建模检查清单

完成上述步骤后,建议用以下清单核对参数化模型是否可用:

  • 设计变量是否全部无量纲化?量纲不一致会导致灵敏度分析失真。
  • 每个设计变量的范围是否有明确的物理或工艺依据?
  • 给定任意一组 (x1, x2),几何生成脚本是否能在无人干预下输出有效实体?
  • 网格生成是否对极端样本(如 x1=1.0, x2=0.6)仍然稳定?
  • 约束条件是否全部转化为可计算的判断表达式?
  • 目标响应(总压损失系数 K = Δp / (0.5ρU²))是否与设计变量有可观测的单调或非单调关系?
参数化建模最常见的失败不是几何画不出来,而是“画出来的几何无法网格化”或“网格化后求解不收敛”。因此,在正式优化前,务必在设计空间的四个角和中心点各做一次完整的“几何—网格—求解”验证,确认全空间内链路畅通。

以本例的初始设计点 (x1=1.5, x2=1.0) 为例,若CFD计算得到 K ≈ 0.85,而将 x1 增大到2.5、x2 减小到0.8后 K ≈ 0.62,则说明两个变量都对目标有显著影响,设计空间选择合理,可以进入后续的试验设计或优化算法阶段。反之,若某个变量在范围内变化时 K 几乎不变,则应将其从设计变量中剔除,或重新审视其范围是否过窄。

至此,一个典型工程流动对象的参数化设计模型已经建立:设计变量明确、设计空间有界、几何生成自动、约束条件可判断。这套建模方式不依赖具体求解器,可迁移到扩压器、叶栅、歧管等其它流动对象,是CFD参数化优化中最基础也最关键的一步。