资讯动态

ITHACA‑FV, OpenFOAM降阶建模(ROM) 工具库

发布时间:2026/10/14 8:38:33 来源:尧图企业网站定制
文章目录ITHACA‑FV 项目介绍与使用详情一、项目简介第三方内置依赖git子模块自带无需额外安装二、核心功能特性三、编译安装步骤前置条件四、典型工作流完整使用流程阶段1离线阶段成本高只做一次阶段2在线阶段极快大量调用五、代码调用两种模式模式A直接使用项目提供的可执行程序模式BC二次开发在自己的OpenFOAM程序链接ITHACA‑FV库六、重要限制与注意事项七、学习资源八、引用ITHACA‑FV 项目介绍与使用详情GitHub地址全称In real Time Highly Advanced Computational Applications for Finite Volumes面向OpenFOAM的开源降阶模型ROMModel Order ReductionC库由mathLab课题组开发维护。一、项目简介ITHACA‑FV是构建于OpenFOAM有限体积求解器之上的降阶建模工具库核心目标把高保真CFD全阶模型FOM通过降阶方法构建代理模型大幅降低参数化CFD、瞬态流体仿真的计算开销用于参数扫描、实时预测、数字孪生等场景。传统OpenFOAM直接做多参数算例每个参数都要跑完整CFDITHACA‑FV分为离线阶段运行若干全阶CFD采集流场快照构建降阶基和在线阶段使用小维度降阶模型快速预测新参数下场不再跑完整CFD。适配官方主要面向 openfoam.com 商业发行版v2106/v2212/v2306/v2412也可手动适配OpenFOAM Foundation社区版支持Ubuntu、CentOS、Arch等Linux系统。第三方内置依赖git子模块自带无需额外安装Eigen稠密线性代数矩阵运算Spectra特征值分解POD本征计算OptimLib数值优化求解二、核心功能特性侵入式降阶 POD‑Galerkin正交分解Galerkin投影直接操作OpenFOAM离散矩阵算子discretize‑then‑project策略支持稳态、瞬态流体非侵入式降阶 POD‑IPOD基 径向基函数RBF插值不需要访问底层离散矩阵DEIM离散经验插值法处理非线性项、非仿射源项缓解Galerkin降阶后非线性项依旧昂贵的问题支持用户自定义参数空间参数可以是边界条件、物性、几何相关输出降阶基、快照、降阶系统矩阵可导出结果用于外部后处理也可对接网页端rom.js做浏览器端实时仿真自带大量tutorial算例方腔驱动流、圆柱绕流、热对流等标准CFD测试案例。适用场景参数化流体仿真、快速响应评估、数字孪生代理模型主要针对层流湍流降阶需要额外数据驱动闭合模型。三、编译安装步骤前置条件已经编译好对应版本OpenFOAM终端先source OpenFOAM环境gitwmake编译环境。# 1.加载OpenFOAM环境示例v2412换成你的版本source$HOME/OpenFOAM/OpenFOAM‑v2412/etc/bashrc# 2.克隆仓库并拉取子模块Eigen/Spectra/OptimLibgitclone--depth1[https://github.com/ITHACA](https://github.com/ITHACA)‑FV/ITHACA‑FV.gitcdITHACA‑FVgitsubmodule update--init# 3.加载ITHACA‑FV自身环境sourceetc/bashrc# 4.编译## 默认仅编译核心库不编译算例、单元测试./Allwmake## 如果需要编译tutorials、unitTest加参数# ./Allwmake -h 查看帮助# ./Allwmake -a 编译全部库应用单元测试tutorials编译完成后每次新开终端需要同时source OpenFOAM和ITHACA‑FV/etc/bashrc才能调用库与工具程序。四、典型工作流完整使用流程ITHACA‑FV标准流程分为离线Offline和在线Online两大阶段所有算例参考tutorials文件夹。阶段1离线阶段成本高只做一次在OpenFOAM设置一组采样参数运行若干全阶CFD仿真FOM输出各个时刻/各个参数下的流场快照snapshot速度、压力、温度场使用ITHACA‑FV读取快照集合执行POD分解计算降阶基向量若使用侵入式POD‑Galerkin投影OpenFOAM离散算子到POD子空间生成降阶系统若存在非线性项启用DEIM将POD基、DEIM索引、降阶矩阵保存到磁盘文件。离线本质花钱跑若干高精度CFD学习参数‑流场之间的映射。阶段2在线阶段极快大量调用输入从未采样过的新参数加载离线生成的POD基与降阶系统求解小规模降阶方程组直接得到降阶系数用系数 × POD基重构全场物理量输出场文件可以用paraFoam后处理查看流场。⚠️ 在线阶段不再调用完整OpenFOAM压力速度耦合求解器求解规模从百万网格自由度降到几十/几百维。五、代码调用两种模式模式A直接使用项目提供的可执行程序编译完成后tutorial中提供现成应用修改算例字典文件ITHACAproperties配置POD参数、快照路径、DEIM开关直接运行适合快速上手测试。模式BC二次开发在自己的OpenFOAM程序链接ITHACA‑FV库在Make/options添加ITHACA‑FV头文件与库链接调用ITHACAutilities、pod、galerkin、deim等类嵌入自己求解器实现自定义降阶流程。六、重要限制与注意事项版本匹配风险OpenFOAM大版本改动会导致编译报错官方优先维护openfoam.comFoundation版经常需要修改少量源码适配快照质量决定ROM精度参数采样策略、快照数量直接影响在线预测精度参数外推能力弱适合参数插值区间内预测湍流RANS模拟原生库缺少湍流模型降阶闭合通常需要额外数据驱动模型修正不能直接拿来工业湍流算例就期望高精度侵入式POD‑Galerkin需要访问OpenFOAM内部矩阵部分边界条件处理较为繁琐非侵入POD‑I通用性更强但精度依赖插值算法。七、学习资源GitHub仓库tutorials目录从最简单lid‑driven cavity入手跑通离线‑在线完整流程Wikihttps://github.com/ITHACA‑FV/ITHACA‑FV/wiki配套论文仓库README给出引用文献rom.jsITHACA‑FV生成的ROM模型可移植到JavaScript浏览器端做实时可视化数字孪生演示。八、引用使用该库发表论文按仓库README给出bibtex引用mathLab团队对应的ITHACA‑FV原始论文。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑