即使在工程教育方面,也没有足够的时间做所有事情。雇主希望工程师能够使用模拟工具来加速迭代研究、设计和开发。一些讲师试图通过教授数周或数月的课程来解决这一问题,课程内容包括数值方法的推导、离散化方法、湍流模型的复杂性等。
遗憾的是,专注于基础知识几乎没有时间或根本没有时间帮助培养更高级别的技能和直觉,而这正是雇主想要和需要的
其他人则试图通过一种应用方法来解决这一问题。在学生学习软件教程和更复杂的项目时指导和指导他们,这看起来似乎是一种解决方案。
这是一个陷阱。我们要求学生深入研究具有复杂界面和无限设置的软件包,这些软件包是为适应任何和所有特殊用例而设计和开发的,而不是学习基础知识。这使学生能够在一定程度上熟悉模拟项目和软件,但牺牲了对数值方法基础知识的理解。这种方法也无法提供雇主所寻求的技能。
下面简要概述了我开发的方法:面向工程专业学生的更直观、更强大的自动计算流体动力学(CFD)工作流程。
此模拟工具使用围绕任意对象的数值求解器生成数据集,以便使用 NVIDIA Modulus 作为基础框架训练 AI 模型。AI 代理模型用于探索设计变体,为学生提供易于使用的实验平台,以便他们直观地理解和培养分析技能。
工程教学工具面临的挑战
作为一名教育工作者,我教会工程师客观思考和反思。反思机械工程的角度使用模拟工具,有限元分析和计算流体动力学是为了改进和加速设计和分析工作而创建的工具。
仿真工具在该领域的重要性并未消失,因为教育工作者已将整个课程专门用于学习两者的复杂性和应用。不幸的是,将仿真工具教育提升到独立课程使问题更加严重。
工程模拟工具不应包含本科教育中的独立课程。它们应嵌入所有课程中,并始终存在。为学生提供不同角度的不同复杂性的挑战,以培养知识和熟悉度。为讲师提供所需的时间,帮助学生培养未来雇主所追求的更高水平的技能和直觉。
重构模拟工具在本科工程教育中的教授和融入方式将产生重大影响。学生将在课程开始时学习模拟工具。在这种重构模型中,它将是如此的基础,以至于很容易陷入原来的陷阱:将整个课程用于教授模拟工具。
假设我们面临的是一个似乎会无限循环并导致相同逻辑解决方案的起点,我们该怎么办?工程师必须从模拟软件和技术中要求更多
快速、准确、轻松。这些是工程师应该从其工具中期望的特性。这些特性也是工具的特性,使讲师能够在整个工程教育课程中使用这些工具,并帮助培养未来的工程师。
将 AI 模型用作教学工具
我没有尝试解决所有可能的流体流动问题,而是设定了一个目标,为我们的学生开发一款体现这些特征的模拟工具。
过去,MSOE 的大多数流体和空气相关的高级设计项目都涉及地面或空中车辆周围的外部流体。为了解决这些用例,我构建了一个自动化的计算流体动力学(CFD)工作流,该工作流可以模拟任意物体周围的流体,但也可以模拟一组几何变体。生成的数据集用作 MeshGraphNet(MGN)的训练和验证集,然后用于推理数百个其他几何变体的表面应力和力。
我使用 NVIDIA Modulus 作为物理-机器学习训练平台,探索了一些方法。虽然自动化工作流程的初始版本使用了物理-信息神经网络(PINNs),但使用 MGN 可以减少内存使用量和速度提升,对于这个问题来说是完美的匹配。
正如 Ahmed Body AeroGraphNet 示例使用网格表面、表面压力、表面剪切应力、雷诺数和重要的几何参数作为模型输入一样,虚拟风洞也使用相同的输入,通过编程修改几何参数来处理任意 3D 模型。
随着未来出现更多新型架构,我将使用 Modulus 无缝改进代理模型。
消除学生的障碍
我使用了 MSOE 的计算集群 Rosie 及其学生门户 Open OnDemand 为学生创建了一个简单的 Web 提交页面,以便他们启动模拟。Open OnDemand 支持更传统的命令行界面(CLI)提交,但也提供了一个改进界面和交互性的平台。
学生上传 3D 模型,指定雷诺数,并指定车辆是基于空气还是基于地面,以及他们是否需要支持 AI 的反馈。启动模拟后,学生将在工作完成时收到电子邮件。
该电子邮件包含拖曳力、升力和横向力、中心压力信息、自动生成的流线图和视频,以及包含表面应力数据的文件(以防他们想要绘制其他图形)。根据推理结果,他们还可以获取图像和视频,了解如何修改设计,以实现空气动力和中心压力的变化。
虽然与生成式空气动力学建议相比,简单的 Web 表单和电子邮件似乎过时了,但它重新定义了交互。学生不需要培训。他们不需要高性能计算(HPC)或命令行界面(CLI)知识。他们为 3D 模型和流程执行简单的雷诺数计算。这并非完全毫不费力,但它越来越接近。
支持 AI 的端到端仿真工作流
我没有创建编程解决方案来修改任意三角形网格,同时保证几何图形有效,而是选择了另外一条路线。
学生提供的模型用作生成体积或立体像素化副本的来源。然后,通过在其表面添加和删除材料来修改该体积副本,以创建数百或数千个修改的变体。然后,在训练、验证和推理期间重新划分体积变体并使用。
原始几何图形以及训练和验证集用作输入传统计算流体力学(CFD)求解器 OpenFOAM 的模型。生成的目标网格通常总计在 15–20M 个单元之间,其中 70–90K 个表面单元,求解器完成 500 次迭代。
OpenFOAM 的输出包括原始模型和所有变体的表面应力、压力和剪切。然后,这些数据集以及相关的几何修改参数被用作输入,通过 MGN 输入到 Modulus 训练管线中。
在创建反馈图像和视频时,我们不会将经过训练的 MGN 的推理结果与 OpenFOAM 结果进行比较,而是完成训练、验证和测试集的推理。然后,我们会将推理结果相互比较,生成图像和视频反馈,以便通过电子邮件发送给学生。
虽然每个并行的 OpenFOAM 解决方案可能需要一个多小时才能完成,但在 DGX-1 系统 上进行训练大约需要四个小时,而在加载的网格上进行推理只需不到一秒。
我设计了虚拟风洞,使用并行 CPU OpenFOAM 运行的并行作业来生成数据集,然后在四个 NVIDIA V100 GPU 上执行训练和推理。Rosie 最近升级为包含 NVIDIA H100 GPU,我期待使用它来进一步加速风洞。
可访问的 CFD 模拟
为了了解学生如何使用该解决方案,我在上一学年向学生提供了虚拟风洞的初始 OpenFOAM 版本。学生增加使用工具链后,我提供了变体的自动生成、训练和推理。
整体努力似乎得到了回报。去年进行的 CFD 分析和风洞实验的数量超过了高级设计团队近十年来完成的实验数量的总和。这使学生能够专注于将可用系统用作易于使用的实验平台,而不是他们必须克服的次要挑战。我今年将为另外三个以航空为重点的设计项目提供建议,并期待看到他们能够设计和开发什么。
AI 软件和技术的最新进展使工程工具和仿真领域实现了近乎切实的飞跃。现在正是重新构想我们与工程仿真工具交互方式的最佳时机。我们需要设计出适合新手、学生,甚至从小学开始的年轻学习者的下一代工具。
我们不必专注于计算流体动力学,而是可以教授翼型的迭代设计、文丘里下方的仿生特征、直觉和高级分析技能,以及风的名称和感觉。
开始使用
通过加入 NVIDIA DLI 教学套件计划 ,世界各地的教育工作者可以通过免费的“Deep Learning for Science and Engineering Teaching Kit”开启其 AI 之旅。课程的整个讲座部分也通过 NVIDIA On-Demand 向世界各地的教育工作者和学生公开提供。
对于有兴趣探索 AI 的研究人员, NVIDIA/modulus GitHub 资源库提供了绝佳的入门资源。