首页/文章/ 详情

全文翻译:Applying Machine Learning in CFD

2月前浏览2493

点击上方蓝字了解更多计算与STEM领域研究前沿



先给出网址:


https://www.neuralconcept.com/


先来简单介绍一下Neural Concept:


Neural Concept是一家尖端技术公司,专门开发用于工程设计和优化的人工智能(AI)软件。neural Concept专注于深度学习和神经网络,正在彻底改变工程师处理复杂设计问题的方式。


Neural Concept由人工智能和工程领域的世界级专家团队于2018年创立,迅速成为人工智能辅助工程领域的领导者。他们的旗舰产品Neural Concept-Shape是一个基于云的软件平台,使工程师能够快速探索和优化复杂3D形状的设计。


在CFD中应用机器学习加速仿真


人工智能正在改变我们使用计算能力解决复杂问题的方式。在机器学习中,计算机学习根据数据做出预测和决策。这就是为什么它被认为是现代人工智能中最具生产力的分支。


当设计工程师使用CAD对3D对象进行建模时,他们必须决定产品的形状。这就是为什么设计工程师对预测产品的性能感兴趣。


计算流体动力学(CFD)模拟正在帮助企业做出一些设计决策。例如:


  • 汽车最符合空气动力学的形状

  • 船用螺旋桨最具性能的形状

  • 换热器翅片最有效的几何构型


那么,为什么CFD不在任何工程师的桌面上呢?


两个主要缺点阻碍了CFD的大规模应用:


  • 完成数值模拟的时间

  • 以可靠的水平(所谓的高保真度)使用它所需的技能。


机器学习及其最新进展深度学习如何帮助CFD应对这些挑战?


在这篇文章中,我们将描述“深度学习革命”对需要CFD但无法一直等待的工程师的影响。


深度学习是CFD大规模应用和加速的推动者。我们将专注于:


  • 为什么应该加速CFD;

  • CFD传统上是如何加速的;

  • 人工智能现在如何加速CFD模拟?


作为第一个例子,让我们来说明F1赛车的空气动力学。传统上,F1赛车的计算空气动力学委托给CFD专家或空气动力学专家。


  • 为什么?空气动力学家希望为下压力和流线型结构选择最佳的F1赛车形状。他们访问门户,提交批处理作业,并等待结果。与此同时,计算集群在给出结果之前需要“数字运算”时间。


  • 传统的方法是增加处理数字的处理器数量,以便更快地给出答案。这种解决方案以巨大的基础设施投资为代价,更不用说维护成本了。


  • 新的How-Machine Learning和深度学习可以将传统的CFD模拟速度提高几个数量级,而不是10倍。如图所示。


 

图:F1赛车空气动力学的CFD模拟与机器学习预测。


本文将为您呈现:


  • CFD速度挑战的历史评估;

  • 当代机器学习工作原理的基本知识。


在探讨人工智能在CFD中的应用之前,我们将带您进行一次导览。我们将展示在各个工业部门部署的计算流体动力学。这将有助于我们理解为什么在差价合约及其加速方面投入了如此多的资金。然后,我们将研究之前加速计算流体动力学的尝试。


最后,我们将探索使用深度神经网络的神经网络方法。人工智能可以通过基于优化训练数据的神经信息处理系统来增强CFD。


四个用例将展示深度学习在流体动力学和传热的不同应用中的应用。


寻找工程答案


让我们再次以F1空气动力学为例,思考F1所需的典型工程预测,即“汽车上的空气动力学下压力是多少”?这个问题使我们能够探索人脑的性能、像人脑一样的软件推理以及数据驱动的人工智能预测的结果。


我们可以将其视为“人类”——任何直接由人脑产生的东西(比如工程师对F1赛车的下压力进行猜测),或者由CFD等软件产生的东西,CFD传统上实现了物理学家和工程师开发的人类对世界的物理知识,并由数学家、计算机科学家和程序员实现。物理知识被转化为偏微分方程,方程由计算机进行数值求解。


人类如何预测F1赛车的空气动力学?


 

图:“汽车的空气动力学下压力是多少?”


直觉是实时的,但有偏见;计算准确但速度慢


人脑可以直观地猜测下压力的数值;对于更有经验的工程师来说,这种直觉将是即时的、更准确的。然而,它太粗糙了,无法对两种汽车设计进行有益的比较。在昂贵的实验室测试(测速、风洞测试)中进行小型手动形状修改时,也会发生同样的情况(正如作者在90年代所经历的那样)。即使获得了最初的成功修改,也很难预测趋势并微调解决方案。


相比之下,CFD数值模拟可以产生精确的数值,可用于比较不同的设计(从而探索设计空间)。这是以繁重的计算能力和过高的技能要求为代价的。


如何将直觉和计算结合起来?是否存在计算直觉?机器学习和深度学习架构是人类思维的产物,它利用所有先前积累的知识(存储为数据)来学习定量预测,结合人类直觉的速度(几毫秒)和CFD模拟的准确性。


 

图:各种工程预测方法在预测精度、所需资源和预测速度方面的比较


深度学习超过人类速度的一个最令人兴奋的一点是在探索设计空间方面的超过人类表现,即产品在形状或材料方面的不同设计备选方案的空间,以寻找能够产生与产品所有约束(空间、成本、重量等)兼容的最大性能的最佳设计。


本文将详细介绍深度学习技术和神经网络如何改变产品设计中CFD模拟的游戏规则,使工程师和设计师能够更快、更容易地进行这些模拟。深度学习是机器学习的一个子领域。它正在迅速彻底改变将CFD应用于产品设计的领域,因为它可以学习识别边缘、弯曲等特征,并赋予它们物理意义。但深度学习真正的实践方面是,它可以在由深度学习驱动的直观应用程序中交付,而不需要工程师的特殊技能。通过赋予工程师模拟能力,深度学习帮助他们在组织中更具影响力。


CFD模拟与工业世界的相关性


计算流体动力学是一种强大的工具,使工程师能够模拟和分析工业应用中的流体流动和传热。在本节中,我们将探讨CFD在工业世界中的重要性,首先解释工业环境中的流体动力学和热交换。


工业应用中的流体动力学和热交换


流体动力学研究流体(如气体和液体)如何流动并与环境相互作用。在工业应用中,流体动力学对于优化流体运动过程至关重要。例如,流体动力学在石油和天然气行业的钻井、运输和炼油过程中起着至关重要的作用。在化学加工中,流体动力学对于不同流体的混合和反应至关重要。幸运的是,对于流体力学和热交换专家来说,这些学科在席卷我们经济的“绿色转型”中发挥着至关重要的作用。大多数可再生资源涉及流体力学方面(想象风力涡轮机或水力发电厂)或热交换方面,通常与流体力学相结合,如太阳能电池板。


流体动力学在设计和操作工业设备(如泵、阀门和涡轮机)方面也至关重要。了解流体动力学使工程师能够设计出最大限度地提高效率和能耗的设备。例如,在汽车工业中,发动机的燃烧室设计以及进气和排气的流量会显著影响发动机的性能和燃油效率。传统或电动发动机的冷却回路保证了其性能和可靠性。


冷却回路的主题引导我们进行热交换,即不同温度下两种或多种流体之间的热能传递。在工业应用中,热交换对于传热过程至关重要,如发电、制冷和空调。高效的热交换对于降低能耗和确保产品质量至关重要。热交换器用于各种应用,包括发电、化学加工和制冷。了解热传递使工程师能够设计出最大限度地提高效率和降低能耗的热交换器。


CFD对工业应用的影响


CFD对工业应用产生了重大影响,使工程师能够优化工艺和设备设计。CFD模拟提供了传统实验方法无法实现的流体流动和传热的见解,更不用说人类的直觉了。


以下是CFD在不同工业应用中的一些示例。


航空航天工业


CFD已成为航空航天工业中设计和优化飞机和火箭发动机的重要工具。此外,通过CFD模拟,工程师预测了不同流态下飞机和火箭表面流体的行为,为空气动力学性能和传热提供了有价值的见解。


  • 在飞机设计中,CFD模拟可以分析和优化飞机的空气动力学,包括升力和阻力、稳定性和控制。工程师可以评估设计变更的影响,例如改变机翼形状、机身设计或发动机位置,以优化飞机的性能。CFD模拟也可用于研究流动分离、湍流和冲击波的形成,这些是决定飞机稳定性和效率的关键因素。

  • 在火箭发动机设计中,CFD模拟对于预测燃烧和优化燃料喷射和混合过程至关重要。工程师可以分析燃烧室和喷嘴内的流体力学,预测发动机的性能,并优化设计以提高推力和燃油效率。CFD模拟还可以研究热气体和废气通过喷嘴的流动,从而影响发动机的效率。


发电和化学过程


CFD对于优化发电厂的设计至关重要,包括燃烧室和换热器。CFD模拟使工程师能够降低能耗并提高发电效率。工程师们还使用CFD来优化化学过程,包括混合化学物质和反应。例如,工程师的注意力集中在最小化能耗和减少浪费的过程上。


汽车工业


CFD已被用于优化传统发动机的设计,提高车辆的空气动力学性能。如今,它也被广泛用于电动汽车(EV)。CFD模拟使工程师能够设计出性能更高的发动机和汽车,空气阻力更小,气候控制更好,电池的热性能更好。汽车行业处于竞争力和创新的前沿,这解释了CFD和人工智能在汽车制造中的作用。


其他运输业:海军和游艇


自古以来,海军和游艇行业就意识到流体力学对船舶性能的重要性,无论是传统的错位船体还是滑行船体(如快艇)。汽车工业和海军工业之间的一个有趣的类比是,赛车行业的强大存在(例如美洲杯)允许在90年代和20年代初测试CFD等新技术,然后将模拟软件发布给更关心标准应用程序的公司。同样,我们稍后将描述的深度学习革命侧重于优化学生比赛的水翼形状。后来,它被“移植”到更具工业性和可重复性的案例中,如大型错位船体。


 


土木工程


CFD模拟在该领域的起点很慢。但是,如今,计算流体力学帮助土木工程师和建筑师。由于CFD模拟可以预测建筑物周围的湍流并计算结构上的风负载,因此可以使用此信息来优化建筑物的设计并确保其在结构稳定且安全。


在结构上的风载也是桥梁设计的必要考虑因素,尤其是长跨桥。CFD模拟可以预测桥周围的风流并计算其结构上的风载。有了这些信息,土木工程师可以优化桥梁的设计,并确保其在结构稳定和安全上。


CFD模拟还分析了城市环境中的行人舒适性,尤其是在“峡谷效应”环境中。峡谷效应是指街道两侧的高建筑物可以创建风通道,从而扩大风速并造成不舒服且潜在危险的行人条件。


CFD模拟可以预测城市峡谷中的动荡流,并评估对行人舒适的影响。通过模拟不同的风条件和建筑几何形状,工程师可以优化建筑物和城市空间的设计,以最大程度地减少峡谷效果的影响并改善行人舒适感。此外,CFD模拟可用于评估缓解策略的有效性,例如风障,建筑挫折和植被。这些策略可以帮助破坏风流,并减少峡谷影响对行人的影响。


什么是CFD?流体力学+计算机模拟


CFD是一种计算工具,使工程师能够使用数值算法求解流体流动和传热方程,模拟和分析流体力学和传热。流体流动方程被称为Navier-Stokes偏微分方程。它们代表了牛顿流体的动量平衡和质量守恒。


在上一章中,我们已经看到CFD如何成为工业世界的重要工具,使工程师能够优化产品设计和工艺。


CFD模拟提供了传统实验方法无法实现的流体流动和传热的见解,模拟了难以实验测量的复杂流动现象,如湍流。此外,考虑到所有费用(原型的构建和运输、实验室设置、使用原型的存储问题),使用CFD的虚拟测试通常比物理测试便宜得多。


CFD模拟简史


CFD的历史可以追溯到20世纪初,当时首次尝试用数值方法求解Navier-Stokes方程。


然而,直到20世纪60年代计算机的出现,CFD模拟才变得可行。


这涉及将流体域分解为离散点网格,并使用数值方法求解控制偏微分流体流动方程。当时可用的计算机的计算能力限制了早期的CFD模拟。直到20世纪70年代和80年代有限元法(FEM)和有限体积法(FVM)的发展,CFD模拟才变得更加准确和高效。


有限元法涉及将流体域离散化为相互连接的单元网格,而有限体积法将流体域划分为控制体积。后一种方法允许更精确地计算流体流动和其他物理现象。


20世纪80年代第一个商业CFD软件包的开发是流体动力学研究的重大突破。计算流体动力学的先驱是Brian Spalding教授,他在20世纪70年代末创建了PHOENICS,这是一种当时革命性的方法,用于模拟复杂3D几何中的流体流动和传热。除了PHOENICS,还开发了其他CFD软件包,如OpenFOAM、Fluent(现在属于著名的ANSYS家族)以及由伦敦帝国理工学院David Gosman教授构思的STAR-CCM+及其前身STAR-CD。


尽管它们具有早期的刚度和局限性(作者在90年代末花了数周时间创建网格并启动了发动机冷却回路的模拟),但所有后者的软件包都在不断发展和改进计算流体动力学的应用。


CFD算的慢有什么风险?


交付CFD模拟太慢的风险是什么?随着差价合约与业务的相关性越来越高,并成为人们关注的焦点,风险也在增加。我们将概述过去几十年对速度的需求,并解释机器学习在过去几年中是如何“及时”到来的。


80年代和90年代


在80年代初,“分析师”(一名专业操作员,主要是科学家)不得不花数周时间调整他们的模型。在90年代初,缓慢交付的CFD结果意味着诊断和分析来得太晚,对涉及工程经理的讨论没有帮助。为了应对这一挑战,公司试图采用更直接的方法将CAD(物体的几何工业表示)与CFD相结合,试图克服计算流体动力学网格构建所代表的相当大的瓶颈。另一个问题是求解器的缓慢,最后一个瓶颈是结果的可解释性。


作为答案,这十年至少产生了三项主要创新:


  • 自动网格软件(“meshers”)是独立生产和分发的,也可以在现有的求解器商业软件包中交付。

  • 随着多核CPU的逐渐出现,求解器在多个CPU上的并行性能。

  • 更逼真的可视化使最终用户能够理解流体模拟和固体对象的“阴影”几何形状。


00年代


在21世纪初,工程问题日益复杂,对更快周转时间的需求导致了CFD行业的转变。现在预计CFD分析师将在几天甚至几小时内而不是几周内提供结果,这意味着他们需要制定新的策略来加速求解Navier-Stokes方程和其他相关偏微分方程。


在此期间,最重大的挑战之一是所涉及的几何形状的尺寸和复杂性不断增加,这使得有效解决问题变得困难。为了应对这一挑战,CFD分析师比以前更加强大地转向并行处理,这使他们能够将一个大问题划分为更小、更易于管理的部分,并同时解决它们。更强大的计算硬件的可用性以及新算法和求解器的开发也有助于更快的模拟。


 

图:计算场的表示(内部HPC资源或云计算)


在这个时代,商业CFD软件得到了明确的整合,变得越来越复杂和用户友好,使工程师更容易使用。


10年代


在10年代初,CFD分析师面临着与对模拟准确性和可靠性日益增长的需求相关的新挑战。随着工程问题变得更加复杂,对高保真模拟的需求也在增加,这意味着模拟必须以更高的分辨率和更详细的细节运行。这给CFD分析师带来了重大挑战,因为更高分辨率的模拟需要更多的计算能力和更长的模拟时间。CFD分析师转向新的模拟方法,如自适应网格细化(AMR),以克服这一挑战。这是一个如何将计算资源集中在最需要的地方的例子。AMR的工作原理是在解决方案快速变化的区域自动细化网格,同时在解决方案相对平滑的区域保持网格粗糙。这种方法显著降低了模拟的计算成本,使更有效地运行高保真模拟成为可能。


 

图:CFD的最终有限体积形状——多面体


另一个重要且更广泛的改进是对非常任意的网格进行自动网格划分,远远超出了最初的四面体方法。


  • 多面体网格化:多面体网格化是一种使用多面体元素填充计算域大部分的技术。例如,STAR-CCM+中的多面体网格算法使用了各种技术来生成高质量的网格,这些技术被证明可以显著降低CFD模拟的计算成本,同时保持高精度并控制内存占用。


  • 修剪单元网格:修剪单元网格是一种为复杂几何形状(如汽车部件或飞机零件)生成高质量网格的技术。该技术涉及在几何体的外表面上生成高质量的网格,然后修剪(切割)几何体内部的单元以匹配边界条件。该技术已被证明可以减少网格划分时间并提高模拟精度,特别是对于具有挑战性内部特征的复杂几何形状。


 

图:2X2X2组六面体块(左)与CAD曲面“相交”;在右边,六面体正处于相互作用的过程中,并生成一个由新的绿色边界定的新多面体形状。请注意,在这种情况下,剩余的单元不会改变,即网格主要是六面体,并且该过程经过优化,允许一层棱柱形单元代表边界层。


多面体和修剪单元网格都有助于CFD的发展及其加速,使工程师能够模拟越来越复杂的几何形状并降低模拟成本。然而,值得一提的是,“啮合时间”和“啮合内存”(RAM)是重要的。并行网格等进步,即将其分布在多个计算节点上,使其速度更快,但远非实时。


20年代


在过去几年中,对实时CFD模拟的需求显著增加。这对需要优化计算资源的分析师来说是一个挑战。研究人员正在探索新的仿真技术,如降阶建模(ROM)或模型降阶,通过降低问题的计算复杂性来实现实时仿真。模型简化是通过构建一个降阶模型来实现的,该模型捕获了整个模拟的基本特征,同时消除了非基本细节。这种方法大大降低了模拟的计算成本,使得在功能较弱的硬件上进行实时模拟成为可能。这对CFD分析师来说是向前迈出的重要一步,使他们能够实时模拟以前无法实时模拟的工程问题。


机器学习,特别是几何深度学习的最新进展导致了新的仿真技术,这些技术超越了模型简化,摆脱了之前的参数化约束。


几何深度学习是一种机器学习技术,可以学习几何结构的表示,例如基于工业3D CAD几何的CFD模拟中的表示。CAD被“学习”为对象的3D空间表示,而无需手动参数化。


这种新方法在复杂工程问题的模拟中显示出惊人的结果,为CFD中的实时模拟提供了更多的机会。


为什么要加速计算流体动力学?


总之,CFD是一种工具,使工程师能够模拟现实世界场景中的流体和传热,同时考虑到工程过程的真实几何形状(CAD)和复杂物理。


为了可视化和量化工业对象中的流体流动和传热现象,必须对数学流体流动和热传递模型进行数值求解。这涉及求解描述质量、动量和能量守恒的偏微分方程。


然而,计算流体动力学模拟耗时且计算成本高昂。计算工作的一个例子是湍流建模,这是许多流体流动中不可忽视的一个关键方面。如上所述,几何复杂性和特定物理学也发挥了作用。


流体流动的核心数学方程是动量方程,即Navier-Stokes偏微分方程。流动,包括湍流,使用有限体积法等数值方法求解。


求解Navier-Stokes方程涉及将流体域离散为许多小元素,并求解每个元素处的偏微分方程,这些方程被简化为代数方程。这导致创建了一个大型的线性方程组,必须使用迭代数值方法中的矩阵求逆来求解。这些方法非常耗时,特别是对于大型域,使得CFD模拟的计算量很大。除了矩阵反演,CFD还需要多次迭代数值方法才能得到收敛解。迭代次数取决于精度和具体的数值方法。这可能会导致额外的计算时间,进一步提高CFD模拟的整体计算强度。


CFD模拟的计算成本随着流体域的大小、用于离散化的单元数量和所需的精度而增加。为了在不假设我们陈述科学定律的情况下给出一些定性指示,我们可以用大O符号大致表示CFD模拟的计算成本:t=O(nᵈlog n),其中t是计算时间,n是用于离散化的单元数量,d是流体域的维度。上述方程的核心是,CFD模拟的计算成本随着用于离散化的单元数量的增加呈指数级增长。此外,对数因子表示用于求解偏微分方程的数值方法的成本,该成本随着单元数量的增加而增加。


无论确切的公式是什么,人们普遍认为,由于建模流体流动所涉及的复杂数学计算以及流体域大小和所需精度的成本呈指数级增长,CFD模拟是耗时的。在单核CPU处理器上,数千万个单元(有限体积)的模拟可能需要几天的时间才能完成。如何加速CFD模拟?


加速计算流体动力学:简化CFD方法


“简化”计算流体动力学方法涉及降低模拟的复杂性,以加快计算时间,同时保留具有特定GUI的3D CFD代码的外观,并为CAD设计师提供CAD导入便利。


这些方法包括减少网格点的数量或空间或时间分辨率。虽然这些方法可以显著减少计算时间,但它们也可能导致模拟结果出现重大误差。这些错误往往是危险的,并导致错误的预测。


例如,当使用不合适的湍流建模时,“简单的CFD”方法可能会导致重大误差。湍流模型对于精确模拟湍流行为至关重要,但它们增加了模拟的复杂性,增加了计算时间。因此,简化的CFD方法通常依赖于不太精确的湍流建模,如简单的RANSE湍流模型,以加快计算时间。


然而,不合适的湍流建模可能会导致模拟结果非常不准确,特别是对于湍流。例如,湍流涡旋在湍流中传输动量、热量和其他标量,这无法用粗网格或简化的湍流模型来解决。在这种情况下,简化的CFD方法可能会导致预测流场中的重大误差,从而导致对流体行为的不正确预测。


此外,简化的CFD方法也可能导致对流动分离的错误预测,这可能会对工程设计产生严重后果。当流体流从物体表面分离时,就会发生流动分离,产生低压区域,导致物体的阻力、不稳定甚至失效。准确预测流动分离需要解决物体表面附近的湍流问题,这很难通过简化的CFD方法来实现。


总之,虽然简化的CFD方法可以显著减少计算时间,但它们也可能导致模拟结果出现重大误差,特别是在使用不合适的湍流模型时。这些错误可能是危险的,并导致对流体行为的错误预测,包括流动分离,这可能会对工程设计产生严重后果。


用硬件加速计算流体动力学


为了获得更准确的模拟结果,CFD模拟需要强大的计算能力,在标准计算机上可能需要数小时甚至数天才能完成。因此,通过高性能计算(HPC)系统和图形处理单元(GPU)加速计算流体动力学模拟得到了推动。


什么是GPU,与CPU有什么不同


GPU或图形处理单元是一种专用微处理器,旨在执行渲染图形和图像所需的复杂数学和计算任务。GPU旨在并行处理大量数据,使其对操纵和处理大量视觉数据的作业非常有效。相比之下,传统上更为人所知的CPU或中央处理单元是一种通用微处理器,旨在处理各种任务,包括执行程序指令、管理输入/输出操作以及执行基本的算术和逻辑运算。CPU针对顺序处理进行了优化,这意味着它以线性方式一次执行一条指令。


 

图:GPU示例。


CPU和GPU之间的主要区别在于它们的架构和设计。


CPU针对单线程性能进行了优化,这意味着它们被设计为一次高效执行单个指令。相比之下,GPU针对并行处理进行了优化,这意味着它们可以在多个处理核心上同时运行数千条指令。


典型的标准CPU具有相对较少的处理核心,从4到16个不等,而GPU可以具有数百或数千个处理核心。GPU中的大量处理核心使其能够并行处理大量数据,使其在涉及操纵和处理大型数据集的任务中非常有效,如3D建模、图像处理和视频渲染。


在选择GPU时,您应该考虑内存的大小和内存通道的数量,因为它们会影响GPU存储和处理数据的能力。然而,使用GPU进行CFD模拟的第一步是将求解器“移植”到GPU平台,因为这不仅仅是一种即插即用的操作。这涉及重写求解器的部分代码,以利用GPU的并行处理能力,将问题划分为更小的子问题。移植后,求解器必须在GPU上进行测试,以确保其正确运行。


HPC和CFD模拟的加速


高性能计算(HPC)系统使用并行计算机集群来执行复杂的计算。这些系统可以通过在具有多个CPU或GPU的多台计算机上分配计算负载来显著加快CFD模拟。HPC系统的范围可以从几台计算机到拥有数百个节点的大型数据中心。当用于CFD时,与传统的单计算机流体模拟相比,HPC系统可以提供显著的速度提升。


 

图:计算集群(欧洲核子研究中心)图片来源: http://referate.mezdata.de


HPC系统预期的加速取决于几个因素,包括集群中的节点数量、每个节点中处理器的性能以及运行的计算流体动力学模拟的复杂性。


HPC系统通常由几个组件组成,包括:


  • 节点:组成集群的各个计算机。

  • 互连:连接节点并允许它们通信的高速网络。

  • 存储:一个大型存储系统,可以存储计算流体动力学模拟所需的数据。


在实践中,CFD的HPC加速可以带来什么?


该图显示了放大倍数,即在1个处理器上完成模拟所需的时间除以在可变数量的处理器上运行所需的的时间。理想情况下,具有“n”个处理器的HPC结构将使CFD运行速度提高“n”倍。因此,理想的曲线是一条直线。


 

图:显示14M电池外部空气动力学用例的强缩放图(来源:亚马逊)。


然而,由于上述一些硬件和软件因素,扩大规模并不理想。对于设计工程师来说,重要的是要知道,扩大规模是以内部资源投资或云计算租赁为代价的。


总之,HPC系统和GPU可以通过提供快速执行复杂计算所需的计算能力和并行处理能力来显著加速计算流体动力学。


虽然这些方法在硬件和维护成本方面可能很昂贵,但它们可以在速度和准确性方面提供显著的优势,使其成为工程师和科学家的重要工具。


超越GPU:TPU


我们将用一节专门介绍TPU来结束硬件一章。


TPU(张量处理单元)是谷歌专门为执行我们将在下一章讨论的机器学习计算而设计的专用硬件加速器。TPU旨在加速神经网络的训练和推理,并针对机器学习线性代数运算进行了优化。


TPU在几个方面与GPU不同,例如它们如何处理内存。大规模机器学习应用程序的一个瓶颈可能是在不同内存空间(LINK)之间移动数据所需的时间。GPU通常为CPU和GPU提供单独的内存空间。这可能会导致在两者之间移动数据时出现性能瓶颈。相比之下,TPU具有统一的内存架构,这意味着它们有一个所有处理单元都可以访问的高带宽内存池。


TPU可以显著减少训练大规模神经网络所需的时间。这对于需要大量训练数据和复杂模型的应用程序非常重要。因此,使用TPU训练神经网络可以让你训练比传统CPU或GPU更大、更复杂的模型。TPU针对机器学习计算进行了优化,通常不适合CFD模拟。CFD通常通过对大型线性方程组执行矩阵运算来求解非线性偏微分方程,如前几章所述,这些任务更适合HPC或GPU中的传统CPU。


利用机器学习和深度学习加速计算流体动力学


机器学习算法可以从数据中学习,通过利用模拟过程中生成并存储在公司数据库中的数据,使其成为改善CFD模拟影响的理想选择。机器学习和深度学习是计算机科学和人工智能中快速增长的领域。虽然机器学习和深度学习涉及教计算机根据数据做出预测和决策,但它们的方法和复杂性不同。


机器学习


机器学习侧重于开发算法和统计模型,使计算机能够从数据中学习并做出预测或决策,而无需显式编程。机器学习算法可以分为几类。对我们来说最重要的是监督机器学习模型。


当用于训练算法的数据具有标记输出时,使用监督机器学习算法。这种机器学习类型用于分类和回归任务,其中算法经过训练,可以根据输入特征预测分类或数值结果。例如,监督机器学习算法可以根据客户的信用评分、收入和其他财务信息预测客户拖欠贷款的可能性。虽然机器学习已被用于解决许多复杂问题,但它可能受到数据大小和复杂性以及所用模型的限制。深度学习是机器学习的一个子领域,专注于使用深度神经网络从复杂数据中学习并对其进行预测。


另一种深度学习算法是深度强化学习。与监督学习不同,深度强化学习涉及训练代理根据环境反馈做出决策。换句话说,智能体通过与环境互动并因其行为而获得奖励或惩罚,通过反复试验来学习。


神经网络和深度学习架构


神经网络是一种受人脑结构和功能启发的机器学习模型。神经网络由多层相互连接的节点组成,每层节点代表一个计算单元。人工神经网络中的节点被组织成输入层、隐藏层和输出层。输入层接收用于进行预测的数据,隐藏层处理数据,输出层提供预测。神经网络中的节点通过称为权重的路径连接,表示节点之间连接的强度。神经网络中的权重是在训练过程中学习的,算法调整权重以最小化预测结果和实际结果之间的误差。


深度学习是指使用深度神经网络,这是一种具有多个隐藏层的神经网络。额外的隐藏层允许深度神经网络学习更复杂的数据表示,这使它们能够做出更准确的预测。深度学习在各种任务中取得了最先进的性能,包括图像分类、语音识别和自然语言处理。深度学习可以从原始的非结构化数据中学习,如图像和文本。这使得它非常适合数据复杂且难以预处理的应用,如图像和语音识别。


神经网络作为通用逼近器


神经网络是一种机器学习算法,通过学习将输入数据映射到输出数据的函数来模拟输入和输出数据之间的关系。此函数通常表示为“y=f(x)”,其中x是输入数据,y是输出数据。函数f由训练过程中学习到的训练神经网络的权重和偏差决定。神经网络可以近似各种函数,使其成为解决复杂问题的强大工具。已经证明,神经网络是通用的逼近器。给定足够多的神经元和适当的激活函数,它们可以用单个隐藏层以任意精度近似任何连续函数(Cybenko,1989)。


通用近似定理基于这样一个事实,即具有单个隐藏层的神经网络可以表示由有限数量的连续函数组成的任何函数。这是通过使用非线性激活函数(如sigmoid、ReLU或tanh)来实现的,允许网络对输入和输出数据之间的复杂关系进行建模。


神经网络激活函数


sigmoid函数通常用作神经网络中的激活函数。sigmoid函数将任何实数映射到0到1之间的值,这使得它可用于建模概率或二进制分类问题。sigmoid函数的数学表达式为f(x)=1/(1+exp(-x))。sigmoid函数是非线性的,这意味着它可以模拟输入和输出数据之间的复杂关系。另一个常用的激活函数是整流线性单元(ReLU),其定义为f(x)=max(0,x),其中max(0、x)返回0到x之间的最大值。因此,它可以被视为一个斜坡。


ReLU函数也是非线性的,在深度神经网络中 特别有效(Nair&Hinton,2010)。神经网络逼近任何函数的能力对许多应用具有重要意义。例如,神经网络已被用于语音识别、图像分类和自然语言处理等。神经网络在每个应用程序中都经过训练,以学习将输入数据映射到所需输出数据的函数。


因此,神经网络是逼近输入和输出之间复杂函数的强大工具。通过适当的激活函数和足够数量的神经元,神经网络可以将任何连续函数近似到任意精度,使其成为通用的近似器。这一特性对各种机器学习和人工智能应用具有重要意义。


为什么神经网络可以很快?


神经网络通常针对推理、预测或基于训练模型对新数据进行分类进行优化。推理时间可以低至0.01-0.02秒。


推理怎么能这么快?!


神经网络推理的速度受到几个因素的影响。最重要的因素之一是神经网络权重在推理过程中是固定的。在训练过程中,通过迭代计算梯度和调整权重来调整网络权重,以最小化损失函数。然而,一旦训练完成,权重就会被冻结,网络可以用于推理。这意味着通过网络的前向传递(输入数据通过网络传播以产生输出)比训练期间快得多。训练机器学习算法中使用的数据驱动模型对于确定其性能至关重要。训练可以来自实验或数值模拟数据,这些数据可用于训练算法并提高其准确模拟湍流和其他复杂流体力学主题的能力。


基于物理的深度学习


到目前为止,我们已经讨论了数据驱动学习。相比之下,基于物理的学习涉及将物理定律和知识整合到机器学习模型中,以提高其准确性和泛化能力。换句话说,基于物理的深度学习将数据驱动学习的力量与物理定律的先验知识相结合,从而能够用更少的数据点开发出更准确、更稳健的模型。例如,物理信息神经网络(PINN)已成功应用于许多流体动力学应用,如湍流建模、空气动力学优化和流量控制。PINN也可用于解决逆问题,其目标是使用有限的训练数据估计流体系统的未知参数或边界条件。


高级计算流体动力学应用:大涡模拟


大涡模拟是计算流体动力学中的一种湍流建模技术,但它仍然面临着重大挑战。通过使用深度学习技术,工程师可以提高大涡模拟的准确性,使其更快、更易访问。例如,基于物理学的深度学习可以将物理约束纳入大涡模拟中,从而产生更准确的湍流建模和预测。大涡模拟的计算成本可能相当高,因为它涉及解决最大尺度的湍流运动,同时对最小尺度进行建模。


成本主要取决于模拟中的网格点数量,可能达到数百万甚至数十亿,以及准确捕捉流动动态所需的时间步长。在大涡模拟中,大尺度的运动通常直接在网格上求解,而小尺度的运动则使用子网格尺度模型进行建模。这意味着网格分辨率必须足够精细,以捕捉最小的运动尺度,这可能非常小,导致许多网格点。此外,时间步长必须足够小,以准确捕捉流场的快速变化,这也会增加计算成本。


深度学习技术加速计算流体力学学习的案例


我们现在将研究深度学习技术可以加速传统CFD方法的四个案例:


  • 达到热交换器的最佳设计;

  • 执行比其他加速技术更好的汽车空气动力学预测;

  • 帮助研究涡轮机械中的复杂流动结构(案例3);

  • 通过加速流体动力学预测,为土木工程中的项目风险缓解做出贡献。


用例1-用于生成设计的热交换器和机器学习


热交换器是许多工程系统中在流体或气体之间传递热能的关键部件。它们的重要性在于它们能够提高能源效率和性能,降低成本,延长机械寿命。在汽车工业中,热交换器在调节各种部件的温度方面起着至关重要的作用,如发动机冷却液、变速器油和空调制冷剂。


换热器的设计涉及流体动力学、热力学和材料科学的复杂相互作用。工程师必须考虑流量、压降、传热系数和污垢阻力等因素。这些参数可以通过各种方法进行优化,如计算流体动力学模拟、实验测试和先进制造技术。


即使换热器设计的微小改进也会显著影响能源效率和性能。例如,减小热交换器翅片的厚度或增加表面积可以增强传热并提高整体系统效率。此外,利用石墨烯或纳米管等先进材料可以进一步提高传热速率,减少热交换器的重量和尺寸。


换热器的设计和优化是工程的一个关键方面,在许多行业中都至关重要。换热器技术的进步将继续对提高能源效率、降低成本和延长机械寿命至关重要。


然而,设计高效的热交换器可能具有挑战性,因为随着设计变得更加复杂,描述热交换器几何形状的参数数量可能会迅速增加。由于模拟成本的不断增长,产品设计工程师只能探索有限的设计空间。


 

图:热交换器参数化示例:基线形状。


PhysicsX的工程团队与Neural Concept合作,通过开发一个替代模型来克服这一挑战,该模型可以实时预测具有不同拓扑结构的各种换热器设计的性能。从CAD和CAE训练数据出发,代理模型(NCS)可以准确地预测系统的整体效率以及出口处的温度和压降。工程师可以实时与换热器设计交互,在不同几何形状和拓扑结构之间高效迭代,并提高系统的性能。


 

图:换热器优化几何形状示例:通过变形技术和NCS预测驱动过程获得的生成设计。


此外,该模型可以预测体积内的流量,为工程师提供对现象的更好直观理解。Neural Concept的优化库被用于代理模型之上,为最终设计带来了实质性的改进。此次合作的成功成果鼓励PhysicsX和Neural Concept继续致力于各种主题,为CAD和CAE工程师提供游戏选择,缩短模拟和设计优化链,并显著提高产品性能。


用例2-利用机器学习提高下一代车辆的性能


该案例研究展示了可应用于生产级3D模拟的外部空气动力学实时预测模型的性能。PSA和Neural概念之间开发的基准案例旨在加快设计周期并优化下一代车辆的性能。


该研究将深度学习流体模拟与基于高斯过程的回归模型进行了比较,这些模型专门针对生产级模拟进行了调整。发现深度学习流体模拟几何CNN模式比高斯过程具有更广泛的适用性。此外,它不需要参数描述,并且可以大大优于标准方法。


 


图:NCS与传统方法的汽车空气动力学预测误差与地面真实值的比较——随着参数数量的增加,两种有利于NCS的方法之间的差距越来越大。


NCS是一种数据驱动的机器学习软件,可以学习识别3D形状(CAD)以及它们与CFD(空气动力学)结果的关系。NCS模拟高保真CFD求解器,在CAD输入后0.02-1秒内提供推理(预测)反馈,而CFD求解器则需要几分钟到几小时(甚至几天),后者也需要网格软件来处理CAD。工程师可以使用NCS通过生成设计算法交互式或自动探索设计空间。


NCS弥合了设计师和仿真专家之间的差距,减少了团队之间漫长的迭代,以达成设计解决方案。


这可以显著加速产品设计,并支持团队应对最复杂的工程挑战。


用例3-使用机器学习进行湍流建模开发


应用流体力学面临着我们对湍流理解有限和预测能力差的挑战,导致各种航空航天和发电应用的CFD存在工业不确定性。


由NUMECA(现为Cadence)协调的HiFi TURB项目旨在通过一项雄心勃勃的计划来解决这些不足。HPC通过应用于高保真度、尺度分辨率模拟数据库的人工智能和机器学习技术,实现了湍流模型的开发。NCS用于分析大量三维分辨率流体模拟数据。


NUMECA使用Neural Concept的基于几何的变分自动编码器*来深入了解统计平均流量变量之间的相关性。机器学习模型将数据物理压缩为“嵌入”,然后以高精度重建原始输入。


该图显示了一个示例:2D图上符号的颜色对应于“嵌入”的值,在3D视图(左)和2D图(右)中是相同的。对于所有考虑的物理量,相同颜色的点具有相同的值。由嵌入值着色的3D视图为我们提供了所研究域上几个物理量的全局统计表示。这两个图都通过机器学习模型为流动行为提供了新的视角。该图显示了图形用户界面中使用的视图的快照。


 

图:由ML模型发现的结构(底部)数量统计分析。


用例4-土木工程中的深度学习流体模拟


Orbital Stack与Neural Concept的机器学习软件的集成彻底改变了土木工程的设计过程。


以前,设计师必须等待长达10个小时才能处理每个设计迭代,这大大减缓了设计过程。然而,随着Neural Concept的模型(NCS)现在嵌入Orbital Stack的CFD产品中,迭代时间大大缩短到几分钟,利用了Orbital Stack拥有的实验和CFD模拟的大量训练数据。


这意味着设计人员可以在更短的时间内运行多个迭代模拟,从而显著改善他们的工作流程。此外,他们可以选择项目的最佳版本,同时限制对设计的环境影响,确保设计高效且可持续。


通过在工作流程的不同阶段提供设计迭代,该软件使设计人员能够优化其设计的性能,并在流程的早期识别潜在风险。这允许更快的设计周期,并根据需要提供可靠的气流分析。因此,最终设计的性能和可持续性得到了提高,设计师可以探索无限的设计可能性。


 

图:ML土木工程。


整合轨道堆栈和NCS也简化了风洞分析过程。得益于深度学习流体模拟,设计人员可以验证他们的设计优化,并毫无意外地满足监管要求。轨道堆栈和NCS的结合显著改善了设计过程,节省了时间,提高了性能,促进了可持续性。


结论


总之,机器学习和深度学习正在改变计算流体动力学领域,并有可能彻底改变工程师和设计师进行流体流动分析和模拟的方式。


无论您是在设计更好的涡轮机、改进流体力学研究还是分析湍流,机器学习都可以帮助您更快、更有效地实现目标。


通过将机器学习模型结合到计算流体动力学中,您可以更快地准确预测流体行为。


这可以更好地设计和理解复杂的流体流动,最终带来更高效和有效的工程解决方案。


   


如果你觉得此文对你有帮助,请点赞,谢谢!


计算机技术在科学&技术&工程&数学中得到了广泛的应用,力学方面,计算机技术成为了科学的第四次革命性技术,现在基于计算机的数据科学已经逐步成为力学等其他科学发现的第四范式。人工智能、大数据、数字孪生等概念已经逐步成为当今时代的主题。智能制造、智能算法、数据驱动力学、大语言模型、自动驾驶在当今社会展现出巨大潜力,吸引了大量的研究人员。同时高性能显卡和多核中央处理器的出现为大规模数值模型的高性能计算提供了强大算力。然而因为该领域的论文较多,涉及内容较广,需要的知识量较大,不仅需要力学,数学,物理的知识,还需要计算机、数据科学、大数据分析的知识。入门门槛较高,因此我建立了此微 信公 众号(STEM与计算机方法),希望通过自己的学习加上文献翻译和整理,帮助新手快速掌握前沿研究的热点和聚焦,轻松入门计算的相关研究(实验、理论、数值计算方法),从而吸引和聚焦更多对该技术和研究领域感兴趣的华人朋友,为推动智能计算与基础科学的科学研究的发展和交流做一点儿贡献!

如果你认同我的想法,请点击右上角的三个点,将此文章(公众 号)发送给你的老师和同学,谢谢。

如果你想在朋友圈中分享你所专注的前沿研究,欢迎你分享到朋友圈,谢谢!

STEM与计算机方法

扫一扫二维码关注本公 众号

  


来源:STEM与计算机方法
FluentHPCStar-CDStar-CCM+OpenFOAMPhoenics非线性燃烧化学动网格湍流通用航空航天船舶汽车云计算理论材料数字孪生
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-01
最近编辑:2月前
江野
博士 等春风得意,等时间嘉许。
获赞 48粉丝 47文章 310课程 0
点赞
收藏
作者推荐

一文说尽冲击动力学——应力波控制方程推导

点击上方蓝字了解更多计算与STEM领域研究前沿以下内容是对之前笔记的细化和拓展:读者如果已经熟悉,可直接跳过,看后面的三维波动方程的推导。动载荷和弹性波固体介质在外部载荷作用下将会改变其原有的形状和原来的运动状态,同时介质内部各部分之间的相互作用力也随之发生变化,这体现了固体介质对外部载荷的响应。根据引起介质响应的不同,可将载荷分为静载荷和动载荷。固体的静力学理论所研究的是处于静力平衡状态下固体介质的力学特性,忽略介质微元体的惯性。所以,静力学分析通常用于载荷数值随时间无显著变化效应的载荷,即加载速度比较慢的情况。动载荷是指加载速度比较快的载荷,在以毫秒(ms)、微秒(μs)甚至纳秒(ns)计的短暂时间尺度上发生了运动参量的显著变化,以至于物体由此产生显著的加速度,从而使得惯性效应对物体的变形和运动状态有明显的影响,因而在此加载过程中可以认为物体的各部分的受力都随着时间在瞬时变化。例如,炸药在岩石表面接触爆炸时的压力可以在几微秒内突然升高到10GPa量级。在诸如此类的动载荷作用条件下,介质质点的状态处于随时间迅速变化的动态过程中,这时就必须考虑介质微元体的惯性效应。 图:几种典型的动荷载。下表给出了不同应变率的荷载状态:表:不同应变率的载荷状态 在静载荷作用下,可以忽略惯性效应的影响,即物体受到局部扰动后,施加载荷时间相对较长,可以认为整个物体各部分的响应立即完成。在动载荷作用下,局部的扰动只引起固体介质内部相邻质点离开初始平衡位置,并不能立即引起距扰动源较远部分的响应,而且介质中每个质点的运动将随时间而变化,必须关注状态随时间的瞬时变化。弹性体的振动和弹性波来源:STEM与计算机方法

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈