在arxiv上发现了一篇很有意思的论文,论文名字叫《OpenFOAMGPT: a RAG-Augmented LLM Agent for OpenFOAM-Based Computational Fluid Dynamics》,doi地址:https://doi.org/10.48550/arXiv.2501.06327。
论文来自英国埃克塞特大学和德国斯图加特大学的初旭课题组。摘要翻译过来是这样式儿的:
本研究提出了一种基于大型语言模型(LLM)的智能体 OpenFOAMGPT,专门针对以 OpenFOAM 为核心的计算流体力学(CFD)仿真任务。该智能体利用了来自 OpenAI 的两个基础模型:GPT-4o 和一个启用了链式思维(chain-of-thought, CoT)功能的 o1 preview模型。两种智能体在多项任务中均表现出色。尽管 o1 模型的 token 价格是 GPT-4o 的六倍,但在处理复杂任务时,o1 模型始终展现出卓越的性能,从零样本案例设置到边界条件修改、湍流模型调整以及代码翻译等任务都游刃有余。通过迭代修正循环,该智能体高效解决了单相与多相流、热传递、RANS、LES 以及其他工程场景中的问题,通常能够在有限的迭代次数内收敛,且 token 消耗成本较低。为嵌入领域特定知识,采用了检索增强生成(retrieval-augmented generation, RAG)流水线,展示了如何利用预先存在的仿真设置进一步将智能体专用于能源和航空航天等子领域。尽管该智能体表现出色,但人为监督对于确保准确性以及适应不断变化的环境仍然至关重要。模型性能随时间波动的现象表明,在关键任务应用中需要持续监控。虽然本文的演示聚焦于 OpenFOAM,但这一框架的灵活性为进一步开发适用于各种求解器和代码的 LLM 驱动智能体提供了可能。通过简化 CFD 仿真流程,这种方法有望加速基础研究与工业工程的进步。
”
简单看了一下,大致意思就是利用大语言模型辅助编写OpenFOAM的case文件。操作流程如下图所示。
个人觉得OpenFOAM应用有两个很费劲的事情:
这两个问题纠结在一起,导致开发GUI都是个麻烦事儿。你今天把一些关键字放到下拉框让用户选择,结果下一个版本这关键字没了,导致软件在使用的时候出错。换句话说,GUI与关键字耦合得太紧密了。
不过利用大语言模型倒是可以做一些事情,把OpenFOAM文档以及源代码制作成知识库,让AI读懂代码及文档,在用户编写case文件的时候给出提示,或者用户提出仿真需求,AI自动生成case文件。当然前提是保证生成的文档是准确且可靠的。
这或许是一个比较靠谱的LLM与OpenFOAM结合的方案。