# IGG-Hydrate **Repository Path**: aa361604324/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**: 0 - **Forks**: 13 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 简介 [**IGG-Hydrate**](https://gitee.com/geomech/hydrate): 储层多场耦合计算模块(Python接口和C++内核)。 用于: 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, Maryelin1,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](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). ### 安装 #### Windows 版本 1. 确保操作系统为Windows 10/11, x64①; 2. 安装[Python](https://www.python.org/) (64位, 3.8+, 推荐3.12+)② 并安装 `PyQt6, pyqt6-qscintilla, PyQt6-WebEngine, numpy, scipy, matplotlib`等Python包③; 3. 下载[IGG-Hydrate](https://gitee.com/geomech/hydrate) 的[zip包](https://gitee.com/geomech/hydrate/repository/archive/master.zip)并解压(或者使用[git](https://git-scm.com/) 来[clone](https://gitee.com/help/articles/4111#article-header0)代码); 之后,将`zml.py`所在的文件夹(建议纯英文路径) 添加到Python的搜索路径中; 4. 参考[`zmlx/demo`](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo)建模④; 运行[ `zml_ui.pyw`](https://gitee.com/geomech/hydrate/blob/master/zml_ui.pyw)打开界面. 注:① 软件计算内核采用Visual Studio编译,建议用户在运行[IGG-Hydrate](https://gitee.com/geomech/hydrate)之前,提前安装 Visual Studio运行库 [VC_redist.x64.exe](https://gitee.com/geomech/hydrate/attach_files) ( 尽管,貌似很多时候系统都内置了,但是安装这个运行库,并不会有任何的副作用); ② 推荐使用[WinPython](https://gitee.com/geomech/hydrate/attach_files) ( 绿色免安装,同时也是软件作者使用的发行版,更能保证和[IGG-Hydrate](https://gitee.com/geomech/hydrate)的兼容); 注意:关于Python版本的需求主要来自界面/绘图等功能; ③ 运行脚本`zmlx/script/install_dep.py`来可自动安装所有依赖包(基于[pip](https://pypi.org/project/pip/) ,不保证安装成功);另外,`PyQt5`不再支持; ④ 建议在[demo](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo) 的基础上,向前追溯函数的实现; [demo](https://gitee.com/geomech/hydrate/tree/master/zmlx/demo)中案例仅供测试,作者不保证其参数的合理性. #### Linux 版本 **系统要求**:推荐 Ubuntu 24.04 LTS (其他 Debian/Ubuntu 衍生版本可参考,未测试其他发行版) **安装步骤**: 1. 打开终端,更新系统软件源: ```bash sudo apt update && sudo apt upgrade -y ``` 2. 安装必要依赖: ```bash sudo apt install -y git libboost-all-dev python3-venv python3-pip ``` - `git`: 用于克隆代码仓库 - `libboost-all-dev`: Boost 库(编译依赖) - `python3-venv`: Python 虚拟环境工具 - `python3-pip`: Python 包管理工具 3. 创建并激活 Python 虚拟环境(推荐,避免依赖冲突): ```bash # 创建虚拟环境(可自定义环境名称) python3 -m venv igg_hydrate_env # 激活虚拟环境 source igg_hydrate_env/bin/activate ``` 激活后终端提示符会显示 `(igg_hydrate_env)` 前缀,表示已进入虚拟环境。 4. 安装 IGG-Hydrate(自动安装所有 Python 依赖): ```bash pip install git+https://gitee.com/geomech/hydrate.git ``` > 注意:首次安装可能需要较长时间,需耐心等待。 5. 启动 IGG-Hydrate 界面: ```bash python -m zmlx ui ``` **使用说明**: - 每次使用前需激活虚拟环境:`source igg_hydrate_env/bin/activate` - 退出虚拟环境:`deactivate` - Linux 下生成的二进制模型文件与 Windows 不兼容,如需跨平台使用,请保存为 `txt` 或 `xml` 格式。 **故障排查**: - 在Linux上运行,核心是要满足动态库`zmlx/exts/zml.so`的依赖,请自行使用相关的工具来检查; - 可以使用ctypes尝试导入`zmlx/exts/zml.so`来测试环境配置是否成功. ### 协作/开发 欢迎并感谢您成为[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) 推送代码,可能会报错(因为没有权限)。此时,可以在页面右上角,点击[申请加入仓库](https://gitee.com/geomech/hydrate) ,成为开发者;或者,你也可以使用[Fork + Pull 模式](https://help.gitee.com/base/pullrequest/Fork+Pull)②参与开发。 注:① 在[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)的支持下完成的初步版本。