OPENFOAM FOUNDATION V13 · 开源 SKILL 库

EasyFoam

Skill-Oriented OpenFOAM Agents
with Evidence-Driven Evolution

Peng Yin1*   Zhiwei Chen2,1*   Tianyi Liu3
Chen Li3   Kai Li1†   Jian Cheng1†
¹ 中国科学院自动化研究所
² 南京大学   ³ 空气动力学国家重点实验室

* 共同第一作者   † 共同通讯作者

复用 CFD 知识,以可检查的工作流支撑有证据的判断。

EasyFoam 将 OpenFOAM 专业知识组织为模块化 Skill、Reference、Schema 与确定性工具。具备文件和命令执行能力的编程智能体可以据此规划、构建、运行、评估和修复 CFD 工作流。

运行完成,还需要证据支持

仿真成功结束,并不意味着满足数值或物理要求。配套论文研究这种“可执行性与可接受性之间的差距”,并探索如何让 CFD 知识跨智能体实现复用与改进。

01

执行完成

规定的工作流是否成功完成?

02

数值合理性

解是否满足任务要求的数值检查?

03

QoI 满足度

关注量是否满足任务的验收标准?

任务通过需要三个维度同时通过。缺少证据不能判定为通过。

双循环,共享证据链

任务内,结构化证据指导构建与定向修复;任务间,经验可转化为可复用的 Skill 修订。

论文框架:Plan、Write、Run 与 Postprocess 由执行、数值和 QoI 证据评估;Root–Stage–Specialist 架构连接候选提案、配对评估和带回归惩罚的选择。
研究框架(论文图 2):证据驱动的工作流构建与修复、分层 Skill 架构,以及通过配对评估完成的跨任务进化。 论文 ↗

从研究框架到可使用的库

发布库架构:工作流生成结构化记录,可复用的库变更由明确的人工审核控制。
发布库架构:工作流生成结构化记录,可复用的库变更由明确的人工审核控制。

任务内工作流

Plan → Write → Run → Postprocess

CaseSpec 明确任务要求。修复从最早受影响的阶段重新开始,并使依赖它的完成声明失效,同时保留历史运行记录。

任务间进化

Experience → Candidate → Validation → Human decision

论文研究通过配对评估选择候选更新。发布库提供人工审核、可回退的更新流程:应用、保留与回滚变更均需要明确的人工指令。

论文中的结果摘要

论文中的四个系统使用相同的 DeepSeek-V4-Flash 主干与 OpenFOAM Foundation v13。表 1 对应跨任务进化前、人工编写的初始 EasyFoam Skills。任务通过率(TAR)要求三个评估维度同时通过。

超越教程级参数变化的评估

在 Hugging Face 下载 ExtFoamBench ↗:100 个任务、7 个几何资产,以及逐任务评价指标与接受准则。离线参考数据和评价工具作为配套资源提供。

FoamBench Basic 包含 110 个任务,Advanced 包含 16 个任务;ExtFoamBench 包含十类物理问题、五个变化轴,共 100 个任务。
基准设计(论文图 1):ExtFoamBench 配对任务要求与参考算例,覆盖十类问题,并沿运行条件、几何、物理模型、数值设置和研究工作流五个轴构造变化。 论文 ↗
论文中的结果摘要
评估集合系统执行完成率任务通过率
FoamBench · 126MetaOpenFOAM 2.028.6%4.8%
Foam-Agent59.5%4.0%
ChatCFD34.9%16.7%
EasyFoam97.6%41.3%
ExtFoamBench · 100MetaOpenFOAM 2.08.0%0.0%
Foam-Agent27.0%0.0%
ChatCFD13.0%0.0%
EasyFoam72.0%6.0%

来源:论文 PDF 第 6 页,表 1。这些数据对应论文中的实验系统,并非本库的性能保证。ExtFoamBench 包含十类物理问题、五个变化轴,共 100 个任务。 论文 ↗

发布库提供什么?

Workflow

规划、编写、运行、诊断、验证和后处理 CFD 算例。可恢复的状态与不可变运行记录保留完整证据链。

Evolution

记录有依据的经验,提出冻结补丁,完成验证后请求人工决策。变更可以延期、拒绝或回滚。

Reference & tools

只读的 OpenFOAM 与 CFD 知识、七类产物 Schema,以及用于解析、验证、执行和状态管理的确定性 Python 脚本。

开始使用 EasyFoam

需要 Python 3.11 或 3.12、OpenFOAM Foundation v13、Git,以及能够操作文件和执行命令的编程智能体。Windows 通过 WSL 执行 OpenFOAM;Linux 和 WSL 支持原生执行。

01克隆与安装
git clone https://github.com/CAS-CLab/EasyFoam.git
cd EasyFoam
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
02检查 OpenFOAM 环境
export EASYFOAM_OPENFOAM_BASHRC=/opt/openfoam13/etc/bashrc
export EASYFOAM_EXEC_BACKEND=auto
python skills/_shared/scripts/openfoam_env.py discover

将 bashrc 路径改为实际 OpenFOAM 安装路径。Windows 下应填写 WSL 内可见的路径。

03向智能体提出任务
Agent prompt
从本仓库根目录加载 skills/SKILL.md,使用 EasyFoam Skills
完成以下 OpenFOAM v13 任务。

CFD 任务:
<你的仿真要求>

固定运行目录:
<你的运行目录>

根 Skill 负责路由任务。关键输入缺失时,先澄清需求,再放行算例编写。

阅读完整安装与使用说明 →

配套论文

EasyFoam: Skill-Oriented OpenFOAM Agents with Evidence-Driven Evolution 介绍了本 Skill 库背后的研究框架,包括证据驱动的工作流修复与跨任务 Skill 进化。基准设计、评估协议与完整实验见论文。

论文 ↗