GemPy 3 地质建模快速入门指南

GemPy 3简介

GemPy 3是一款基于Python的开源三维结构地质建模软件。

GemPy 3由德国的Terranigma Solutions公司维护,并在GitHub上进行开源开发。它允许用户从界面和方向数据中自动创建复杂的地质模型,并支持随机建模以解决参数和模型不确定性问题。新版本GemPy V3现在可用,具有更强大的功能、更简洁的API和更容易的安装过程。

GemPy 3已被广泛应用于地质学、石油工程、环境科学等领域。例如,在石油勘探中,GemPy 3可以帮助地质学家模拟地下岩层的结构,从而更准确地预测油气藏的位置。

GemPy 3地质建模

安装

$ pip install gempy==2024.2.0.2
$ pip install gempy_engine=2024.2.0
$ pip install gempy-viewer=2024.2.0

简单使用

引入必要的库。

import numpy as np
import gempy as gp
import gempy_viewer as gpv

GemPy 3引入了ImporterHelper类来简化从各种来源导入数据的过程。这个类简化了传递导入数据所需的多个参数的过程,将来可能会看到进一步的扩展。

注意:使用ImporterHelper来导入数据时,path_to_orientations 参数指定的输入数据请在文件名中包含orient字符,path_to_surface_points 参数指定的输入数据请在文件名中包含surface或points数据,或者两者都包含。

下面是一个示例:

geo_model: gp.data.GeoModel = gp.create_geomodel(
    project_name='Basics_model',
    extent=[0, 2000, 0, 2000, 0, 750], # 实际参数从输入文件中读取
    refinement=6, 
    importer_helper=gp.data.ImporterHelper(
        path_to_orientations="./model_orientations.csv",
        path_to_surface_points="./model_points.csv"
    )
)

示例使用csv文件来描述生成输入数据,包括:

1、所有表面点(表面点可以是一个岩性单位(如“砂岩”)或一个构造特征(如“主断层”))。

2、方向的x、y和z位置值组成 测量.附加数据包括极点、方位角和极性(或梯度分量)。

在创建geomodel时,需要定义以下几个参数,参数的定义直接决定模型的计算成本:

1、定义模型在x、y和z方向上的真实的范围,可以通过输入的数据来确定,该范围定义了用于插值和许多绘图功能的区域。

2、建立一个常规网格。该分辨率将决定建模期间使用的体素数量。我们在这里使用50 x50 x50的中等分辨率。

 模型中地质单位以正确的时间顺序出现。这个顺序可以由地层沉积序列、侵蚀引起的不整合面或其他岩性成因事件(如火成岩侵入体)确定。在现有的模型中,一个类似的年代相关的顺序被称为断层。在GemPy中,我们使用函数gempy.map_stack_to_surfaces通过在Python字典中声明它们来将地层或断层分配给不同的顺序序列。序列的正确排序对于模型构建至关重要!可以将多个曲面指定给一个系列。

断层被视为独立的组,并且必须比它们影响的组年轻。不同断层之间的相对顺序决定了它们的构造关系(第一个入口是最年轻的)。

对于具有简单层序地层学的模型,所有地层都可以毫无问题地分配到一个系列。所有单元边界及其顺序将由界面点确定。然而,为了模拟更复杂的岩石地层关系和相互作用,单独的系列定义变得重要。例如,对破坏较老地层的不整合面或侵入体进行建模,就需要宣布一个较新的系列,在处理序列时,没有合并,每个底层单独分配一个序列。

gp.map_stack_to_surfaces(
	gempy_model=data,
    mapping_object=mapping_object
)

然后,就可以通过compute_model计算模型,并通过可视化后获取到模型详细的geometry数据,并输出为不同格式的文件。

gp.compute_model(data)
plot3d = gpv.plot_3d(data, show_scalar=True, show=False)

简单测试

打开地质模型预览与转换网站

拖拽输入文件(方向描述文件和表面点描述文件)到网页中的文件上传区域,等待模型处理完成。

模型处理完成,可以预览生成的地质模型。

可以点击【下载】按钮,进行模型下载。

参考

官方文档:GemPy Tutorials — GemPy 2024.2.0.2 documentation

项目仓库:GemPy v3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值