OpenFOAM 的程序开发初步 OpenFOAM 的 程 序 开 发 初 步 一 .OpenFOAM 应 用 的 类 型 : 使 用 OpenFOAM 进 行 CAE 模 拟 的 , 大 致 可 分 为 三 种 类 型 : 1)直 接 利 用 OpenFOAM 的 标 准 的 求 解 器 进 行 模 拟 ,把 OpenFOAM 替 代 商 业 软 件 来 使 用 ,OpenFOAM 已 基 本 具 有 这 样 的 功 能 和 人 气 , 与 Fuent, Star-CD 等 相 比 较 , OpenFOAM显 然 具 有 更 高 的 求 解 效 率 和 灵 活 性 。 2)用 户 自 定 义 求 解 器 , 即 利 用 OpenFOAM 的 基 本 类 库 , 如 finiteVolume, OpenFOAM 库来 按 照 自 己 的 求 解 流 程 来 编 写 针 对 某 类 应 用 的 求 解 器 。 用 户 需 要 开 发 的 求 解 器 就 是 类 似 于在 OpenFOAM 的 applications 中 所 看 到 的 标 准 求 解 器 icoFOAM, simpleFOAM 等 。 显然 这 一 需 求 是 非 常 大 的 , 从OpenFOAM 问 世 以 来 , 已 有 很 多 用 户 定 义 了 自 己 的 求 解 器 。这 类 需 求 的 特 点 是 , 并 不 需 要 特 别 关 心 , 离 散 和 求 解 的 最 底 层 的 知 识 , 如 时 间 项 离 散 , 空间 项 离 散 等 ,关 注 的 重 点 是 求 解 的 步 骤 或 者 流 程 。在 编 程 中 ,通 常 是 顶 层 的 求 解 流 程 的 开 发 ,在 多 数 情 况 下 可 以 不 编 译OpenFOAM 的 finiteVolume 和OpenFOAM 库 。 这 种 顶 层 的求 解 器 的 开 发 , 是 我 们 以 前 常 常 忽 略 的 , 或 者 是 以 前 没 有 能 力 做 到 的 。 需 要 指 出 的 是 , 商 业软 件 中 的 所 谓 udf, user subroutine 和 这 是 不 可 相 比 的 。 3)用 户 自 己 定 义 离 散 方 法 等 。对 于 研 究 离 散 格 式 、代 数 求 解 器 等 人 来 说 ,更 关 注 时 间 项 ddt,扩 散 项 Laplacian, 对 流 项 div 是 如 何 离 散 的 , 能 否 有 更 高 效 更 高 精 度 的 离 散 方 法 , 这 需 要修 改finiteVolume 库 和 OpenFO...