OpenFOAM(英文 Open Source Field Operation and Manipulation 的缩写,意为开源的场运算和处理软件)是对连续介质力学问题进行数值计算的C++自由软件工具包,其代码遵守GNU通用公共许可证。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。该软件由OpenFOAM基金会维护(商标OpenFOAM的拥有者硅谷图形公司(SGI)赞助)。
OpenFOAM的早期开发始于1980年代末期的伦敦帝国学院,其目标是为了编写一个相对于当时事实上的标准,FORTRAN,更为强大和灵活的通用模拟计算平台。并且因此选择了拥有高度模块化和面向对象特性的C++作为其编程语言。在2004年OpenFOAM以开源方式发布之前,英国Nabla有限公司曾销售过FOAM,OpenFOAM的前身。2011年8月15日,OpenCFD宣布它被硅谷图形公司(SGI)收购。
OpenFOAM是最早的用C++写成的重要科学计算软件包之一。现已成为使用多面体网格的最主要的通用计算流体力学(CFD)软件.
OpenFOAM一个非常有特色的地方是它描述张量和偏微分方程的语法与被求解的方程本身非常相似,事实上便捷地在程序中表达传统的数学记号正是其语法设计的目标。例如方程
对应的OpenFOAM代码是
solve( fvm::ddt(rho,U) + fvm::div(phi,U) - fvm::laplacian(mu,U) == - fvc::grad(p));