文章目录
- ITHACA‑FV 项目介绍与使用详情
-
- 一、项目简介
-
- 第三方内置依赖(git子模块自带,无需额外安装)
- 二、核心功能特性
- 三、编译安装步骤
-
- 前置条件
- 四、典型工作流(完整使用流程)
-
- 阶段1:离线阶段(成本高,只做一次)
- 阶段2:在线阶段(极快,大量调用)
- 五、代码调用两种模式
-
- 模式A:直接使用项目提供的可执行程序
- 模式B:C++二次开发,在自己的OpenFOAM程序链接ITHACA‑FV库
- 六、重要限制与注意事项
- 七、学习资源
- 八、引用
ITHACA‑FV 项目介绍与使用详情
GitHub地址:https://github.com/ITHACA‑FV/ITHACA‑FV 全称:In real Time Highly Advanced Computational Applications for Finite Volumes,面向OpenFOAM的开源降阶模型(ROM,Model Order Reduction)C++库,由mathLab课题组开发维护。
一、项目简介
ITHACA‑FV是构建于OpenFOAM有限体积求解器之上的降阶建模工具库,核心目标:把高保真CFD全阶模型(FOM),通过降阶方法构建代理模型,大幅降低参数化CFD、瞬态流体仿真的计算开销,用于参数扫描、实时预测、数字孪生等场景。
传统OpenFOAM直接做多参数算例,每个参数都要跑完整CFD;ITHACA‑FV分为离线阶段(运行若干全阶CFD,采集流场快照,构建降阶基)和在线阶段(使用小维度降阶模型快速预测新参数下场,不再跑完整CFD)。
适配:官方主要面向 openfoam.com 商业发行版(v2106/v2212/v2306/v2412),也可手动适配OpenFOAM Foundation社区版;支持Ubuntu、CentOS、Arch等Linux系统。
第三方内置依赖(git子模块自带,无需额外安装)
二、核心功能特性
适用场景:参数化流体仿真、快速响应评估、数字孪生代理模型;主要针对层流,湍流降阶需要额外数据驱动闭合模型。
三、编译安装步骤
前置条件
# 1.加载OpenFOAM环境(示例v2412,换成你的版本)
source $HOME/OpenFOAM/OpenFOAM‑v2412/etc/bashrc
# 2.克隆仓库并拉取子模块(Eigen/Spectra/OptimLib)
git clone –depth 1 [https://github.com/ITHACA](https://github.com/ITHACA)‑FV/ITHACA‑FV.git
cd ITHACA‑FV
git submodule update –init
# 3.加载ITHACA‑FV自身环境
source etc/bashrc
# 4.编译
## 默认仅编译核心库(不编译算例、单元测试)
./Allwmake
## 如果需要编译tutorials、unitTest,加参数
# ./Allwmake -h 查看帮助
# ./Allwmake -a 编译全部:库+应用+单元测试+tutorials
编译完成后,每次新开终端,需要同时source OpenFOAM和ITHACA‑FV/etc/bashrc才能调用库与工具程序。
四、典型工作流(完整使用流程)
ITHACA‑FV标准流程分为离线(Offline) 和在线(Online) 两大阶段,所有算例参考tutorials文件夹。
阶段1:离线阶段(成本高,只做一次)
离线本质:花钱跑若干高精度CFD,学习参数‑流场之间的映射。
阶段2:在线阶段(极快,大量调用)
⚠️ 在线阶段不再调用完整OpenFOAM压力速度耦合求解器,求解规模从百万网格自由度降到几十/几百维。
五、代码调用两种模式
模式A:直接使用项目提供的可执行程序
编译完成后,tutorial中提供现成应用,修改算例字典文件ITHACAproperties配置POD参数、快照路径、DEIM开关,直接运行,适合快速上手测试。
模式B:C++二次开发,在自己的OpenFOAM程序链接ITHACA‑FV库
在Make/options添加ITHACA‑FV头文件与库链接,调用ITHACAutilities、pod、galerkin、deim等类,嵌入自己求解器实现自定义降阶流程。
六、重要限制与注意事项
七、学习资源
八、引用
使用该库发表论文,按仓库README给出bibtex引用mathLab团队对应的ITHACA‑FV原始论文。
网硕互联帮助中心





评论前必须登录!
注册