csml-rpi/Foam-Agent
Foam-Agent: A large language model-based multi-agent framework for automating computational fluid dynamics workflows. Published in Computer Methods in Applied Mechanics and Engineering (CMAME).
Foam-Agent:使用 AI 代理自动化 CFD 模拟
Foam-Agent 是一个框架,可自动化使用开源软件 OpenFOAM 运行 CFD(计算流体动力学)模拟的整个工作流程。它接受您想要模拟的简单描述(用普通英语)或现有模拟案例,然后处理所有事情:创建网格、设置模拟文件、运行模拟、自动修复错误,甚至可视化结果。
它做什么?
- 端到端自动化:从自然语言提示(例如,“模拟这些条件下的通道流动”)或现有案例文件夹开始,Foam-Agent 规划模拟,生成所有必要的 OpenFOAM 配置文件,在本地或高性能计算(HPC)集群上运行模拟,并可选择创建可视化。
- 多代理系统:它使用多个 AI 代理(架构师、输入编写器、运行器、审查器),它们通过管道协同工作。审查器检测错误,输入编写器修复错误,最多可进行 25 次自动修正尝试。
- RAG 增强生成:它使用从 OpenFOAM 教程构建的检索系统(FAISS)来查找相关示例并生成准确的配置文件。
- 可组合服务:核心功能作为 MCP(模型上下文协议)工具公开,允许与 Claude Code、Cursor 和 Windsurf 等 AI 助手集成。
它是如何工作的?
- 输入:您提供描述模拟的文本提示或现有的 OpenFOAM 案例目录/ZIP 文件。
- 规划:架构师代理分析需求并决定需要哪些步骤(网格划分、文件生成等)。
- 生成:输入编写器创建 OpenFOAM 文件,使用 RAG 从教程数据库中提取相关示例。
- 执行:运行器运行模拟(本地或通过 Slurm 在 HPC 上)。
- 审查与修复:审查器检查错误。如果发现任何错误,输入编写器重写必要的文件并重新运行模拟。此循环持续到成功或达到重试限制。
- 可视化(可选):如果请求,PyVista 生成视觉输出。
快速开始
使用 Docker(推荐)
拉取预构建的 Docker 镜像(包括 OpenFOAM v10 和所有依赖项):
docker run -it \
-e FOAMAGENT_MODEL_PROVIDER=openai \
-e FOAMAGENT_MODEL_VERSION=gpt-5-mini \
-e OPENAI_API_KEY=your-key-here \
-p 7860:7860 \
--name foamagent \
leoyue123/foamagent
然后在容器内将您的模拟描述写入名为 user_requirement.txt 的文件中,并运行:
python foambench_main.py --output ./output --prompt_path ./user_requirement.txt
运行现有案例
您也可以给 Foam-Agent 一个现有的 OpenFOAM 案例目录或 ZIP 文件。它将保留原始文件,创建工作副本,并运行它(或根据提示修改它)。示例:
python foambench_main.py --output ./output/imported-dam-break --case_path /path/to/damBreak
配置
Foam-Agent 可通过环境变量高度配置。关键设置包括:
- LLM 提供商:选择 OpenAI、Anthropic、Bedrock、Ollama、DeepSeek 等(默认:
openai-codex)。 - 模型:指定要使用的模型(例如,
gpt-5-mini、claude-sonnet-4-6)。 - 嵌入提供商/模型:用于 RAG,默认为 HuggingFace 和
Qwen/Qwen3-Embedding-0.6B(本地运行,无需 API 密钥)。 - OpenFOAM 目标:选择 Foundation v10(默认)和 ESI/OpenCFD v2006。
报告的基准测试结果
该项目报告了 FoamBench 基准测试(110 个模拟任务)的结果。使用 Claude Opus 4.6 和 25 个修复循环,它在基本和高级任务上都实现了 100% 的成功率。然而,这些是基准测试结果,不是任意案例的保证。其他模型得分较低(参见 README 表格)。
高级功能
- 自定义网格:支持外部 Gmsh
.msh文件。 - MCP 集成:公开
plan、input_writer、run、review、apply_fixes、run_case和visualization等工具,供 AI 助手使用。 - Claude Code 技能:一个
/foam技能,可通过单个命令编排完整管道。 - HPC 执行:可以提交作业到 Slurm 集群,但监控有限(它将空的
squeue视为已完成)。 - Docker 构建:您可以从源代码构建镜像。
重要注意事项
- README 明确说明 100% 的成功率是基准测试结果,不是保证。
- 错误修正限制为 25 次迭代;如果没有进展,工作流失败并保留上次尝试的文件。
- 如果可视化在成功模拟后失败,工作流报告
partial_success。 - 导入现有案例有特定规则(例如,无符号链接,无命令白名单)。
有关更详细的介绍,请访问 deepwiki.com/csml-rpi/Foam-Agent。
本说明仅基于项目的 README。
相关
- 项目
- 项目
- 项目
- 项目
- 项目