首页/文章/ 详情

OpenFOAMGPT:基于 OpenFOAM 的计算流体动力学的检索增强型大型语言模型代理

6小时前浏览5

这项工作提出了一种基于大型语言模型(LLM)的代理OpenFOAMGPT,专为以OpenFOAM为中心的计算流体动力学(CFD)模拟而定制,利用了OpenAI的两个基础模型:GPT-4o和支持思想链(CoT)的o1预览模型。这两个代理都在多个任务中取得了成功。虽然o1模型的代币价格是GPT-4o的六倍,但它在处理复杂任务方面始终表现出优异的性能,从零样本案例设置到边界条件修改、湍流模型调整和代码转换。通过迭代校正循环,该代理有效地解决了单相和多相流、传热、RANS、LES和其他工程场景,通常以低tokens成本在有限的迭代次数内收敛。为了嵌入特定领域的知识,我们采用了检索增强生成(RAG)管道,展示了预先存在的仿真设置如何进一步专门化能源和航空航天等子领域的代理。尽管代理表现出色,但人为监督对于确保准确性和适应不断变化的环境仍然至关重要。随着时间的推移,模型性能的波动表明需要对关键任务应用程序进行监控。尽管我们的演示侧重于OpenFOAM,但该框架的适应性为将LLM驱动的代理开发成各种求解器和代码打开了大门。通过简化CFD模拟,这种方法有可能加速基础研究和工业工程的进步。


1、引言

最近,流体力学领域越来越多地采用数据驱动的方法,这得益于丰富的高保真仿真数据和机器学习的快速发展[1-6]。这些方法已经开发出来,用于模拟有和没有控制方程的湍流[7-12],以及解决复杂的传热问题[13,14]。此外,机器学习技术支持了实验测量[15],并促进了科学发现,例如通过在流体流动中实现因果推理[16-18]。

最近,大型语言模型(LLMs)[19]正迅速成为科学和工程领域的强大工具,在自然语言理解[20]、自动推理[21]和决策方面提供了前所未有的能力。对于研究和工程而言,这些模型有可能通过实现更有效的问题解决[22,23]、高级优化[21,24]和加速科学发现[25,26]来改变传统的工作流程。最近的研究表明,LLM可以作为智能助手,既可以增强传统方法,又可以为分析、设计和模拟的新方法铺平道路。Buehler[27]、Ni和Buehler[20]提出了MechGPT,这是一种经过微调的大型语言模型,旨在在多尺度材料失效的背景下统一不同的知识领域,如力学和生物学。通过利用本体论知识图进行可解释性、检索增强生成和扩展上下文长度,MechGPT支持跨学科洞察、假设生成和新数据源的集成。Ghafarollahi和Buehler[29]介绍了一种物理感知的生成人工智能平台AtomAgents,该平台通过将LLM与在动态环境中运行的多个人工智能代理相结合,自主处理多目标材料设计。此外,Ghafarollahi和Buehler[30]提出了一种用于自动金属合金发现的多智能体AI模型,该模型集成了LLM驱动的推理和规划、用于领域专业知识的专用AI代理,以及用于快速检索关键物理特性的图神经网络,从而加速复杂材料设计任务。此外,Buehler[31]介绍了Cephalo,这是一个用于材料科学的多模态视觉LLM家族,结合视觉和语言数据来解释复杂的场景,生成精确的文本描述,并实现先进的设计工作流程。  

LLM在流体力学中的一个突出应用在于它们促进方程发现的能力。例如,Du等人[32]已经证明了LLM如何从数据中自主提取控制方程,在没有大量人为干预的情况下捕捉复杂的非线性关系。除了方程发现,LLM还被用于简化形状优化问题。例如,Zhang等人[33]介绍了一种框架,该框架利用这些模型优化几何轮廓,如翼型或轴对称配置,以实现减阻。新兴研究将这些进展扩展到微流体等领域[34],在这些领域,LLM有助于在流体流动约束下进行机器人运动规划的决策,或引导微型游泳者通过复杂的流体环境。Zhu等人[35]介绍了一种将LLM与时空感知编码器相结合的框架,用于预测非定常流体动力学,与传统的CFD方法相比,显著提高了准确性和效率。通过利用预训练的LLM和图神经网络,该模型有效地整合了空间和时间信息,在翼型和圆柱流等流体数据集的长期预测中取得了卓越的性能。Kim等人[36]评估了ChatGPT生成的MATLAB代码在基于叙述的提示下用于岩土工程应用的潜力,包括渗流分析、边坡稳定性评估和X射线断层图像处理。尽管ChatGPT不能完全取代传统编程,但它有效地优化了代码,最大限度地减少了语法错误,并在仔细阅读时提供了一个特定领域的指导的富有逻辑框架。同样重要的是LLM在自动化和编排CFD模拟中的应用。Chen等人[37]提出了一种基于LLM的多代理系统,能够通过自然语言交互自动化CFD工作流程。通过采用检索增强生成(RAG),该平台可以识别和纠正潜在错误,大大降低了通常与CFD模拟相关的技术障碍,并使非专业人员更容易使用这些工具。

这些进展说明了LLM如何重塑包括流体力学在内的科学研究领域,从方程发现和形状优化到复杂CFD工作流程的自动化。在这项工作中,我们为OpenFOAM引入了一种基于LLM的RAG增强代理,旨在通过提供一个强大的会话界面来弥合这一差距,该界面既可以检索特定领域的信息,又可以生成基于上下文的指令。借助这款基于LLM的CFD代理,我们的目标是自动化执行模拟的工作流程,显著降低专业知识门槛,从而提高整体生产率。除了OpenFOAM之外,我们还试图说明这种灵活的框架可以适用于各种其他求解器和代码。  

2、Methodology方法

OpenFOAM(开源现场操作和操纵)是一个广泛使用的开源CFD求解器包[38]。它为广泛的应用提供了多种求解器,包括不可压缩[39-41]和可压缩流[42]、传热[43-47]和多相系统[48-50]。与商业CFD软件包不同,OpenFOAM的完全开源架构赋予用户修改现有求解器、开发新物理模型的灵活性。通过依赖于面向对象设计的C++,它确保了可维护性、可扩展性和高并行性效率,使其成为学术研究和工业工程工作流程的标准平台。其经过验证的准确性、适应性,可扩展性和高效的并行运算能力,使OpenFOAM成为与基于LLM的代理耦合的理想环境,这些代理可以交互式地指导用户完成模拟设置、执行和分析。我们在这里使用的版本是OpenFOAM-v2406版本。

GPT(Generative Pre-traned Transformer)是OpenAI开发的一个人工智能基础模型家族,它通过基于前一个单词的上下文预测下一个单词来生成类人文本。它已经被广泛用于聊天机器人、内容创建和代码生成等任务。我们基于OpenAI的两个基础模型开发了OpenFOAM特定代理:ChatGPT-4o(4o)[19]和ChatGPT-o1预览(o1),每个模型都通过OpenAI API访问。虽然GPT-4因其强大的语言理解能力而得到广泛认可,但o1[51,52]通过思维链(CoT)机制脱颖而出,该机制能够实现更好的推理和更详细的问题解决步骤。API代币定价突出了一个成本差异:4o模型的定价为每百万个输入代币2.50美元,每百万个输出代币10美元,而o1模型的价格为每一百万个输入代币15.00美元,每一百万个输出代币60美元。  
图1描述了我们的代理OpenFOAMGPT的当前多层结构。在顶部,系统提示与用户查询相结合。然后,Builder模块解释这些指令——根据需要咨询RAG数据库以获取特定领域的信息——并将其转换为结构化计划。接下来,Executor编排工作流:它可以将查询定向到LLM模型以进行进一步推理,或者将任务移交给OpenFOAM代理以执行特定于模拟的操作。在OpenFOAM代理中,解释器、生成器和运行器协作设置和执行必要的OpenFOAM操作。在整个模拟过程中,对错误日志进行监控;如果检测到故障,则将错误数据附加到用户查询中,并迭代该过程。否则,工作流控制成功结束。为了确保特定领域的完整性,代理在构建或细化其计划时使用了检索增强生成(RAG)。一个专用的RAG数据库(源自OpenFOAM教程案例描述)提供了相关的详细信息,如求解器名称、案例名称和流类型。这些描述通过OpenAI的text-embedding-3-small模型嵌入到1536维向量中,允许代理从公共或私有存储库等外部查找或合并类似案例。  
 
通过RAG添加领域知识(图2)可以获得更好的提示和准确的结果[53]。它是通过LangChain框架实现的[54]。虽然LLM可以推理一般知识,但在特定领域资源的补充下,它在专业任务中的表现会显著提高。通过查询OpenFOAM教程的索引库,RAG层为LLM提供了经过验证的最佳实践和更新的方法。这种额外的背景有助于弥合预训练模型固有的典型知识差距,确保生成的响应符合CFD领域的社区标准。此外,通过进一步扩展知识库以包括专业主题,如空气动力学、过程工程和传热设计,我们的通用CFD代理可以无缝地适应特定的子学科。这种模块化结构不仅保持了灵活性,还实现了深入的、以领域为中心的专业知识,从而为各种流体流动应用提供了更准确和全面的解决方案。
 

3、Evaluations 实验验证

A. 零样本提示的性能

目前尚不确定开发的代理OpenFOAMGPT是否可以在没有进一步训练的情况下设计和运行模拟。为了评估其能力,我们从OpenFOAM教程中选择了六个案例,包括单相和多相流、层流和湍流状态,从简单到面向应用的示例。  
  • Cavity floew:本例使用icoFoam求解器模拟二维方形域中的层流、等温、不可压缩流。几何图形由一个正方形组成,所有边界都是墙。顶壁以1m/s的速度在x方向上移动,而其他三个壁是静止的。
  • PitzDaily:它使用k-ε模型和simpleFoam求解器模拟了通过Pitz Daily几何体的不可压缩湍流。几何形状是二维平面上的突然膨胀通道,突然膨胀后入口狭窄,截面较宽。整个通道形成二维矩形结构。
  • Hotroom:这是一个高腔内的湍流自然对流,使用k-ε模型和buoyantBoussinesqSimpleFoam求解器进行模拟。腔体具有二维矩形形状,以壁为边界。左壁和右壁是绝热的,顶壁是冷的,底壁是热的。
  • Dambreak:它代表了一种简化的层流溃坝,使用基于VOF的多相求解器(interFoam)进行模拟。坦克是一个二维正方形,在容器的中心有一个矩形障碍物下边界。顶部边界是开放的,而其他三个边界是固定的壁面。该装置由容器左侧薄膜后面的静止水柱组成。在时间t=0s时,膜被移除,导致水坍塌。当水冲击障碍物时,会产生一个复杂的流动结构,包括几个被困的空气袋。
  • Particle column:本例使用MPPICFoam求解器模拟二维柱中粒子流的分布和动态演化。该柱是一个矩形域,顶部有一个入口,底部有一个出口。流体被建模为由Navier-Stokes方程控制的不可压缩单相流,而粒子动力学则使用拉格朗日跟踪方法进行建模。多相粒子动力学模型(MPPIC)用于解释粒子碰撞和接触应力。作用在粒子上的力包括流体阻力、碰撞力和重力。
  • Mixed vessel:本例使用pimbleFoam求解器模拟旋转混合器或搅拌器中的流体流动。几何形状是一个二维圆柱体,其外壁和内壁上均匀分布着四个矩形屏障。外壁是静止的,而内壁是旋转的,其运动使用移动网格进行模拟。
零样本提示尝试生成所需的输出,基于有限的指令,没有任何例子。由于LLM是在庞大的数据集上训练的,因此,它通常会产生所需的输出。然而,若根本问题很难解决,那个么模型可能无法提供所需的输出。在本小节中,我们分析了具有零样本提示的LLM模型的性能。  
 
表1比较了使用基础模型4o和o1而不使用RAG的OpenFOAMGPT的性能。当仅使用自然语言提示时,使用模型4o的代理只能产生简单的二维方形几何形状(例如空腔流)。将模型更改为o1-mini没有任何改善。相比之下,使用模型o1预览的代理会生成更复杂的几何体(例如,Hot room),尽管完全依赖自然语言并不适合指定复杂的形状。因此,在输入中提供blockMeshDict文件更有效。在提供了详细的blockMeshDict文件后,带有o1的代理表现出了更高的性能:即使没有RAG,它也能成功处理Cavity flow、PitzDaily、Hotroom、Dambreak和Mixed vessel情况。然而,对于更复杂的问题,如Particle column——需要单向流与粒子流相结合——当仅依赖LLM时,代理会遇到无法解决的错误。
 
B.RAG增强的少量样本提示情况  
在上一小节中,基于GPT-4(4o)的OpenFOAMGPT没有RAG功能,仅在最简单的腔流情况下成功,未能建立更复杂的模拟。在这里,我们评估了通过启用检索增强生成(RAG)所获得的改进,结果总结见表II。图3显示了最后一个时间步的模拟结果。但在particle column的情况下,kinematicCloudProperties的输出与RAG中提供的文件不同,因为输出文件有长度限制。一旦配备了RAG,代理就成功地设置了所有测试用例,强调了检索复杂CFD工作流程的相关领域知识的重要性。  
对于最简单的空腔流,只需要两轮相互作用,消耗了大约6600个代币。更复杂的任务,如Particel column案例,需要十轮交互,使用了大约9.6万个令牌。面向应用程序的设置通常会产生更高的令牌使用率,尤其是当涉及多个输出文件或专门的模型输入时。尽管有这些增加,4o模型的相关货币成本在每个测试场景中从0.03美元到0.36美元不等,这个数字仍然远低于典型的劳动力成本。在每个实例中,执行时间不到十分钟,这在很大程度上取决于交互轮的数量和参考数据的数量,而创建输入文件和运行求解器仍然很快。从4o模型切换到o1模型不会产生预期的迭代或令牌使用减少。由于o1模型的代币价格较高,整体成本大幅上升,在粒子柱的情况下高达1.60美元。因此,考虑到代币定价的差异,4o模式似乎是一个更具成本效益的选择。  
 
C.替代模拟条件:初始和边界条件、网格分辨率、热物理性质
 
在工程研究和设计中,通常需要通过调整模拟条件(如初始和边界条件或热物理性质)来探索广阔的参数空间,从简单、均匀、稳态参数到非稳态、非均匀场景。表三总结了这些任务,表明具有o1预览模型的代理可以成功处理所有更改。即使是使用4o模型的代理也可以实现这些目标中的大部分。  
一个值得注意的例子是,在空腔流设置中分配了一个非定常边界条件5 sin(2πt /0.1)。提示包括要求,但没有说明应该如何完成。事实上,OpenFOAMGPT选择了正确的边界条件codedFixedValue,而不是其他值,如fixedValue、oscillatingFixedValue。此操作比简单地替换常量值更复杂,但具有基础模型o1的OpenFOAMGPT通过生成高级OpenFOAM脚本来管理它(清单1中摘录)。这一成就说明了o1的高级推理和规划能力,进一步强调了其在复杂CFD应用中的潜力。  
 
D.增加或替换零样本湍流模型(RANS和LES)  
许多工程模拟涉及湍流,需要雷诺平均Navier-Stokes方程的闭合模型或大涡模拟中的亚网格尺度公式。有许多湍流模型可供选择,每种模型都有自己的复杂性、计算成本和流动各向异性方法,这使得研发团队测试和比较不同模型成为常规。但是,这个过程远远超出了仅仅更改模型名称的范围,因为它通常需要调整/添加/删除不同输运方程的初始和边界条件,以及选择合适的数值方案。在本小节中,我们研究了OpenFOAMGPT在各种情况下添加或交换湍流模型的零样本能力。我们的目标是从标准k-ε模型过渡到其他RANS模型,包括RNG k-ε、k-ωSST、三方程涡粘性模型k-kl-ω以及Launder–Reece–Rodi(LRR)雷诺应力湍流模型。值得注意的是,k−kl−ω模型似乎不太常用,而且更复杂。但是,基础模型o1在这种情况下表现良好(摘录于清单2中)。对于LES,我们用标准的Smagorinsky turbulence 模型替换了dynamicKEqn模型。表四总结了这些任务并提供了关键意见。尽管该代理成功地处理了大多数情况,但在将k-ε模型应用于颗粒柱的情况时遇到了困难。粒子柱场景本身涉及更高的复杂性,带来了挑战。尽管如此,我们的结果强调了该代理在以最少的人为输入显著简化甚至自动化高级CFD任务方面的潜力。  
 

 
E.带有o1-preview的零样本代码翻译  
代码翻译是软件开发中一项常见且必不可少的操作。通常需要在同一框架的不同版本或发行版之间迁移或移植代码。例如,多年来独立开发和维护了两个不同的OpenFOAM发行版:www.OpenFOAM.com和www.OpenFOAM.org。这些版本通常彼此不兼容。因此,用户和开发人员经常需要将案例从一个发行版导入到另一个发行版本,这需要对源代码和库配置进行大量修改。在本小节中,我们将说明OpenFOAMGPT和o1模型如何促进这种跨平台翻译过程。  
 
在表V中,我们展示了将四个教程案例(T-Junction、Channel395、PitzDaily和Motorbike)从OpenFOAM 12平台(www.OpenFOAM.org)翻译到OpenFOAM V2406平台(www.opensfoam.com)的结果。在翻译过程中,我们仅提供了OpenFOAM 12平台的代码,不包括与OpenFOAM V2406平台相关的任何信息。当使用基于网络的LLM(o1预览版)时,Channel395是唯一一个成功翻译而没有不一致的案例。其余三个案例遇到了各种错误,从controlDict中不准确的函数条目到现场操作中的维度不匹配。这些问题凸显了跨平台代码翻译的复杂性,强调了细致验证和有针对性调试的必要性。然而,在使用代理时,只有Motorbike案例出现了阻止其运行的错误,而PitzDaily案例在几步后未能收敛。这一观察强调了在类似情况下使用代理解决问题的有效性,进一步强调了使用代理的必要性。




4、结论、不足和展望

我们提出了一种基于LLM的代理OpenFOAMGPT,用于专注于OpenFOAM的计算流体动力学,集成了OpenAI的两个基础模型,即广泛使用的GPT-4(4o)和支持思想链(CoT)的o1模型。尽管o1的成本大约是代币成本的六倍,但它在处理复杂任务方面表现出了明显的优势,突显了其在专业CFD工作流程中的潜在价值。通过迭代校正循环,OpenFOAMGPT成功地解决了实际模拟任务,如零样本案例设置、初始和边界条件修改、零样本湍流模型替换、零样本代码转换等。代表性的测试场景涵盖了单相和多相流、传热、RANS、LES和各种工程案例,所有这些都是在有限数量的迭代循环内以低象征性费用解决的。

尽管预训练的LLM(特别是CoTenabled o1模型)表现稳健,但我们的研究结果强调了检索增强生成(RAG)对于嵌入领域特定知识的重要性。通过将现有的模拟设置整合到RAG管道中,该代理可以进一步专门用于能源部门、航空航天或任何需要定制CFD解决方案的子领域。尽管如此,一定程度的人为监督对于确保正确性和适应不断变化的环境仍然至关重要。此外,随着时间的推移,模型性能的波动提醒用户必须仔细监控关键任务或高精度应用程序的这一变化(没有官方提醒)更新。    
展望未来,硬件的持续增强和新强大模型的频繁发布可能会降低代币成本,并进一步增强基础模型的推理能力。虽然我们的案例研究集中在OpenFOAM上,但这种方法的适应性为将基于LLM的代理集成到广泛的求解器和代码中铺平了道路。通过减少高保真模拟的障碍,我们的框架有望加速基础研究和工业工程过程的创新。     


来源:多相流在线
OpenFOAM碰撞非线性多相流动网格湍流形状优化通用航空航天MATLAB岩土UMLMS材料机器人人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-12
最近编辑:6小时前
积鼎科技
联系我们13162025768
获赞 179粉丝 133文章 358课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈