# IGG-THMC **Repository Path**: geomech/thmc ## Basic Information - **Project Name**: IGG-THMC - **Description**: IGG-Hydrate: 天然气水合物成藏/开发计算模块。用于:1、天然气水合物成藏/开发/碳封存; 2、页岩油原位转化;3、其它流动/传热/化学/变形(THMC)耦合问题. - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/geomech/hydrate - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2026-07-31 - **Last Updated**: 2026-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 简介 [**IGG-Hydrate**](https://gitee.com/geomech/hydrate): 储层多场耦合计算模块。 用于: 1、天然气水合物[成藏](https://doi.org/10.3390/w16192822)/[开发](https://doi.org/10.1016/j.apenergy.2024.122963)/[碳封存](https://doi.org/10.1016/j.fuel.2025.137599); 2、页岩油[原位转化](https://doi.org/10.1016/j.petsci.2024.05.025); 3、储层内的其他流动/传热/化学/变形(THMC)耦合问题. ### 作者 [张召彬](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/201703/t20170306_4755492.html) 1,2,x, [李守定](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/201412/t20141218_4278784.html) 1,2, [李晓](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/200907/t20090713_2065538.html)1,2, 徐涛 1,2, 李宇轩1,2, Maryelin Josefina Briceño Montilla1,2, 谢卓然1,2, 李晓旗1,2, 张韬1,2 1[中国科学院地质与地球物理研究所](https://igg.cas.cn/)(北京, 100029); 2[中国科学院大学](https://www.ucas.ac.cn/)(北京, 101408). x 联系人: [张召彬](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/201703/t20170306_4755492.html), 邮箱: [zhangzhaobin@mail.iggcas.ac.cn](mailto:zhangzhaobin@mail.iggcas.ac.cn); 或添加[微信](https://gitee.com/geomech/hydrate/issues/ID5HZX). ### 功能/特点 首先,[IGG-Hydrate](https://gitee.com/geomech/hydrate)是一个支持编程,进而实现复杂耦合功能的开放的计算模块: 1. 支持同时设置任意 多种流体相态和组分。无论是单相流、两相流,还是复杂的多相多组分流动,均采用相同的配置方法,从而方便适配各种复杂的流动体系。支持: 水/蒸气/水冰,CH4/CH4水合物,CO2/CO2水合物,盐度/砂,油/重油/干酪根,或其他 自定义相态/组分; 2. 采用广义化学反应框架。假设任一化学反应的速率,都是温度、压力及相关组分浓度的函数;只需要给定相关函数或者插值数据,即可对化学反应进行建模。支持:水的蒸发/结冰/融化; CH4水合物形成/分解; CO2水合物形成/分解; 干酪根/重油裂解,或其他自定义反应; 3. 热传导/对流。自动计算岩土骨架的传热,以及依托多相多组分体系,自动计算所有加入流动体系的相态和组分的对流换热效应; 4. 采用动力学体系,计算储层力学问题,兼容应力/应变/振动等静力学和动力学过程(目前,此部分功能还在优化中); 5. 基于指针(依托比如numpy等),处理各个功能模块之间的数据交换,从而实现以上过程的高效耦合。 其次,[IGG-Hydrate](https://gitee.com/geomech/hydrate)也是一个面向不同应用场景的计算软件: 在水合物、页岩油、碳封存等领域,多个不同的场景,都有案例可以直接运行,学习成本不高。更多的应用场景在开发中,也欢迎( 并感谢)[联系作者](https://gitee.com/geomech/hydrate/issues/ID5HZX) 或者[新建Issue](https://gitee.com/geomech/hydrate/issues/new)来提出软件应用场景需求。 ### 反馈 技术问题(bug反馈/建模咨询等)请[新建Issue](https://gitee.com/geomech/hydrate/issues/new) ,其他问题请[联系作者](https://gitee.com/geomech/hydrate/issues/ID5HZX). > 注: 在[新建Issue](https://gitee.com/geomech/hydrate/issues/new) > 之前,建议浏览[已有的Issues](https://gitee.com/geomech/hydrate/issues). ### 安装 1. 确保操作系统为Windows 10/11, x64; Linux 系统参考 [issues/IJWXWF](https://gitee.com/geomech/hydrate/issues/IJWXWF); 2. 安装[Python](https://www.python.org/) (64位, 3.8+, 推荐3.12+) 并安装 `PyQt6, pyqt6-qscintilla, PyQt6-WebEngine, numpy, scipy, matplotlib`等Python包; 3. 安装[git](https://git-scm.com/)并确保`git`命令可用; 4. 使用[git](https://git-scm.com/)来拉取代码 (首次安装:`git clone https://gitee.com/geomech/hydrate.git`; 后续更新: `git pull`); 5. 将`hydrate`文件夹添加到Python搜索路径; 6. 运行`python -m zmlx ui`打开界面; 7. 参考[`zmlx/demo`](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo)建模. > 注: > 软件内核采用Visual Studio 2019编译,建议安装 > Visual > Studio运行库 [VC_redist.x64.exe](https://gitee.com/geomech/hydrate/attach_files); > > 推荐[WinPython](https://gitee.com/geomech/hydrate/attach_files), > [Miniconda](https://www.anaconda.com/docs/getting-started/miniconda/main) > 等Python发行版; 运行脚本`zmlx/script/install_dep.py`可自动安装所有依赖包( > 基于[pip](https://pypi.org/project/pip/)); > 使得Python中`import zmlx`可用; > 建议在[demo](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo) > 的基础上,向前追溯函数的实现; 另外,[demo](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo)中案例仅供测试,作者不保证其参数的合理性. ### 学习/快速入门 建议从 [`zmlx/demo`](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo) 开始学习。Demo 目录包含 **100+ 个可运行示例**,覆盖了单相流、两相流、水合物开发、热传导、力学等各类问题。 > 参阅 [`zmlx/demo/ReadMe.md`](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo/ReadMe.md) 获取完整的建模指南,包括: > - 建模方法与空间分布函数 > - 边界条件设置(定压、恒温、井) > - 时间步进策略 > - 多相流与流体定义 > - 可视化策略 > - 常见陷阱与最佳实践 运行方式: ```bash python zmlx/demo/flow_1ph/darcy_1d.py # GUI 模式 python zmlx/demo/flow_1ph/darcy_1d.py --no-gui # 命令行模式 ``` ### 协作/开发 欢迎并感谢您成为[IGG-Hydrate](https://gitee.com/geomech/hydrate)的开发者: 1. 请只修改自己创建的文件(以避免冲突); 2. 请只推送代码,*不要推送比较大的数据* (Gitee仓库有500Mb的总量限制); 3. 请务必熟悉[git](https://git-scm.com/); 4. 如果直接向[IGG-Hydrate](https://gitee.com/geomech/hydrate) 推送代码,可能会报错(因为没有权限)。建议使用[Fork + Pull 模式](https://help.gitee.com/base/pullrequest/Fork+Pull)参与开发,或者点击[申请加入仓库](https://gitee.com/geomech/hydrate) ,成为开发者; 5. 在push代码前,先确保本地代码与主仓库同步。 > 注: 在[Gitee帮助中心](https://gitee.com/help#article-header0) > 有不少git的入门资料;新手建议安装[TortoiseGit](https://tortoisegit.org/),它会在文件管理器添加右键菜单,可以满足大部分操作; > 另外,如果是Pycharm用户,可以参考 https://gitee.com/geomech/hydrate/issues/IJT65R; [Fork + Pull 模式](https://help.gitee.com/base/pullrequest/Fork+Pull)是Gitee建议的方式. ### 镜像 仓库主网址为: [gitee.com/geomech/hydrate](https://gitee.com/geomech/hydrate), 镜像仓库: [github.com/geo-mech/hydrate](https://github.com/geo-mech/hydrate). > 注:反馈或推送给代码,务必在[主仓库](https://gitee.com/geomech/hydrate) > 进行,作者不会关注[镜像仓库](https://github.com/geo-mech/hydrate)的变化. ### 授权 [告知作者](https://gitee.com/geomech/hydrate/issues/ID5HZX)后可免费使用。 > 注:软件会基于网络检查版本。对于过期的版本,仍然可以运行,但是计算的速度会受到限制。因此,请确保使用最新版,并确保电脑联网。 ### 关于软件名 之所以采用[IGG-Hydrate](https://gitee.com/geomech/hydrate) ,其中IGG是作者单位([中国科学院地质与地球物理研究所](http://www.igg.cas.cn/))的简称; 此软件模块,是作者在地球所重点部署项目“水合物开发的基础理论与技术”(IGGCAS-201903) 水合物试采系统温压场演化与流动保障机制”(U2244223)的支持下完成的初步版本。