面向 OpenFOAM 的端到端多智能体框架,通过自然语言自动化 CFD 仿真全流程,涵盖网格生成、配置编写、仿真执行、错误自愈与可视化。
Foam-Agent 是由 RPI CSML 实验室开发的面向 OpenFOAM 的端到端可组合多智能体框架。它通过自然语言提示自动化 CFD 仿真的完整工作流,涵盖网格生成、配置文件编写、仿真执行、错误自动修正以及后处理可视化。
核心能力#
- 端到端仿真自动化:从自然语言描述生成完整 OpenFOAM 仿真案例(
system/、constant/、0/目录下全部配置文件),支持外部 Gmsh.msh网格文件导入,自动生成 HPC 作业脚本并提交,通过 PyVista 自动生成可视化结果。 - 多智能体协作与自愈:基于 LangGraph 管道协调 Architect(架构规划)、Input Writer(配置生成)、Runner(仿真执行)、Reviewer(错误审查)四个角色,仿真失败时自动分析错误日志并修正配置,最多支持 25 次迭代自愈。
- RAG 增强生成:基于 OpenFOAM 官方教程构建分层 FAISS 向量索引,提供上下文感知检索,确保配置文件生成准确性。
- MCP 可组合服务:核心功能以 MCP(Model Context Protocol)工具暴露(
plan、input_writer、run、review、apply_fixes、visualization),支持 stdio 和 HTTP 传输,可嵌入 Claude Code、Cursor、Windsurf 等 AI IDE。仓库内置/foamClaude Code Skill,一键触发完整工作流。 - 多后端支持:LLM 后端支持 OpenAI、Anthropic、AWS Bedrock、Ollama、OpenAI Codex;Embedding 后端支持 OpenAI、HuggingFace、Ollama,默认本地运行
Qwen/Qwen3-Embedding-0.6B无需 API Key。 - 灵活生成模式:
sequential_dependency(按依赖顺序生成,文件间有交叉上下文,适用于 HPC)和parallel_no_context(并行生成,适用于快速本地运行)。
能力边界#
- 仿真引擎限定 Foundation OpenFOAM v10(openfoam.org),不支持 ESI OpenFOAM(openfoam.com)
- 不适用于其他 CFD 求解器(如 Fluent、SU2)
- 平台限定 Linux
评测表现#
在 FoamBench 的 110 个仿真任务上,搭配 Claude Opus 4.6(v2.0.0)达到 100% 成功率,论文报告无干预成功率为 88.2%。
安装部署#
Docker 方式(推荐):
docker run -it -e OPENAI_API_KEY=your-key-here -p 7860:7860 --name foamagent leoyue123/foamagent
容器预装 OpenFOAM v10、Conda 及全部依赖。
手动安装:
git clone https://github.com/csml-rpi/Foam-Agent.git
cd Foam-Agent
conda env create -n FoamAgent -f environment.yml
conda activate FoamAgent
# 需额外安装 Foundation OpenFOAM v10(openfoam.org)
关键配置#
| 环境变量 | 用途 | 可选值 |
|---|---|---|
FOAMAGENT_MODEL_PROVIDER | LLM 后端 | openai, openai-codex, anthropic, bedrock, ollama |
FOAMAGENT_MODEL_VERSION | 模型标识 | 如 gpt-5-mini, claude-opus-4-6 |
FOAMAGENT_EMBEDDING_PROVIDER | Embedding 后端 | openai, huggingface, ollama |
FOAMAGENT_EMBEDDING_MODEL | Embedding 模型 | 默认 Qwen/Qwen3-Embedding-0.6B |
待确认事项#
- Docker Hub 镜像
leoyue123/foamagent未直接验证可拉取性 - FoamBench 基准(arXiv:2509.20374)的独立代码仓库地址未确认
app.py具体功能未在 README 中详细说明(推测为 Web UI,Docker 映射 7860 端口)- v2.1.0 相对 v2.0.0 的增量变更未明确
学术成果发表于 NeurIPS 2025 Machine Learning and the Physical Sciences Workshop。