收益:
- 能够解释如何在计算流体动力学 (CFD) 过程中的设置、结果解释和替代模型生成中使用人工智能。
- 能够快速扫描大型设计空间并使用基于机器学习的代理模型对候选几何形状进行排名
- 能够通过收敛、网络独立性和物理合理性标准验证人工智能驱动的空气动力学输出
机翼如何产生升力,机身如何分裂空气,控制面如何偏转气流;空气动力学是研究这些看不见的力量的科学。工程师通过两种方式了解这些力:通过风洞中的实验或通过计算机计算流体动力学(CFD;计算流体动力学,一种在计算网络上数值求解流动方程的方法)。 CFD 功能强大但价格昂贵:复杂的运行可能需要数小时甚至数天才能产生单个设计点。想要尝试数百种设计的工程师在这里遇到了瓶颈。
人工智能 (AI) 在两个方面打破了这一瓶颈。首先,CFD 流程本身:设置控制、结果解释和报告。其次,更具变革性的是代理模型(机器学习模型,学习昂贵的模拟的输入输出关系,并在几秒钟内给出近似预测)。借助替代模型,可以在几秒钟而不是几小时内扫描大型设计空间,选择一些有前途的候选者,并且仅对它们进行高精度的完整 CFD 计算。在本单元中,我们在将人工智能嵌入到此工作流程中时保持不变的规则:在没有证明收敛性和网络独立性并通过物理合理性过滤器的情况下,不会接受简化的结果。
概念:收敛:随着迭代的进行,解趋于恒定值;如果不合适,结果就不可靠。网格独立性:当您收紧帐户网络时,结果不会发生显着变化。 CL/CD:升力系数/阻力系数;空气动力效率的基本衡量标准。代理模型:模拟的快速近似模仿。
人工智能在 CFD 工作流程中的地位
CFD 运行大约包含五个步骤:几何准备、网格生成、求解器设置、运行和后处理。人工智能在每个步骤中提供的帮助不同,但它对任何一步都没有最终决定权。
在网格生成中,AI 可以粗略计算相对于 y+ 目标的初始单元高度,以实现边界层分辨率。对于求解器设置中的湍流模型选择(例如 k-omega SST),它可能会建议适合流态的选项,并有理由。在后处理中,可以编写一个 Python 脚本从数千行结果文件中提取升力、阻力和力矩系数,并创建攻角扫描图。但 y+ 值是否真正达到目标、湍流模型是否适合该流动以及结果是否收敛都由工程师的眼睛来检查。
最常用的地方就是结果注释。当你问 AI“为什么 CL-alpha 曲线在 14 度处断裂”时,它会提醒你失速的可能性(随着迎角增加和升力减小,气流与机翼分离),并列出你应该检查的气流分离指标。这是一个假设生成器;数据再次证实了这一点。
注意:人工智能可以流畅地解释 CFD 结果,但如果结果本身错误,解释也会错误。如果解不收敛,“这个阻力值是合理的”这句话就毫无意义。首先检查号码的有效性,然后再评论。
代理模型:在几秒钟内扫描设计空间
建立代理模型的逻辑很简单。首先,使用完整的 CFD 计算精心挑选的样本(例如 40-80 个设计点;实验设计由 DoE 分配)。然后使用这些输入-输出对训练机器学习模型(高斯过程回归/克里金法、径向基函数或神经网络)。该模型现在可以在几秒钟内预测新几何形状的 CL/CD。使用这种廉价模型筛选了数千名候选人,并使用完整的 CFD 重新计算和验证 3-5 名最漂亮的候选人。
这里的关键点是置信区间。像克里金这样的模型不仅提供预测,还提供它们对该预测的信心程度(不确定性)。远离训练点的区域的不确定性会增加;在那里,添加了一个新的 CFD 点,而不是盲目地信任模型。这种“在不确定性高的地方添加新样本”的循环被称为主动学习,它可以通过少量昂贵的运行来有效地扫描大空间。
方法
一个设计点成本
准确度
当
完整差价合约 (RANS)
手表
高
最终验证,候选人数量较少
替代模型(克里金法)
秒
中高(教育领域)
大空间扫描、优化
面板/低阶法
秒-分
低中
淘汰太早,想法粗略
风洞
天-周
最高(实际)
严格验证、认证
提示:切勿在训练数据覆盖范围之外使用代理模型(外推法)。如果模型以 5-15 度的迎角进行训练,则它在 25 度时给出的值不是预测,而是捏造的。要求人工智能在构建模型时“写入训练范围并拒绝越界查询”可以关闭这个陷阱。
弱提示/强提示
弱提示:
这个机翼好用吗?解释我的 CFD 结果:CD=0.009。
强力提示:
角色:您是一名空气动力学分析顾问;您应用安全关键验证。背景:2D 翼型 RANS CFD 分析(数值具有代表性):Re=1.5e6,马赫=0.2,迎角 4°,湍流模型 k-omega SST。结果:CL=0.62,CD=0.0091。网络:180k 个单元,y+ ~1。任务:1) 列出在考虑结果有效之前需要检查的验证步骤(收敛性、网络独立性、y+)。2) 计算 CL/CD 比率并与此配置文件类的典型范围进行比较。3) 如果值看起来可疑,则显示可能的错误来源。约束:写入单位;不确定的地方做上标记;不要做出明确的“好/坏”判断,给出一个验证计划。
可复制的提示模板
模板 1 — CFD 设置推理:
给出以下流动条件(代表值)的 CFD 设置建议:Re=[...]、Mach=[...]、geometry=[...]。建议我考虑以下原因:适当的湍流模型选项、边界层的目标 y+ 和初始单元高度计算、边界条件。对于每个选择,添加“为什么”和“在哪种情况下它是错误的”注释。写出数字的单位。
模板 2 — 实验设计 (DoE) 和替代模型计划:
我有 [N] 个设计变量:[列表,带范围]。要训练代理模型:(a)您推荐多少个样本点以及什么采样方法(例如拉丁超立方体); (b) 哪种类型的替代模型是合适的以及原因; (c) 如何验证模型(交叉验证、分割测试集)。我应该针对外推风险施加什么规则?
模板 3 — 从 CFD 结果文件中提取系数的脚本:
从 CFD 力报告 CSV(列:迭代、Fx、Fy、Fz)使用 Python:(a) 通过对最后 500 次迭代取平均值来计算 convergedCL 和 CD; (b) 写下最后 500 次迭代的标准差,并将其与阈值进行比较以检查收敛性; (c) 绘制攻角扫描的 CL-alpha。设置参考面积和动压为参数;用注释行解释该帐户。
模板 4 — 代理模型预测置信度查询:
我训练的克里金代理模型对于以下预测给出了 CL=0.71,不确定性(std)0.02;查询点在训练范围[内部/外部]。(a) 这种不确定性水平是否足以做出决定,我该如何决定? (b) 如果不确定性很高,我应该在什么时候添加新的 CFD 实例(主动学习逻辑)? (c) 我什么时候应该用完整的 CFD 确认这个预测?
迷你箱
情况 1 — 捕获到未收敛的结果。一名学生得到翼型结果 CD=0.0065,他很高兴;轮廓类别的典型 CD 范围为 0.008-0.012,结果似乎太好了。应用 AI 建议的收敛检查表明,力系数在最后一次迭代中仍然振荡(标准差为平均值的 8%)。当解通过更多次迭代收敛时,它稳定在 CD = 0.0094。教训:“太好”的结果通常是不收敛的结果。
案例 2 — 代理模型速度提高 200 倍。一个团队对具有 6 个几何参数的机翼运行 60 次完整 CFD 运行(每次约 2 小时),并训练克里金代理模型。然后,它在 40 秒内使用代理模型扫描 5000 个候选配置,并通过完整 CFD 验证最佳的 4 个候选配置。总共 64 次 CFD 运行,粗略估计相当于 5000 次运行。持续时间从几周减少到两天。教训:仅在验证点运行昂贵的模拟,而不是在每个点。
情况 3 — 外推陷阱。工程师向用 3-12 度迎角训练的代理模型提出 18 度升力问题;该模型给出了一个平滑增加的值,例如 CL=1.6。实际上,机翼在 15 度左右失去抓地力并且升力减小,但替代模型将其伸直,因为它没有“看到”这种物理现象。工程师通过物理合理性检查(粘附力损失的预期)拒绝结果,并对该区域运行完整的 CFD。教训:代理模型不知道超出其训练范围的物理知识。
常见错误
- 不检查收敛性。非收敛解的系数是没有意义的;图的美丽并不能保证收敛。
- 绕过网络独立性。如果结果取决于网络,则不同的网络会得出不同的答案;无法知道哪一个是正确的。
- 替代模型中的外推。训练范围之外的预测提供了数学扩展,而不是物理真理。
- 忽略不确定性。如果不使用克里金预测的置信度信息,则模型最置信度的区域和最不置信度的区域将被同等对待。
- 任意选择湍流模型。错误的湍流模型甚至会导致融合且独立于网络的解决方案在物理上不正确。
总之
CFD 是一种功能强大但价格昂贵的工具;人工智能从两个方面加速它:流程管理(安装、评论、脚本)和使用代理模型在几秒钟内扫描大型设计空间。代理模型通过少量完整 CFD 运行进行训练,并使用置信区间,并且最佳候选模型必须通过完整 CFD 进行验证。如果不检查收敛性、网络独立性和物理合理性,则不会接受任何精简结果。 AI给出假设和速度;物理学的最终仲裁者是数据。
应用任务
为翼型或简单几何形状(代表性数据,而非实际项目数据)定义 CFD 运行场景。使用 AI,(a) 在考虑结果有效之前列出验证步骤,(b) 打印一个从结果文件中提取系数的 Python 脚本,并逐行检查其逻辑,(c) 准备构建代理模型的计划(多少样本、哪种方法、如何验证)。将结果与典型范围进行比较并评估其合理性。
清单
- [ ] 我对每个 CFD 结果进行了收敛检查。
- [ ] 我质疑是否证明了网络独立性。
- [ ] 我将 CL/CD 等系数与典型类别范围进行了比较。
- [ ] 我仅在训练范围内使用代理模型。
- [ ] 我在决策中考虑了替代模型预测的不确定性。
- [ ] 我通过完整的 CFD 验证了最佳候选者。