油藏模拟开源资源
在油藏模拟(Reservoir Simulation)领域,有许多开源工具和资源可供使用,涵盖从基础建模到高级数值模拟的各个环节。以下是一些常用的开源资源分类整理:
1. 开源油藏模拟器
-
MRST (MATLAB Reservoir Simulation Toolbox)
- 由挪威SINTEF开发,基于MATLAB,提供油藏建模、网格生成、流动模拟等功能。
- 支持黑油、组分模型、双孔双渗模型等。
- 官网:https://www.sintef.no/projectweb/mrst/
- 适合研究或教学,需MATLAB环境。
-
OPM (Open Porous Media)
- 挪威等机构支持,包含多个模块(Flow、Reservoir、Models等),支持工业标准格式(如ECLIPSE的.DATA文件)。
- 核心模拟器 OPM Flow 支持黑油、热采等模型。
- 官网:https://opm-project.org/
- 适合工业级应用,C++编写,性能较好。
-
DuMux (DUNE for Multi-{Phase, Component, Scale} Flow)
- 基于DUNE框架,支持多相流、多组分耦合模拟,适用于复杂物理过程(如CO₂封存)。
- 官网:https://dumux.org/
- 需要较强的计算数学背景。
-
BAT (Brigham Artificial Reservoir)
- 简单开源模拟器,适合教学和快速原型开发。
- GitHub:https://github.com/OPM/BAT
2. 网格生成与预处理
-
Gmsh
- 开源有限元网格生成器,支持复杂几何结构。
- 官网:https://gmsh.info/
-
TetGen
- 三维四面体网格生成工具。
- 官网:http://wias-berlin.de/software/tetgen/
-
pyGIMLi
- 地球物理建模库,支持网格生成和反演。
- 官网:https://www.pygimli.org/
3. 辅助工具与库
-
libMesh
- C++有限元库,支持自适应网格和并行计算。
- 官网:https://libmesh.github.io/
-
FEniCS
- 开源有限元框架,适合多物理场耦合问题。
- 官网:https://fenicsproject.org/
-
PyTorch/TensorFlow
- 用于机器学习辅助的油藏模拟(如代理模型、历史拟合优化)。
4. 数据可视化
-
ParaView
- 开源可视化工具,支持油藏模拟结果(如VTK格式)的可视化。
- 官网:https://www.paraview.org/
-
ResInsight
- 专为油藏工程设计的可视化工具,支持ECLIPSE输出文件。
- 官网:https://resinsight.org/
5. 其他资源
-
ECLIPSE 输入文件解析器
- 如
eclpy
(Python库)或opm-common
,用于解析工业标准文件。
- 如
-
开源数据集
- SPE(Society of Petroleum Engineers)提供的基准模型(如SPE10、SPE9)。
- 下载地址:https://www.spe.org/web/csp/datasets/
选择建议
- 初学者/教学:MRST(MATLAB环境)或 BAT。
- 工业级应用:OPM Flow(兼容ECLIPSE格式)。
- 多物理场研究:DuMux 或 FEniCS。
- 机器学习结合:PyTorch + MRST/OPM 的Python接口。
注意:开源工具通常需要一定的编程和油藏工程基础,部分工具文档可能不够完善,建议结合论文或社区(如GitHub Issues)学习。