在工程设计与计算流体力学领域,形状优化一直是极具挑战性的核心任务。设计人员需要在不断修改几何外形的同时,通过流体仿真来评估设计性能,这一过程往往涉及 CAD 建模与 CFD 分析两套独立工具链的反复切换与手动文件传递,效率低下且极易出错。与此同时,高昂的商业软件授权费用也使得许多研究机构望而却步。面对这些痛点,来自范德堡大学的研究团队开发了Anvil :一个完全开源、高度自动化的集成工具,将 CAD 建模、CFD 仿真与人工智能优化算法融于一体。

Anvil的核心技术架构建立在两大成熟开源工具之上:FreeCAD 负责参数化 CAD 建模,OpenFOAM 负责 CFD 仿真分析。为了解决 CAD 与 CFD 之间的“鸿沟”,Anvil通过标准化接口实现了两者的无缝衔接。用户只需提供一个参数化的 CAD 种子设计文件和一个 JSON 格式的配置文件,Anvil 便能自动完成从几何修改、STL 文件生成到网格划分、CFD 求解的全流程。其中,参数化 CAD 设计采用 FreeCAD 的 Spreadsheet 功能来定义所有可变参数,使得 Python 脚本可以统一访问和修改设计变量,无需深入理解具体草图的结构。
在流体仿真方面,Anvil采用雷诺平均 Navier-Stokes 方程(RANS)结合 k-ω SST 湍流模型,适用于不可压缩、等温的牛顿流体在亚音速条件下的流动分析。网格生成借助 OpenFOAM 的 blockMesh 和 snappyHexMesh 工具完成,并配备了自动网格尺寸调整功能,能够根据日志错误信息自动优化网格质量,显著降低了用户的操作门槛
Anvil的创新体现在提供的三种计算模式:
(1)CFD 模式允许用户对单个 STL 文件进行快速仿真评估,无需深入了解 OpenFOAM 的复杂配置。
(2)数据生成模式则能够在给定的设计空间内,按照均匀随机采样、拉丁超立方采样等策略自动批量运行 CFD 仿真,生成用于训练代理模型的数据集。
(3)优化模式则集成了贝叶斯优化算法——这是一种在评估代价高昂的场景下极具样本效率的全局优化方法。贝叶斯优化通过高斯过程构建代理模型,并采用比如 Lower Confidence Bound(LCB)采集函数来指导下一次采样的位置,从而在有限的仿真预算内逼近最优设计。
项目中展示了Anvil在多个工程场景中的应用成效。包括无人水下航行器(UUV)优化、陆地车辆、无人机等产品的 CFD 仿真,提供了包括速度场和压力场的可视化分析。


当然,Anvil也存在一定的局限性。目前该工具仅适用于亚音速流动条件(马赫数低于 1),尚未支持跨音速和超音速场景。此外,尽管具备自动网格调整能力,Anvil并未内置网格收敛性测试功能;受限于贝叶斯优化算法在高维空间中的扩展性,当前优化问题的维度上限约为 20 维。
目前,项目已在 GitHub 上完全开源(https://github.com/symbench/Anvil),并提供了详细的安装文档、示例工件和实验案例,感兴趣的可以关注。