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),程序能自动生成对应的三维几何。对弯管而言,可用“中心线扫掠 + 截面轮廓”的方式构建:
- 在
XZ平面内定义中心线:直管段沿Z轴,弯头段为半径R = x1·D的90°圆弧,出口段再沿X轴延伸。 - 在弯头各截面处定义椭圆轮廓:长轴保持
D,短轴为x2·D,椭圆平面始终垂直于中心线切线。 - 沿中心线扫掠椭圆轮廓,生成弯管实体;两端直管段用圆形截面过渡。
实际实现时,可用Python脚本调用几何库(如CadQuery或FreeCAD)生成STEP文件,再导入网格工具。关键接口是:设计变量 → 几何尺寸 → 实体 → 网格 → 求解器输入。这条链路必须全自动,否则优化迭代无法进行。
四、识别约束条件:把“不能做”的边界写清楚
约束条件分为四类,本例中逐一识别如下:
| 约束类型 | 具体条件 | 来源 |
|---|---|---|
| 几何约束 | 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参数化优化中最基础也最关键的一步。