
导读:航空发动机风扇的几何参数和运行工况变化,会引起压力、温度、密度及三维速度场的整体重分布。高保真计算流体力学(CFD)能够提供可靠的流场数据,但在大规模参数扫描、方案筛选和优化迭代中,重复计算成本较高。图神经网络(GNN)可以把三维非结构网格表示为由节点、边和属性构成的图,并通过消息传递学习局部拓扑、几何关系、边界条件与节点流场之间的映射。
本文围绕理论、工程流程和真实案例,介绍非结构网格图构建、消息传递神经网络、变几何变工况表达、数据生成与训练验证,以及预测结果回写CGNS的完整技术链路,同时讨论该方法在外推能力、物理守恒和工程可信性方面的边界。

航空发动机风扇内部流动具有明显的三维性。叶片弯掠、弦长、厚度、前后缘形状等几何变化,会改变通道面积、局部曲率和边界层发展;入口总压、入口总温和出口压力等工况变化,又会进一步改变流量、载荷和速度分布。设计人员往往需要在多个几何方案和多个运行点上重复计算,才能判断流场变化规律并筛选可行方案。传统CFD求解以控制方程、离散格式和迭代收敛为基础,优势是物理含义明确、适用范围广,并且能够直接给出压力、温度、密度和速度等完整场量。然而,当设计空间包含大量参数组合时,即使单个算例只需几十分钟,累计成本也会迅速增长。
代理模型的目标并不是取消CFD,而是在已有高保真样本覆盖的范围内,建立“几何与工况到流场”的近似映射,用于快速重复预测。对于规则矩阵形式的数据,卷积神经网络可以利用固定卷积核提取邻域特征;但风扇计算通常采用三维非结构网格,不同算例的节点数量、局部连接关系和网格密度都可能发生变化。图神经网络直接把网格拓扑作为计算结构,因此更容易保持非结构网格原有的邻接信息。这里的关键不是简单比较某种神经网络“更先进”,而是让模型的数据结构与CFD网格的数据结构相匹配。
图可以写成G=(V,E),其中V为节点集 合,E为边集 合。把CFD非结构网格转换为图时,可以选择节点图、单元中心图或面图。节点图将每个网格节点视为一个图节点,适合直接预测节点压力、温度和速度,并便于将结果写回CGNS;单元中心图更接近有限体积控制体;面图则适合通量、载荷或面变量建模。本文案例采用节点图。

图1 规则网格、三维非结构网格与图数据表示的关系
在节点图中,一个CFD算例对应一张带属性图。网格节点成为图节点,网格面内相邻顶点之间的连接成为图边,节点坐标、边界类型和工况参数构成节点特征,节点间的相对位置构成边特征,CFD求得的节点流场则作为监督标签。不同算例可以拥有不同的节点数N和边数E,只要节点特征、边特征和输出特征的列数保持一致,网络参数就可以复用。

图2 一个CFD非结构网格算例到节点图的映射
图边必须与真实网格拓扑一致。对于一个多边形面,通常按照面内顶点顺序连接相邻顶点,并在末端闭合;不应在没有物理依据的情况下随意增加对角线。网格中的邻接关系原本可以视为无向关系,但消息传递程序需要明确发送端和接收端,因此每条无向边通常展开为i→j和j→i两条有向边。正反两条边的距离相同,而相对坐标方向相反。
案例中的节点输入为19维,包括7维节点类型独热编码、3维空间坐标、8维辅助槽位和1维边界标志;每条边使用4维相对几何特征;每个节点输出6个稳态流场变量。其统一任务形式可以写为:
Ŷ = fθ(X, edge_index, E)
其中X∈R^(N×19)为节点特征,edge_index记录有向边的源节点和目标节点索引,E∈R^(E×4)为边特征,Ŷ∈R^(N×6)依次表示密度、压力、温度以及三个速度分量。边特征采用源节点到目标节点的相对坐标和欧氏距离:
eᵢⱼ = [Δxᵢⱼ, Δyᵢⱼ, Δzᵢⱼ, dᵢⱼ],dᵢⱼ = ‖pⱼ - pᵢ‖₂
这种表达既保留方向信息,也提供节点之间的空间尺度。需要特别注意,相对坐标的方向必须与edge_index的“源→目标”约定一致,否则模型接收到的几何关系会发生系统性错误。
消息传递神经网络(Message Passing Neural Network,MPNN)把一次图计算分成消息生成、邻域聚合和节点更新三个阶段。对有向边i→j,模型首先读取源节点状态hᵢ、目标节点状态hⱼ和边属性eᵢⱼ,经过边神经网络形成一条消息;随后将所有指向节点j的消息聚合为固定维度向量;最后结合节点j原有状态更新节点表示。
mᵢⱼ = φₑ(hᵢ, hⱼ, eᵢⱼ)
mⱼ = meanᵢ∈N(j)(mᵢⱼ),h′ⱼ = φᵥ(hⱼ, mⱼ)
聚合函数必须对邻居排列顺序不敏感,因为图节点没有天然的“第一个邻居”或“第二个邻居”。常用聚合包括sum、mean和max。案例使用mean聚合,它通过邻居数量归一化消息幅值,可减弱节点入度差异带来的直接尺度变化。需要说明的是,选择mean并不意味着它在所有问题上一定最优,严格结论仍需要同一数据条件下的消融试验。

图3 单层消息传递中的边消息生成、mean聚合与节点更新
为了让局部信息传播到更远区域,可以串联多层消息传递。一层传播对应一跳理论邻域,K层传播对应K跳理论感受野。案例设置K=10,表示图网络连续执行10次邻域信息交换,而不是10个物理时间步。风扇案例是稳态节点回归任务,输入中没有时间、历史状态或时间间隔,因此不能把消息传递层数解释为时间推进步数。模型总体采用编码器—处理器—解码器结构。节点编码器将19维原始特征映射到128维潜空间,边编码器将4维边特征映射到128维潜空间;中间串联10个独立参数的Processor,每个Processor同时更新边和节点,并使用残差连接;节点解码器最终将128维潜特征映射为6维物理量。

图4 编码器—处理器—解码器的总体结构及主要张量维度
残差连接的作用是把网络预测的增量加回原状态,为深层传播保留一条恒等信息通路,从而改善优化稳定性。它是一种数值训练结构,而不是物理守恒条件。普通数据驱动GNN即使使用双向边和残差连接,也不会自动满足质量、动量与能量守恒。
变几何与变工况是两个不同层面的输入。几何设计变量首先作用于CAD参数化模型和网格生成过程,改变节点坐标、网格连接、边界节点分布、边向量和边长;工况参数则描述同一类几何在不同边界条件下的运行状态。案例参数文件中包含15项上游几何设计变量和3项显式工况。15项几何变量没有直接拼接到每个节点的输入向量中,而是通过生成后的网格坐标和拓扑被模型隐式感知。换言之,模型看到的是几何变化产生的结果,而不是CAD参数本身。3项显式工况分别是出口压力、入口总压和入口总温,它们被写入节点辅助槽位并广播到整张图。

图5 几何变量通过CAD与网格改变图结构,显式工况进入节点特征
隐式几何表达的优点是能够直接利用实际网格,不要求不同Design具有完全相同的节点编号或拓扑;局限是模型对几何参数的理解依赖网格质量和样本覆盖。如果网格生成策略在不同算例间不一致,或者几何变化超出训练数据范围,模型可能把网格差异与真实物理差异混淆。因此,参数化建模、网格质量控制和样本设计仍然是代理模型可信性的基础。19维节点特征中的8维辅助槽位只是预留的数据位置,并不代表存在8个独立工况。当前真正显式输入的工况始终只有3项。类似的维度说明在工程项目中十分重要,因为预处理脚本、配置文件和模型输入层必须保持完全一致,任何列顺序或单位变化都会造成不可见的数据错误。
完整技术链路可以分为样本生成、数据导出、图预处理、模型训练、快速预测和结果回写六个阶段。首先在UG/NX中建立参数化风扇几何,通过HEEDS组织几何变量和工况变量,批量生成不同Design;随后在STAR-CCM+中保持区域、边界、物理模型、网格策略和收敛判据的一致性,计算高保真稳态流场。计算完成后,通过Python生成并调用STAR-CCM+ Java宏,把网格坐标、元素连接、边界信息和节点流场导出为CGNS。CGNS以层次化结构保存GridCoordinates、Elements、ZoneBC和FlowSolution等内容,既能保留非结构网格拓扑,也能容纳压力、温度、密度和速度等多物理量。数据预处理程序从CGNS中读取坐标和面连接,生成双向有向边,构造节点类型与边界特征,拼接显式工况,并保存为图样本文件。训练阶段读取图样本和归一化参数,优化GNN权重;预测阶段加载最佳检查点,将输出反归一化,并写出CSV、NPZ、metrics.json或CGNS。

图6 STAR-CCM+数据、图样本、模型训练、预测与CGNS回写的完整流程
将预测结果重新写入CGNS,是把人工智能模型接回工程后处理链路的关键一步。节点数量和编号一致时,可以直接覆盖FlowSolution中的对应字段;如果预测网格与模板网格不同,则需要建立空间映射。最近邻或反距离加权虽然易于实现,但可能跨越叶片或固体阻隔,也不保证守恒,因此应同时输出映射距离、未匹配节点和异常区域等诊断信息。在样本生成阶段还应设置数据门禁,包括坐标数量、连接索引合法性、边界节点覆盖、六个流场字段、物理单位、NaN与Inf、算例命名和运行日志。代理模型常见的问题并不全部来自神经网络,许多错误实际源于字段错位、边界缺失、单位不统一或样本计算未真正收敛。
案例包含100个稳态Design,按固定随机种子划分为90个训练算例和10个验证算例。节点、边和输出物理量的均值与标准差只由训练集计算,并保存为独立归一化文件。这样可以避免验证数据的信息进入训练过程。压力、温度和速度的量级差异明显,速度分量还可能为负值或接近零,因此标准化对多变量联合训练尤为重要。验证集用于监控泛化误差和选择最佳检查点,因此不能在同一实验中又被称为完全独立的最终测试集。真正用于工程报告的测试结果,最好来自未参与调参、早停和模型选择的独立数据,并且应覆盖插值工况、边界工况以及有意识设置的几何或工况外推场景。流场预测不能只看云图是否“像”。
可靠评价至少应包含逐变量RMSE、相对RMSE、MAE、最大误差以及节点误差分布。对于速度分量等可能跨越零值的变量,逐节点相对误差会在真实值接近零时失真,需要采用全场范数、参考尺度或带稳定项的定义。所有对比云图还应使用相同网格、相同切片位置、相同视角和统一色标。除了统计指标,还应检查流量、压比、温升和局部极值等工程量,并定位误差是否集中在前缘、尾缘、端壁、强梯度或网格质量较差的区域。只有把节点级误差、整体性能量和物理一致性结合起来,才能判断模型是否具备实际使用条件。
该案例以100个变几何、变工况稳态CFD算例为数据基础。单个CFD计算约需30分钟,完整模型训练约需5小时;训练完成后,单个算例的纯模型前向预测约为1秒,包含读取、张量传输、反归一化、误差计算和结果写出的完整脚本约为2.7~2.8秒。时间数据反映了代理模型在重复预测中的潜力,但严格加速比仍应统一硬件、并行设置和计时边界。

图7 案例规模以及CFD计算、模型训练和单算例预测的时间口径
展示算例分别对压力、温度和速度大小进行了CFD真实值、GNN预测值与误差场对比。压力场中,模型能够重现叶片表面及通道内主要高低压分布,展示的压力预测误差为1.45%。误差场并非均匀分布,而是在局部强梯度和几何变化明显区域更为突出,这说明总体指标需要结合空间误差位置进行解释。

图8 压力场真实CFD、GNN预测及误差分布,展示算例误差为1.45%
温度场的整体径向和 弦向变化趋势也得到较好保持,展示算例的温度预测误差为0.51%。温度通常比局部速度分量更加平滑,因此较低的整体误差并不意味着所有局部流动结构都同样准确,仍需检查端壁、边界层和尾迹等区域。

图9 温度场真实CFD、GNN预测及误差分布,展示算例误差为0.51%
速度大小比压力和温度更容易受到局部分离、尾迹、近壁梯度和方向变化影响。展示算例的速度预测误差为5.27%,高于压力和温度。这一结果符合流场代理模型中的常见现象:平滑标量场较容易学习,而速度及其分量对局部拓扑和边界条件更加敏感。

图10 速度大小真实CFD、GNN预测及误差分布,展示算例误差为5.27%
从案例可以看到,GNN适合在已有设计空间内快速恢复主要流场结构,并为参数扫描和方案筛选提供初步判断。但三个展示指标只代表特定算例和特定误差定义,不能直接扩展为所有几何、工况和区域的统一精度。工程应用仍需要逐算例统计、最差样本分析和独立测试。
首先,数据驱动模型的可靠范围受训练数据覆盖限制。几何和工况处于样本内部时,模型主要执行插值;超出训练范围后,预测属于外推,误差可能快速增长。设计试验应覆盖主要参数区间,并避免训练集与验证集仅包含彼此非常接近的样本。主动学习可以根据模型误差或不确定性,优先补充最有信息量的CFD算例。
其次,当前基础边特征只有三维相对坐标和距离,没有显式加入面面积、面法向、控制体体积或物理通量。普通MPNN通过数据相关性学习流场,并不天然保证质量、动量和能量守恒。后续可以研究守恒型图网络、物理残差损失、通量消息传递和单元—面—节点异构图,使网络结构与有限体积离散更加接近。
再次,三维全尺寸网格可能包含数十万乃至更多节点,完整大图训练对显存和计算量要求较高。可采用核心区—重叠区分块、多尺度图、层次池化、混合精度和多GPU训练,但分块边界必须保留足够的邻域信息,避免消息传播在块边界被人为截断。
最后,工程可信性不仅取决于平均误差,还取决于可追溯性。样本参数、CFD设置、网格版本、字段单位、归一化统计、模型配置、随机种子、训练日志和软件环境都应被完整记录。对于重要设计决策,GNN更适合作为快速筛选工具,关键方案仍需由高保真CFD或试验复核。
图神经网络为三维非结构网格流场建立了一种自然的数据表达方式:网格节点承载局部状态,图边记录拓扑与相对几何,消息传递则在邻域之间反复交换信息。通过参数化几何、批量CFD、CGNS图构建、MPNN训练、误差评价和结果回写,可以形成完整的风扇变几何变工况快速预测链路。这种方法的价值不在于把CFD简单替换为一个黑箱,而在于明确二者分工:CFD负责提供高保真物理样本和最终验证基准,GNN负责在已覆盖设计空间内完成快速近似预测。只有同时重视数据质量、图构建正确性、独立测试、局部误差和物理一致性,流场代理模型才能从演示结果走向可信的工程辅助工具。