基于GUI 的冷泉羽状流数值模型可视化系统研究与应用
2022-06-20李灿苹陈凤英郭子豪田鑫裕
李灿苹,陈凤英,郭子豪,田鑫裕
(1.南方海洋科学与工程广东省实验室(湛江),广东 湛江 524025;2.广东海洋大学电子与信息工程学院,广东 湛江 524088)
天然气水合物,俗称“可燃冰”,存在于海底沉积层或陆地永久冻土带,具有能量高、分布广、规模大等特点,被认为是21 世纪的重要新能源[1-3]。因此,天然气水合物具有重要的能源战略地位,水合物的识别和勘探开发也是当今科学界研究的热点。近年来,中国在水合物勘探和开采上取得了显著成绩,不仅在海洋和陆地都成功钻获实物样品[4-5],而且在试采上也连续取得了一系列重大突破,实现了从“探索性试采”向“试验性试采”的重大跨越,迈出天然气水合物产业化进程中极其关键的一步[6-7]。
在海底深部沉积地层,游离气通过裂隙、裂缝等通道向上运移,一部分在水合物稳定带内形成水合物,另一部分与水合物分解的气体一起继续向上运移到达海底[8],然后以喷涌或渗漏的方式注入到海洋中,从而形成冷泉和气泡羽状流[9-10]。因此,冷泉羽状流是海底气体渗漏的直接表现形式,同时也对水合物勘探识别起到间接指示作用。冷泉羽状流近些年吸引了众多学者的目光,在数值模拟方面取得了一定进展,如李灿苹等[11-14]较早进行了海底冷泉活动区气泡羽状流的地震数值模拟,通过建立羽状流水体模型,研究了冷泉活动区气泡羽状流的地震响应特征,并探讨了气含量与地震属性之间的关系;段沛然等[15]使用交错网格有限差分法进行了羽状流数值模拟并观测其地震响应特征,其正演结果表明地震响应能够准确描述海底冷泉羽流;张闪闪等[16]采用含气泡液体声波方程进行了海底冷泉高频地震波数值模拟,实现了冷泉羽状流地震响应的高精度数值模拟;宋海斌等[17]利用地震海洋学的方法进行了羽状流的数值模拟研究。在羽状流探测技术上也取得了一定进展,如刘斌等[18]利用多波束声呐发现了琼东南海域的羽状流,并结合浅剖剖面分析了气体渗漏与水合物系统之间的相互作用;韩同刚等[19]总结了羽状流在海底可视技术、声呐系统、地震方法的表现形态特征,分析了3 种探测方法的适用性和局限性;杨力等[20]利用多波束声呐数据、多道地震数据和底质取样结果研究了琼东南海域活动冷泉系统,分析了活动冷泉的羽状流特征、海底地貌与底质特征,以及流体活动构造特征。目前,利用声学探测技术可以对羽状流清晰成像[11],但羽状流气含量、地震响应机理,以及与下伏地层中水合物的相关性尚不明确,这些都需要将海洋水体与海底地层连接在一起,通过地震的方法得以更好地解决。另外,虽然众多学者都开展了羽状流的数值模拟研究,但基本都未将其开发成便于模拟的系统软件的形式。
基于以上,为深入研究羽状流地震响应特征,以及利用地震方法进行气含量反演,本文前期根据含气泡海水声波速度模型及随机介质理论建立了羽状流数值模型[11],但生成每个模型时都要重新输入参数和执行源程序,步骤繁琐。由此,本文在已有羽状流模型算法程序基础上开发了羽状流数值模型可视化系统,使得生成羽状流模型更加简洁和方便,以服务于羽状流后续相关研究工作。
1 羽状流数值模型
羽状流地震响应机理研究,首先要通过羽状流数值模拟试验研究其地震波场特征、气含量与地震属性的相关性等,然后根据所获得的理论知识来指导实际地震资料的处理和解释,完成羽状流地震识别和反演研究,在此基础上探索羽状流地震响应机理。羽状流地震数值模拟的前提是先建立数值模型,实现羽状流数值模型的基本思路是:通过分析含气泡海水介质的声学特性,利用姚文苇[21]推导的含气泡介质内声速模型或等效介质理论[22]来实现羽状流水体声波速度[11];由实际羽状流探测结果[23-24]推测出羽状流中气泡在海水介质中的分布特点,由此依据随机介质理论可实现气泡的随机分布;根据图1 所示的羽状流实际赋存状态,利用椭圆函数实现羽状流的外形特征[25]。有关羽状流建模的算法和详细流程参见文献[11],本文重点关注羽状流数值模型可视化系统的实现。文献[11]中所实现的羽状流模型是通过在源程序中输入参数,然后执行源程序实现的。如果要进行较多的实验操作,需每次修改源程序的参数语句,这不仅繁琐,而且还容易出错,给实验研究带来不便。因此,为了解决以上问题,本文在源程序基础上,通过图形用户界面(Graphical User Interface,GUI) 软件实现羽状流模型数值模拟的可视化系统,通过点击系统界面上的按钮,可以方便地产生各类羽状流模型。
图1 鄂霍次克海冷泉气泡羽状流
2 模型可视化系统的设计
系统总体设计思路:在已实现的羽状流水体模型算法程序基础上,利用软件完成GUI 设计,达到羽状流数值模拟的可视化。具体为:首先新建一个GUI,利用界面的Panel 按钮完成界面初步布局,将界面划分成5 个模块:常量赋值、模型规格赋值、生成图像、实现角度倾斜的羽状流和导出数据;然后对各模块添加所需按钮,修改按钮信息及编写其Callback 回调函数;最后通过GUI 修改常量赋值和模型规格赋值中的可变参数值,点击相关按钮生成不同情况下羽状流模型图和导出相应的羽状流速度数据文件。
根据以上设计方案,羽状流模型数值模拟可视化系统实现流程如图2 所示,最终实现的可视化系统界面如图3 所示。
图2 羽状流模型数值模拟可视化系统流程图
图3 羽状流模型数值模拟可视化系统界面
3 模型可视化系统各模块的实现
3.1 常量赋值模块
本模块主要功能是为生成图像、实现角度倾斜的羽状流和导出数据3 个模块提供常量数据。模块实现过程为:先利用工具栏中Panel 控件划分一个区域,然后在区域中使用静态文本框Static Text 来显示每一个参数的名称,其作用是对文本信息进行显示,通过修改字符串属性项中的输入完成。使用可编辑文本框Edit Text 来显示每一个参数的初始值,其作用是输入数据,在其字符串属性项中修改要显示的数据或公式。
本模块在输入常量参数值时还设置了判断环节,如果输入的数值不在所设定的区间内或是不满足所需要的条件关系式,界面会弹出“error”提示,如图4 和图5 所示。出现这种情况需要按下OK 按钮或是关闭窗口,然后重新输入满足提示框条件的数值。
图4 信息框提示参数取值范围
图5 信息框提示参数应满足的条件
3.2 模型规格赋值模块
与常量赋值模块不同,模型规格赋值模块的参数会直接影响到羽状流模型和羽状流水体模型的建立,它们的改变能直观地从生成的图像中反映出来。模型规格模块共有19 个参数,各参数的默认值、取值范围及部分参数之间的关系如表1所示。
表1 模型规格参数及其取值
模型规格赋值模块的界面制作过程与常量赋值模块完全相同,此处不再赘述。其中灰色方框的参数值为默认值,不必修改,白色方框的参数值可修改,并对部分参数设定了取值范围。
3.3 生成图像模块
生成图像模块包括4 部分:羽状流气泡半径图、羽状流气泡含量图、羽状流声波速度图、羽状流水体声波速度图。本模块通过工具栏中的Push Button 按钮生成所需要的4 个模块按钮。模块实现过程为:将Push Button 按钮放在区域内,先修改其字符串属性项,通过ForegroundColor 属性修改字体颜色,然后将每个羽状流数值模拟的程序放在相应Push Button 按钮的回调函数中,激活对象,最后成功运行程序,实现按钮功能。
按图3 中生成图像模块各按钮,界面就会弹出相应各类模型图,如图6 所示。其中图6(d)的所有参数都为默认值,通过改变模型规格赋值模块里的参数,可以生成所需要的羽状流水体声速模型图。
图6 生成图像模块各按钮对应的模型图
3.4 实现角度倾斜的羽状流模块
该模块包括3 部分:输入倾斜角度、生成羽状流声波速度图和羽状流水体声波速度图。本模块主要功能是实现角度倾斜的羽状流,通过在倾斜角度文本框输入不同角度,羽状流可以倾斜到不同程度。羽状流倾斜角度大小是以水平坐标为准,左侧倾斜n 度即是羽状流与水平轴负方向的夹角,右侧倾斜m 度即是羽状流与水平轴正方形的夹角。其中“-”表示左侧角倾斜,若左、右侧倾斜角度相等,则-n=m,角度参数fai 的取值范围为[-60°,60°]。
本模块实现过程与生成图像模块相同,但生成的速度图与图6 中各类速度图不同之处是可以实现倾斜的椭圆形羽状流。为模拟出更加符合羽状流的实际赋存特点,实现角度倾斜的椭圆形羽状流速度体和羽状流水体声波速度模型,可以进行如下操作。例如,要实现左侧倾斜60°或右倾斜60°,这时在倾斜角度文本框输入-60°或60°,点击按钮,便可生成所需模型图。图7 为左侧倾斜60°的羽状流水体速度模型,图8 为右侧倾斜60°的羽状流水体速度模型。
图7 左侧倾斜60°的羽状流水体速度模型
图8 右侧倾斜60°的羽状流水体速度模型
3.5 导出数据模块
本模块功能是导出并保存已经生成的速度文件,方便重复使用数据。该模块只有两个按钮,分别用来输出羽状流声波速度文件及羽状流水体声波速度文件。
该模块利用uiputfile 函数实现,此函数格式是[filename pathname] =uiputfile({文件类型,可选类型},′提示名称′),返回值第一项是文件名,第二项是文件存放路径。uiputfile 函数在回调函数中添加,从而实现界面保存速度数据功能并以文件形式输出。
在执行生成图像模块或实现角度倾斜的羽状流模块后,将会生成羽状流声波速度文件或水体声波速度文件,此时点击导出数据模块按钮,将跳出一个保存的信息框,如图9 所示,在信息框中选择保存路径,输入文件名,保存类型默认为txt 文本,最后点击保存,即可完成数据保存。
图9 保存羽状流声波速度文件
4 讨论与分析
按照以上系统实现思路及各模块的设计方案,最终可以实现如图3 所示的羽状流模型数值模拟可视化系统。通过给常量赋值,设置模型规格参数,点击各蓝色字体按钮,即可方便产生对应的模型图。从图3 中可以看出,该系统功能多样,整体简洁直观,相比于执行源程序代码,避免了每次生成模型都要输入参数的繁琐步骤,因此,该系统更便于生成羽状流模型。
以上可视化系统是在羽状流模型初期建立的基础上完成的,该系统还有进一步改进的空间,比如模型规格参数,可以扩大取值范围,但一定要有限定条件,否则参数之间不满足既定关系,将会报错;可以建立多个羽状流,形态各异,更符合实际羽状流的赋存状态;后续也可以进一步将羽状流地震记录、偏移处理及提取属性等环节添加进来,由此获得一个完整的冷泉羽状流正演模拟软件。通过该软件,可以更方便地研究羽状流地震响应特征、羽状流气含量与地震属性的关系等。由于羽状流气含量的分布特征及其变化状态与海底气体来源及地质构造直接相关,而水合物分解的甲烷是羽状流气体的重要来源。因此,在本文开发的羽状流数值模型可视化系统基础上,可以进一步探索羽状流与水合物之间的内在联系,寻找识别水合物的地球物理特征标志,为水合物的勘探识别提供有意义的方法指导。
5 结 论
冷泉活动区上覆海水中常见气泡羽状流,羽状流是海底气体渗漏的直接表现形式,而羽状流下伏地层常富含天然气水合物,所以,羽状流对水合物勘探起到间接指示作用。
为更深入研究冷泉活动区气泡羽状流地震响应机理,以及与水合物的内在联系,需要建立符合实际气泡羽状流特征的数值模型。为更便于产生羽状流模型,本文在已有羽状流建模算法程序基础上,利用软件完成了GUI 设计,实现了羽状流模型数值模拟的可视化系统。系统可以实现如下功能:常量赋值、模型规格赋值、生成图像、实现角度倾斜的羽状流,以及导出羽状流速度数据,具体结论如下。
(1)常量赋值模块是实现羽状流模型的前提,根据含气泡海水声波速度公式,对公式中的常量进行赋值,为执行后续模块内容做准备。
(2)模型规格赋值模块可以设置羽状流区域的规格、在水体中的位置,以及整个水体模型规格的大小,以便产生羽状流模型。
(3)生成图像模块,在常量赋值及模型规格赋值后,通过点击模块内各按钮,可以方便地产生羽状流气泡半径图、羽状流气泡含量图、羽状流速度图和羽状流水体速度图。
(4)角度倾斜羽状流模块实现了羽状流倾斜的形状特征,当输入倾斜角度后,点击模块中两个按钮,分别会生成角度倾斜的羽状流声波速度模型图和羽状流水体速度模型图。
(5)导出数据模块实现了羽状流速度数据的输出,在执行生成图像模块或实现角度倾斜的羽状流模块后,点击该模块按钮就会保存相应的羽状流速度文件到指定路径。
本文实现的羽状流数值模型的可视化系统功能多样,整体简洁直观,应用效果良好,相较于执行源程序,该系统更便于产生羽状流模型。此外,该系统还有进一步改进的空间,如建立更符合实际赋存特征的羽状流模型,添加地震记录、偏移处理及提取地震属性等内容,从而获得一个完整的冷泉羽状流正演模拟软件,以服务于冷泉羽状流后续相关研究工作。