# 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)的支持下完成的初步版本。