# IGG-Hydrate
**Repository Path**: geomech/hydrate
## Basic Information
- **Project Name**: IGG-Hydrate
- **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**: 21
- **Forks**: 7
- **Created**: 2020-04-09
- **Last Updated**: 2025-08-24
## Categories & Tags
**Categories**: mathlibs
**Tags**: THMC, Hydrate, 水合物, 页岩油, 碳封存
## 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.1021/acs.energyfuels.4c04288); 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,x, [李晓](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/200907/t20090713_2065538.html)1,2, [赫建明](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/201203/t20120302_3448658.html)1,2, 李关访1,2, [郑博](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/202303/t20230322_6706946.html)1,2, 毛天桥1,2, 徐涛1,2, 李宇轩1,2, Maryelin1,2, 谢卓然1,2
1[中国科学院地质与地球物理研究所](https://igg.cas.cn/)(北京, 100029);
2[中国科学院大学](https://www.ucas.ac.cn/)(北京, 101408).
x
联系人: [zhangzhaobin@mail.iggcas.ac.cn](zhangzhaobin@mail.iggcas.ac.cn) (张召彬); [lsdlyh@mail.iggcas.ac.cn](lsdlyh@mail.iggcas.ac.cn) (李守定).
(技术问题请[**新建Issue**](https://gitee.com/geomech/hydrate/issues/new))
### 授权
使用前请[联系作者](https://igg.cas.cn/sourcedb_igg_cas/cn/zjrck/201703/t20170306_4755492.html),另外请注意:
1. 在THMC耦合的C++内核部分,免费用于学术用途;
2. 在Python层面,在注明来源的情况下可免费用于任何用途.
### 反馈
使用过程中遇到问题,请[新建Issue](https://gitee.com/geomech/hydrate/issues/new)或者联系作者来提问/反馈。非常感谢您提出质疑及反馈bug!
### 功能
1. 多相多[组分](https://gitee.com/geomech/hydrate/tree/master/zmlx/fluid)流动,支持: 水/蒸气/水冰,ch4/ch4水合物,co2/co2水合物,盐度/砂,油/重油/干酪根,或其它自定义组分;
2. [反应](https://gitee.com/geomech/hydrate/tree/master/zmlx/react): 水的蒸发/结冰/融化; ch4水合物形成/分解; co2水合物形成/分解; 干酪根/重油裂解,或其它自定义的反应;
3. 热传导/对流;
4. 应力/应变/振动等静力学和动力学过程.
### 特点
1. 接口完备,可编程性强,方便应用到不同场景;
2. 支持任意多个相,且每个相支持任意多组分(传统组分模型一般只支持油、气、水三相).
### 环境
1. Windows 10/11, x64; 需安装[VC_redist.x64.exe](https://gitee.com/geomech/hydrate/attach_files) (程序必要的运行的环境);
2. 建议安装[git](https://git-scm.com/):官方下载,默认安装即可(默认安装的时候会添加文件夹的右键菜单,可以取消勾选;git安装之后,建议安装辅助工具[TortoiseGit](https://tortoisegit.org/),会添加更加好用的右键菜单);
3. 安装[Python](https://www.python.org/) (64位, 3.8+, 推荐3.10及更新的版本),推荐使用[WinPython](https://gitee.com/geomech/hydrate/attach_files) (绿色免安装);
4. 推荐提前安装好`PyQt6(不再支持PyQt5), PyQt6-WebEngine, pyqt6-qscintilla, numpy, scipy, matplotlib, pyqtgraph, PyOpenGL, pypiwin32, pywin32, dulwich`等第三方的Python包.
注:如有在Linux上运行的需求,请联系作者.
### 安装
1. 作为用户,如果只是单纯使用,可[cmd](https://blog.csdn.net/qq_43546721/article/details/131536857)执行如下命令来安装(可自动处理Python的依赖项):`python -m pip install git+https://gitee.com/geomech/hydrate.git`.
注意:如果python.exe不在[PATH](https://blog.csdn.net/flame_007/article/details/106401215)中,可以先[cd](https://blog.csdn.net/zdy219727/article/details/98605287)到python.exe所在的目录,再执行上述命令.
2. 如果要参与开发,或者希望更加清晰地看到源代码,请使用[git](https://git-scm.com/)将代码[clone到本地](https://gitee.com/help/articles/4111#article-header0),并添加到Python的搜索路径。
### 建模
1. 参考[`zmlx/demo`](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo)建模 (在此基础上,推荐向前追溯函数的实现);
2. 运行[`zml_ui.pyw`](https://gitee.com/geomech/hydrate/blob/master/zml_ui.pyw)打开界面.
### 编程环境 (IDE)
推荐使用PyCharm集成开发环境([官网下载PyCharm Community Edition](https://www.jetbrains.com/pycharm/download)默认安装即可),之后,推荐安装 [Trae AI](https://www.trae.com.cn/)插件 (在PyCharm的插件管理中搜索下载),其中集成了DeepSeek等AI工具,使用比较友好。
### 开发
欢迎并感谢您成为[IGG-Hydrate](https://gitee.com/geomech/hydrate)的开发者:
1. 请只修改自己创建的文件(以避免冲突);
2. 请务必熟悉[git](https://git-scm.com/),在[Gitee帮助中心](https://gitee.com/help#article-header0)有不少git的入门资料;新手建议安装[TortoiseGit](https://tortoisegit.org/),它会在文件管理器添加右键菜单,可以满足大部分操作;
3. 如果直接向[IGG-Hydrate](https://gitee.com/geomech/hydrate)推送代码,可能会报错(因为没有权限);此时,可以在页面右上角,点击[申请加入仓库](https://gitee.com/geomech/hydrate),成为开发者;或者,你也可以使用[Fork + Pull 模式](https://help.gitee.com/base/pullrequest/Fork+Pull)参与开发(这也是[Gitee](https://gitee.com/)推荐的方式)。