一、地震正演仿真理论基础
地震正演模拟在地震勘探和油藏地球物理中已被广泛应用,在地震数据采集(包括地震数值模拟、二维模型模拟、多波多分量地震正演模拟)、地面和井中地震数据处理(如去噪、叠加、叠前偏移速度分析、成像)、地震反演(如波阻抗反演、AVO反演、岩性反演)以及地震资料解释(如合成地震记录制作和地震地质关系标定、层位和断层解释、地震层序地层学解释、非构造圈闭识别、盆地分析、油藏表征和模拟)等实际生产和方法研究中都发挥了很大作用。
1.地震正演模型建立
地震正演模拟就是:根据已知(或设计)的数学及物理模型或地质模型求取相应地震响应的过程。一维模型正演模拟是计算合成地震道(见合成地震记录),二维正演模拟是计算合成地震剖面,三维正演模拟是求取理论三维数据体。
2.反射系数
地震正演模拟利用已有资料(测/钻井等资料)建立地下地质模型,根据地震波在地下介质中的传播原理,通过一定的数学方法(如射线追踪或波动方程偏移等),正演模拟计算出所建立地质模型的地震记录。
地震模型正演的基础在于不同的岩层具有不同的速度和密度,两者的乘积为波阻抗。波阻抗的差异会产生反射系数。假设地震波是垂直入射的,则可计算法线入射的反射系数:
其中,R为反射系数,ρ1v1,,ρ2v2为相邻两层的波阻抗。地震子波也是地震模型正演中的一个重要参数。实际地震记录从激发、传播到接收,相当于经历了一个滤波系统,一个尖锐的脉冲通过大地滤波系统之后,就变成了一个有一定延续长度的脉冲波形,即地震子波。所以地震模型正演中,选择合适的地震子波也是决定最终的正演结果与实际地震记录吻合与否的关键。
二、地震正演实战
1.正演模型
这里以某井为例,给大家展示了一个古岩溶洞穴的模型图,长方形的工区,有三层不同的地层,在第二层有一个缝洞。
对应的速度和密度模型是这样的。
2.实现方案1——Tesseral
Tesseral软件可以建立不同的复杂的地层模型,对其进行波场模拟,并且软件中含有处理软件包,可以对正演模拟计算得到的数据进行处理。所以可以通过建立模型,对其进行波场模拟,并对得到的数据进行处理,从而了解地震勘探的流程。以上述的工区模型为例,我们来讲解用Tesseral怎样建立正演数据。
第一步,定义震源参数。
在工具条上点击Edit,Framework按钮,出现对话框。填写正确的顶、底、左、右坐标,并在Surface 组参数中选“Invisible”不可见地表 ,如果是地震(声波)波场模拟,地表一定不能出现。“Invisible”表示上行波将不再向下反射回到该模型按“确定”后,在删掉跳出的物理参数填写表后,出现一个空白的坐标网格图。
第二步,按照图中的地层分布在Tesseral画出地层模型。
使用画图工具画出不同的地层和缝洞,按照上面的模型配置不同地层的速度和密度。
第三步,配置震源参数。
点击Source 按钮,出现震源定义会话框,首先定义放炮方式,该表中共有三方式。
可选Point 是最常用的模式,即对应于野外生产中的逐点放炮方式。
1)如果我们的生产方式是等间距规则地移动炮点,选Free 即可将炮点安放到任意所需要的位置上。
2)Free 右侧的选项中,地面放炮选择Horizontal Line (井中放炮选择Vertical line)
3)需选中Cable interval则表示用户可以在测线上定义等间隔移动的炮点。
4)定义炮数则在Number 右侧的空格内输入要计算的总炮数。
5)定义炮间距在Interval 右侧的空格内输入参数。
6)定义要计算的炮数,缺省值从第一炮计算到第观测系统定义的最后一炮,也可以人工输入要计算的第一炮和最后一炮。
7)定义振源方式可选Compression(纵波)或Rotational (横波)。
8)定义子波类型,可选Single (单峰)Symmetric(对称单峰)Double(双峰)。
9)“Frequency”振源峰值频率其代表其将是生成子波最大振幅的频率。
这个案例为了简单,我们直接选择表面震源surface。
第四步:定义检波点排列参数。
在工具条上点击Framework按钮,出现对话框。再点击Observation按钮,出现检波点会话窗口。
同样在Free 的右侧选择中选Horizontal (表明检波点沿地面安放),Vertical 表明检波点在井下垂直安放。
1)“Free” 选中表明检波点可从任意位置开始。
2)“Cable Interval” 选中表明检波点按等投影间距安放在起伏的地面或斜井中。
3)Move with Sourc表明检波点随炮点一起整体移动。
4)定义排列位置From第一个检波点的位置,to到排列最后一个检波点的位置。
5)定义炮间距,在“Interval”输入。
6)“Margin”建议采用缺省值{用于定义实际的网格尺寸}。
7)“Start”定义起始时间,缺省值自动切除近炮点最大振幅值得切除时间。
8)“Stop”定义用户要计算的最大波传播时间。
9)“Sample”定义要计算合成记录的采样率,缺省值为一般确定的采样值。
定义计算波场快照的数量
1)EVERY:定义每隔几个炮点生成一个波场快照。
2)选“End Truncation”则在计算结尾阶段以适应我们原先定义的接收区和截止时间。
3)“Start”定义波场快照的起使时间。
4) “Sample”定义隔多少时间拍一张波场快照.
第五步,模拟地震,生成地震仿真数据。
选择自激自发的方式模拟地震,然后就等软件运行。
第六步,查看生成的炮集效果。
找到对应的GathIS数据,调整数据波形,最后就可以看到这样的效果了。
第七步,数据处理。
如果我们不想显示直达面波,可以去除。这时可以点击Edit,Muting,Upper Line选项,然后在面波部分拉出横线。然后重复点击Edit,Muting,Upper Line选项,面波就消除了。最后效果就是这样的图,我们就生成了一个缝洞的正演剖面数据。
第八步,数据导出。
最后我们选择File,convert to,seg-y,就可以导出地震道集的剖面结果。
这是一个991道,1101个采样点,采样率为1毫秒剖面数据。
以上是用tesseral制作一个正演模拟数据的简单流程,如果想获取tesseral软件或了解更复杂的制作正演模拟数据的方法,可以与我联系交流。
2.实现方案2——matlab
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
MATLAB的运行速度较快,特别适合于处理地震类的数值应用。下面来给大家介绍一下怎样用matlab来模拟地震正演。
第一步,配置地层参数。
按照前面速度模型,配置好各地层的速度、密度和高度。
第二步,计算反射系数、采样点和反射序列。
一是计算不同地层的反射系数。
二是计算各反射界面所对应的时间。
三是计算各反射界面所对应的采样点数
四是计算反射序列
第三步,根据雷克子波形成道集记录。
一是根据雷克子波形成单道记录
二是根据地层情况生成多道记录
第四步,打印地震道记录并导出数据。
最后通过wiggles效果打印出的结果图是这样的。
再通过保存语句将结果保存为sgy数据。
第五步,查看导出的数据。
在使用Fimage读取的时候,注意按照如下的参数来配置,然后就能显示出正演结果图。
如果喜欢请点赞,如需软件和程序请联系我获取。