石油地球物理勘探  2019, Vol. 54 Issue (4): 796-804  DOI: 10.13810/j.cnki.issn.1000-7210.2019.04.010
0
文章快速检索     高级检索

引用本文 

崔宁城, 黄光南, 李红星, 张华, 张晓峰, 肖昆. 求解椭圆各向异性介质程函方程的源点快速扫描算法. 石油地球物理勘探, 2019, 54(4): 796-804. DOI: 10.13810/j.cnki.issn.1000-7210.2019.04.010.
CUI Ningcheng, HUANG Guangnan, LI Hongxing, ZHANG Hua, ZHANG Xiaofeng, XIAO Kun. A source fast sweeping method for solving elliptically anisotropic eikonal equation. Oil Geophysical Prospecting, 2019, 54(4): 796-804. DOI: 10.13810/j.cnki.issn.1000-7210.2019.04.010.

本项研究受国家自然科学基金项目“基于自适应非规则三角网格的地震TI介质多波反射走时层析成像研究”(41504095)、“多相孔隙介质全频段波频散与衰减机制及其应用研究”(41764006)、“基于反假频和噪声压制的五维地震数据重建理论研究”(41664006)、“基于岩石物理实验的冻土区裂缝型水合物储层地球物理响应特征研究”(41804116)、“非均匀网格采样下缺失地震数据高精度重建理论与方法研究”(41874126)、江西省教育厅基金项目“地震反射波走时层析成像方法研究及其在高速公路选址中的应用”(GJJ160570)、江西省杰出青年人才资助计划(20171BCB23068)和国家留学基金委联合资助

作者简介

崔宁城  硕士研究生, 1994年生; 2017年获东华理工大学勘查技术与工程专业学士学位; 现在东华理工大学攻读地球物理学专业硕士学位, 主要从事地震旅行时层析成像领域相关学习与研究

黄光南, 江西省南昌市经开区广兰大道418号东华理工大学地球物理与测控技术学院地球物理系, 330013。Email:bobking2@126.com

文章历史

本文于2018年10月25日收到,最终修改稿于2019年5月19日收到
求解椭圆各向异性介质程函方程的源点快速扫描算法
崔宁城①② , 黄光南①② , 李红星①② , 张华①② , 张晓峰①② , 肖昆①②     
① 东华理工大学核资源与环境国家重点实验室, 江西南昌 330013;
② 东华理工大学地球物理与测控技术学院, 江西南昌 330013
摘要:地震旅行时计算是射线追踪、层析成像和地震偏移等领域的重要组成部分。常规旅行时快速扫描算法直接对计算域进行全局扫描,并未考虑扫描的有效性问题。在实际计算中,未抵达震源前的扫描由于缺少震源信息,无法计算得到有效旅行时,属于无效扫描。本文提出了一种源点快速扫描算法,即将扫描的起始点移至源点处,减少常规方法中的无效扫描部分,能提高算法的计算效率。结合因式分解程函方程和迎风差分格式,实现了椭圆各向异性介质下的源点快速扫描旅行时计算方法。数值模拟结果表明,在参数设置相同的情况下,源点快速扫描算法与常规方法的计算结果一致,且具有更高的计算效率。
关键词源点快速扫描算法    旅行时计算    因式分解    程函方程    各向异性    
A source fast sweeping method for solving elliptically anisotropic eikonal equation
CUI Ningcheng①② , HUANG Guangnan①② , LI Hongxing①② , ZHANG Hua①② , ZHANG Xiaofeng①② , XIAO Kun①②     
① State Key Laboratory of Nuclear Resources and Environment, East China University of Technology, Nanchang, Jiangxi 330013, China;
② Department of Geophysics, School of Geophysics and Measurement-control Technology, East China University of Technology, Nanchang, Jiangxi 330013, China
Abstract: The seismic traveltime calculation is an important part of ray tracing, tomography, and seismic migration.Conventional traveltime fast sweeping methods scan directly the global computational domain without considering the scanning validity.In a real calculation, the scanning without the source point is invalid due to the lack of source information and cannot calculate right traveltime.In this paper, a source fast sweeping method is proposed, which moves the starting point of scanning to the source without invalid scanning, and improves the calculation efficiency.The source fast sweeping method in elliptical anisotropy medium is realized based on the factored eikonal equations and upwind difference scheme.Numerical simulation results show that the proposed source fast sweeping method obtains the same results as conventional methods, but it achieves higher calculation efficiency.
Keywords: source fast sweeping    traveltime calculation    factored eikonal equation    anisotropic    
0 引言

室内实验和野外实践发现自然界的地层和岩石呈现出各向异性性质[1-3]。常规各向异性介质,在增加一定的假设条件后,可以近似成特定的各向异性介质[4-6],如:三斜各向异性介质、单斜各向异性介质、正交各向异性介质、椭圆各向异性介质和横向各向同性介质等[7-9]

地震波旅行时计算结果在合成地震记录、速度层析成像、震源定位、克希霍夫叠前深度偏移等方面均具有广泛应用价值[10-11]。当介质存在各向异性时,地震速度层析成像不仅可以运用于近地表速度建模,还可以用于裂缝探测、储层预测等[12]。计算地震旅行时的主要方法可分为有限差分法、有限单元法和射线追踪法,其中求解程函方程(Eikonal equation)有限差分法计算效率高、更易于编程实现。Vidale[13]和Van Trier等[14]提出了几种有限差分旅行时计算方法,但目前较为流行的是快速推进法[15-19]和快速扫描法,这两种流行算法排序理念不同:快速推进法使用堆排序算法,在运算中对旅行时进行排序,利用严格的因果关系强制执行对旅行时做合理排序,这样后求解的旅行时对先前的结果没有影响;快速扫描法[20-27]使用Gauss-Seidel迭代,将计算后得到的值马上代入迭代循环中,如果方程存在严格的因果关系,则可以保证在有限次迭代后达到收敛。这两种方法可以得到相同精度的旅行时,后者具有较高的计算效率,但是选择哪一种方法更优,则需要根据求解的方程确定。另外还有一些其他形式的程函方程求解方法[28-32]

Zhao[20]将快速扫描算法运用于各向同性介质旅行时计算,Zhang等[21]和Qian等[22]对算法进行了一系列的改进,包括适应各向异性介质的快速扫描算法和高阶快速扫描算法;Fomel等[23]提出了一种基于因式分解程函方程的快速扫描算法,对各向同性的程函方程进行乘法因式分解,提高了旅行时的计算精度;Qian等[24]提出了基于静态凸Hamilton-Jacobi方程的快速扫描算法,并推导了椭圆各向异性介质程函方程。Luo等[25]针对椭圆各向异性介质提出了加法和乘法因式分解形式的快速扫描算法,并对比了两种分解形式的计算精度;Waheed等[26-27]推导了各向异性声波近似方程的因式分解形式,并利用快速扫描算法求解。

相比各向同性介质,各向异性介质程函方程较为复杂,快速扫描法的效率相对较低。特别是当模型较大时,提高算法的效率更具有实用价值。本文对椭圆各向异性程函方程进行因式分解,以压制震源奇异性产生的旅行时误差,提高旅行时计算的精度;根据地震波旅行时计算的因果关系,提出源点快速扫描方式,以去除不必要的计算过程,提高旅行时计算的效率;同时,结合迎风差分格式,通过添加差分方向判定因子,使算法的计算更加合理和有效;最后,应用数值模型验证了算法可靠性和高效性。

1 方法原理 1.1 椭圆各向异性介质程函方程

各向同性介质的程函方程为

$ \left\{ \begin{array}{l} \left| {\nabla T\left( \mathit{\boldsymbol{x}} \right)} \right| = s\left( \mathit{\boldsymbol{x}} \right)\;\;\;\;\;x \in \mathit{\boldsymbol{ \boldsymbol{\varOmega} \backslash }}\left\{ {{\mathit{\boldsymbol{x}}_0}} \right\}\\ T\left( {{\mathit{\boldsymbol{x}}_0}} \right) = 0 \end{array} \right. $ (1)

式中:s(x)=1/v(x),为速度的倒数,即慢度;T为旅行时;ΩRN为N维的有界开集,二维情况下N=2;x=(x, y)为计算点坐标,x0=(x0, y0)为源点坐标。在点震源情况下,椭圆各向异性介质的程函方程为

$ \left\{ \begin{array}{l} H\left[ {\mathit{\boldsymbol{x}},\nabla T\left( \mathit{\boldsymbol{x}} \right)} \right] = \sqrt {\nabla T\left( \mathit{\boldsymbol{x}} \right)\mathit{\boldsymbol{M}}\left( \mathit{\boldsymbol{x}} \right)\nabla {T^{\rm{T}}}\left( \mathit{\boldsymbol{x}} \right)} \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = 1\;\;\;\;\;\;\;\;\;\;\;\;\;x \in \mathit{\boldsymbol{ \boldsymbol{\varOmega} \backslash }}\left\{ {{\mathit{\boldsymbol{x}}_0}} \right\}\\ T\left( {{\mathit{\boldsymbol{x}}_0}} \right) = 0 \end{array} \right. $ (2)

式中:$\nabla T(\mathit{\boldsymbol{x}}) = [\partial T(\mathit{\boldsymbol{x}})/\partial x, \partial T(\mathit{\boldsymbol{x}})/\partial y]$M(x)为模型的各向异性对称正定矩阵。式(2)的具体形式为

$ \left\{\begin{array}{l}{\sqrt{a(\boldsymbol{x}) T_{x}^{2}-2 c(\boldsymbol{x}) T_{x} T_{y}+b(\boldsymbol{x}) T_{y}^{2}}=1} \\ {T\left(\boldsymbol{x}_{0}\right)=0}\end{array}\right. $ (3)

式中:TxTy分别为旅行时在xy方向的导数;系数a(x)、b(x)、c(x)分别代表横向、纵向和倾斜方向的各向异性强度,且满足a(x)>0,b(x)>0,c2(x)-a(x)b(x)<0。各向异性对称正定矩阵为

$ \mathit{\boldsymbol{M}} = \left[ {\begin{array}{*{20}{c}} {a\left( \mathit{\boldsymbol{x}} \right)}&{ - c\left( \mathit{\boldsymbol{x}} \right)}\\ { - c\left( \mathit{\boldsymbol{x}} \right)}&{b\left( \mathit{\boldsymbol{x}} \right)} \end{array}} \right] $ (4)

指示各向异性程度的系数为

$ \eta = \sqrt {\frac{{{\lambda _{\max }}\left( \mathit{\boldsymbol{M}} \right)}}{{{\lambda _{\min }}\left( \mathit{\boldsymbol{M}} \right)}}} $ (5)

式中λmaxλmin分别表示矩阵M最大、最小特征值。

1.2 乘法因式分解

常规求解程函方程计算旅行时的有限差分方法存在源奇异性问题[24],求解因式分解形式的程函方程能得到更高精度的旅行时结果。

对式(3)中的旅行时T进行乘法分解,即

$ T=T_{0} \tau $ (6)

式中:T0为假设模型为均匀介质时的旅行时值;τ为扰动值,代表波场传播过程中波前曲率的变化,是需要求取的参数。T的导数可表示为

$ \nabla T=\nabla T_{0} \tau+T_{0} \nabla \tau $ (7)

式(3)的乘法因式分解形式为

$ \begin{array}{l} \left\{ {{\tau ^2}\left( {aT_{0x}^2 - 2c{T_{0x}}{T_{0y}} + bT_{0y}^2} \right) + } \right.\\ \;\;\;\;2{T_0}\tau \left[ {a{T_{0x}}{\tau _x} - c\left( {{T_{0x}}{\tau _y} + {T_{0y}}{\tau _x}} \right) + b{T_{0y}}{\tau _y}} \right] + \\ \;\;\;\;{\left. {T_0^2\left( {a\tau _x^2 - 2c{\tau _x}{\tau _y} + b\tau _y^2} \right)} \right\}^{\frac{1}{2}}} = 1 \end{array} $ (8)

式中:T0xT0y分别为T0xy方向上的偏导数;τxτy同理。其中T0的定义为

$ \begin{array}{*{20}{l}} {{T_0}(x,y) = }\\ {\sqrt {\frac{{{b_0}{{\left( {x - {x_0}} \right)}^2} + 2{c_0}\left( {x - {x_0}} \right)\left( {y - {y_0}} \right) + {a_0}{{\left( {y - {y_0}} \right)}^2}}}{{{a_0}{b_0} - c_0^2}}} } \end{array} $ (9)

式中a0b0c0为源点的系数。

1.3 加法因式分解

加法因式分解比乘法因式分解更为简单。将T进行加法分解,有

$ T=T_{0}+\tau $ (10)

$ \nabla T = \nabla {T_0} + {\nabla _\tau } $ (11)

式(3)的加法分解形式为

$ \begin{array}{l} \left[ {aT_{0x}^2 - 2c{T_{0x}}{T_{0y}} + bT_{0y}^2 + } \right.\\ \;\;\;\;\;\;\;2{\tau _x}\left( {a{T_{0x}} - c{T_{0y}}} \right) + 2{\tau _y}\left( {b{T_{0y}} - c{T_{0x}}} \right) + \\ \;\;\;\;\;\;\;{\left. {a\tau _x^2 - 2c{\tau _x}{\tau _y} + b\tau _y^2} \right]^{\frac{1}{2}}} = 1 \end{array} $ (12)

加法因式分解的T0(xy)与乘法形式的一致,都由式(9)计算得到。

由于加法因式分解计算效果不如乘法分解,故本文应用乘法因式分解方法。

2 源点快速扫描算法 2.1 常规快速扫描算法的扫描方式

常规快速扫描算法直接对计算域进行全局扫描。假设震源点位于计算区域中心(i0j0)(红点处),若x方向共有nx个点、y方向共有ny个点,以T(ij)表示计算点(ij)的旅行时,则常规快速扫描算法的扫描方式如图 1所示。

图 1 常规快速扫描法的四种扫描方式 (a)i=(1,2,…,nx),j=(1,2,…,ny);(b)i=(nxnx-1,…, 1),j=(1,2,…,ny);(c)i=(1,2,…,nx),j=(nyny-1,…, 1);(d)i=(nxnx-1,…, 1),j=(nyny-1,…,1)。nxny分别为xy方向网格点总数

图 1a为例,扫描未抵达源点前,由于方程没有源点信息作为初始条件,无法计算得到有效旅行时。当扫描经过源点后,才能得到有效的旅行时信息(图 2)。因此,图中只有对灰色区域(i=(i0i0+1,…,nx),j=(j0j0+1,…,ny))的扫描有效,对其余白色区域的扫描是无效的。

图 2 扫描方式分析 (a)扫描未抵达源点前;(b)扫描经过源点后
2.2 源点快速扫描算法的扫描方式

常规快速扫描算法的扫描方式存在大量无效扫描,为解决该问题,提出了一种源点快速扫描方法。将扫描的起始点移至震源点处,可以减少大量的无效扫描过程。源点快速扫描算法的扫描方式如图 3所示。

图 3 源点扫描法的四种扫描方式 (a)i=(i0i0+1,…,nx),j=(j0j0+1,…,ny);(b)i=(i0i0-1,…,1),j=(j0j0+1,…,ny);(c)i=(i0i0+1,…,nx),j=(j0j0-1,…,1);(d)i=(i0i0-1,…,1),j=(j0j0-1,…,1)。i0j0分别为源点的xy方向网格序号

源点快速扫描算法相对于常规快速扫描算法省去了从端点处开始至源点的扫描部分,直接将源点作为起始点开始扫描,扫描过程更简洁有效。

2.3 多个震源的源点快速扫描算法

当存在多个震源时,选取所有震源中xy方向上的坐标序号最大值和最小值组成新的起始扫描点。设有O1(i1j1)、O2(i2j2)、…、On(injn)共n个源点,则xy方向上的坐标序号最大和最小值为imin=min(i1i2,…,in);imax=max(i1i2,…,in);jmin=min(j1j2,…,jn);jmax=max(j1j2,…,jn)。当存在多个震源点时,为覆盖所有震源点,扫描的起始位置不再固定为某个点。图 4以两个震源点O1(i1j1)、O2(i2j2)为例。

图 4 多震源源点扫描法的四种扫描方式 (a)i=(iminimin+1,…,nx),j=(jminjmin+1,…,ny);(b)i=(imaximax-1,…,1),j=(jminjmin+1,…,ny);(c)i=(iminimin+1,…,nx),j=(jmaxjmax-1,…,1);(d)i=(imaximax-1,…,1),j=(jmaxjmax-1,…,1)

多个震源情况下的快速扫描算法对扫描速率的提升依赖于震源的分布情况。当多个震源集中分布时,源点快速扫描算法可以节省更多的计算时间。

3 数值算法实现过程 3.1 差分方向判定因子

本文主要讨论二维情况下的源点快速扫描法,离散化网格如图 5所示。

图 5 离散化网格 h表示网格步长

差分方向判定因子SxSy的定义为

$ {S_x} = \left\{ {\begin{array}{*{20}{c}} 1&{{T_{i + 1}} \le {T_{i - 1}}}\\ { - 1}&{{T_{i + 1}} > {T_{i - 1}}} \end{array}} \right. $ (13)
$ {S_y} = \left\{ {\begin{array}{*{20}{c}} 1&{{T_{j + 1}} \le {T_{j - 1}}}\\ { - 1}&{{T_{j + 1}} > {T_{j - 1}}} \end{array}} \right. $ (14)

式(8)中的T0xT0yτxτy离散化形式为

$ \left\{ {\begin{array}{*{20}{l}} {{T_{0x}} = \frac{{{S_x}\left( {{T_{0i,j}} - {T_{0i + {S_x},j}}} \right)}}{h}}\\ {{T_{0y}} = \frac{{{S_y}\left( {{T_{0i,j}} - {T_{0i,j + {S_y}}}} \right)}}{h}} \end{array}} \right. $ (15)
$ \left\{ \begin{array}{l} {\tau _x} = \frac{{{S_x}\left( {{\tau _{i,j}} - {\tau _{i + {S_x},j}}} \right)}}{h}\\ {\tau _y} = \frac{{{S_y}\left( {{\tau _{i,j}} - {\tau _{i,j + {S_y}}}} \right)}}{h} \end{array} \right. $ (16)
3.2 乘法因式分解形式的程函方程离散化

T0xT0yτxτy离散化形式代入式(8),得到乘法因式分解形式程函方程的离散形式为

$ \begin{array}{l} 1 = \left\{ {\tau _{i,j}^2\left( {aT_{0x}^2 - 2c{T_{0x}}{T_{0y}} + bT_{0y}^2} \right) + } \right.\\ \;\;\;\;\;\frac{{2{T_0}}}{h}{\tau _{i,j}}\left[ {a{T_{0x}}{S_x}\left( {{\tau _{i,j}} - {\tau _{i + {S_x},j}}} \right) - } \right.\\ \;\;\;\;\;c\left( {{T_{0x}}{S_y}\left( {{\tau _{i,j}} - {\tau _{i,j + {S_y}}}} \right) + {T_{0y}}{S_x}\left( {{\tau _{i,j}} - {\tau _{i + {S_x},j}}} \right)} \right) + \\ \;\;\;\;\;\left. {b{T_{0y}}{S_y}\left( {{\tau _{i,j}} - {\tau _{i,j + {S_y}}}} \right)} \right] + \frac{{T_0^2}}{{{h^2}}}\left[ {a{{\left( {{\tau _{i,j}} - {\tau _{i + {S_x},j}}} \right)}^2} - } \right.\\ \;\;\;\;\;2c{S_x}{S_y}\left( {{\tau _{i,j}} - {\tau _{i + {S_x},j}}} \right)\left( {{\tau _{i,j}} - {\tau _{i,j + {S_y}}}} \right) + \\ \;\;\;\;\;{\left. {\left. {b{{\left( {{\tau _{i,j}} - {\tau _{i,j + {S_y}}}} \right)}^2}} \right]} \right\}^{\frac{1}{2}}} \end{array} $ (17)

上式去根号后,可以简化为一元二次方程形式

$ a^{*} \tau_{i, j}^{2}+b^{*} \tau_{i, j}+c^{*}=0 $ (18)

式中

$ \begin{array}{l} {a^*} = \left( {aT_{0x}^2 - 2c{T_{0x}}{T_{0y}} + bT_{0y}^2} \right) + \\ \;\;\;\;\;\;\;\frac{{2{T_0}}}{h}\left[ {{S_x}\left( {a{T_{0x}} - c{T_{0y}}} \right) + {S_y}\left( {b{T_{0y}} - c{T_{0x}}} \right)} \right] + \\ \;\;\;\;\;\;\;\frac{{T_0^2}}{{{h^2}}}\left( {a - 2c{S_x}{S_y} + b} \right) \end{array} $ (19)
$ \begin{array}{l} {b^*} = \frac{{2{T_0}}}{h}\left[ {{S_x}{\tau _{i + {S_x},j}}\left( {c{T_{0y}} - a{T_{0x}}} \right) + } \right.\\ \;\;\;\left. {{S_y}{\tau _{i,j + {S_y}}}\left( {c{T_{0x}} - b{T_{0y}}} \right)} \right] - \\ \;\;\;\frac{{2T_0^2}}{{{h^2}}}\left[ {a{\tau _{i + {S_x},j}} - c{S_x}{S_y}\left( {{\tau _{i + {S_x},j}} + {\tau _{i,j + {S_y}}}} \right) + b{\tau _{i,j + {S_y}}}} \right] \end{array} $ (20)
$ {c^ * } = \frac{{T_0^2}}{{{h^2}}}\left( {a\tau _{i + {S_x},j}^2 - 2c{S_x}{S_y}{\tau _{i + {S_x},j}}{\tau _{i,j + {S_y}}} + b\tau _{i,j + {S_y}}^2} \right) - 1 $ (21)

求解式(18)可得到扰动量τij,再进一步利用式(6)可得到旅行时Tij。加法因式分解形式程函方程的离散化与乘法形式相似,在此不再赘述。

3.3 因果性判定条件

式(18)的解可能存在三种情况,分别为:无根、有两个相同根和有两个不同根。利用因果条件,可对解的正确性进行判断。

若式(18)有根(不管两个根相同与否),由于程函方程属于Hamilton-Jacobi方程,而在Hamilton-Jacobi系统下,方程的解应同时满足

$ \left\{ \begin{array}{l} \frac{{\partial \tau }}{{\partial x}}\frac{{\partial \mathit{\boldsymbol{H}}}}{{\partial {p_x}}} \ge 0\\ \frac{{\partial \tau }}{{\partial y}}\frac{{\partial \mathit{\boldsymbol{H}}}}{{\partial {p_y}}} \ge 0 \end{array} \right. $ (22)

式中:H表示Hamilton量;pxpy为对应xy方向上慢度导数。椭圆各向异性介质程函方程式(3)的因果条件为

$ \left\{ {\begin{array}{*{20}{l}} {a\frac{{\partial T}}{{\partial x}} - c\frac{{\partial T}}{{\partial y}} \ge 0}\\ {b\frac{{\partial T}}{{\partial y}} - c\frac{{\partial T}}{{\partial x}} \ge 0} \end{array}} \right. $ (23)

离散化因果判定条件为

$ \left\{ \begin{array}{l} \frac{{{S_x}}}{h}\left[ {{S_x}a\left( {{T_{i,j}} - {T_{i + {S_x},j}}} \right) - {S_y}c\left( {{T_{i,j}} - {T_{i,j + {S_y}}}} \right)} \right] \ge 0\\ \frac{{{S_y}}}{h}\left[ {{S_y}b\left( {{T_{i,j}} - {T_{i,j + {S_y}}}} \right) - {S_x}c\left( {{T_{i,j}} - {T_{i + {S_x},j}}} \right)} \right] \ge 0 \end{array} \right. $ (24)

当方程无根时,需要考虑波单独沿x轴和y轴传播的情况。

对于乘法因式分解方法,当$b \frac{\partial T}{\partial y}-c \frac{\partial T}{\partial x}=0$时,波沿x轴传播,计算公式为

$ {\tau ^{x * }} = \frac{{{T_0}{\tau _{i + {S_x},j}} + {h_x}\sqrt {\frac{b}{{ab - {c^2}}}} }}{{{T_0} + {h_x}\left| {{T_{0x}}} \right|}} $ (25)

$a \frac{\partial T}{\partial x}-c \frac{\partial T}{\partial y}=0$时,波沿y轴传播,计算公式为

$ {\tau ^{y*}} = \frac{{{T_0}{\tau _{i,j + {S_y}}} + {h_y}\sqrt {\frac{a}{{ab - {c^2}}}} }}{{{T_0} + {h_y}\left| {{T_{0y}}} \right|}} $ (26)

加法因式分解方法的计算公式分别为

$ {\tau ^{x*}} = {\tau _{i + {S_x},j}} + {h_x}\sqrt {\frac{b}{{ab - {c^2}}}} - {h_x}\left| {{T_{0y}}} \right| $ (27)
$ \tau^{y *}=\tau_{i, j+S_{y}}+h_{y} \sqrt{\frac{a}{a b-c^{2}}}-h_{y}\left|T_{0 y}\right| $ (28)
3.4 迭代过程 3.4.1 初始化

(1) 将计算区域的所有τ值都设定为一个较大值τmax(τmax大于计算区域最终计算出的最大τ值)。

(2) 设定震源点处τ0值,乘法分解形式设定为τ0=1,加法分解形式设定为τ0=0。

(3) 利用式(9)计算T0,迭代过程中T0保持不变。

(4) 通过式(6)或式(10)计算旅行时T的初始值。

3.4.2 旅行时计算

(1) 定义τ*为中间变量,求解式(18),当方程存在两个解,分别为τ1*τ2*。若τ1*τ2*都符合因果条件式(24),则τ*=min(τ1*, τ2*);若仅τ1*符合因果条件,则τ*=τ1*;若仅τ2*符合因果条件,则τ*=τ2*

(2) 若τ1*τ2*都不符合因果条件,则利用式(25)和式(26)计算τx*τy*的值。若τx*τy*满足Ti, j=T0i, jτx*Ti+Sx, j, Ti, j=T0i, jτy*Ti, j+Syτ*=min(τx*, τy*);若仅Ti, j=T0i, jτx*Ti+Sx, j,则τ*=τx*;若仅Ti, j=T0i, jτy*Ti, j+Sy,则τ*=τy*

(3) 最终,τnew=min(τ*τmax), Ti, jnew=T0i, jτnew迭代计算的扫描方式应用源点快速扫描算法的扫描方式。

3.4.3 终止条件

设定趋近于0的阈值δ,当迭代循环满足|Tnew-Told|≤δ时,终止迭代。

4 数值模拟 4.1 旅行时计算过程分析

将旅行时扫描过程分解,对比常规快速扫描算法和源点快速扫描算法在不同扫描阶段的区别。测试模型选择具有解析解的各向异性介质模型[25]

各向异性模型的参数设置为:网格数为500×500,网格间距为2m,源点位置为(500m,500m),阈值δ=1×10-9,设置较大值τmax=10000s,各向异性参数为:a=b=c=exp(2m)。旅行时解析解为:Tana=1-exp(-m)。其中$m = \left[{2{{\left({x - {x_0}} \right)}^2} + 2(x - } \right.{x_0})\left({y - {y_0}} \right) + {\left({y - {y_0}} \right)^2}{]^{\frac{1}{2}}}$

图 6中,利用常规快速扫描算法进行了全局扫描,每次扫描后,全局的旅行时都会向最终结果靠近一些,扫描完成后得到稳定的旅行时结果。图 7中,源点快速扫描算法以源点作为起始点开始扫描,每次只扫描计算区域中有效的一部分,完成扫描过程后,同样能得到稳定的旅行时场结果。

图 6 常规快速扫描算法的扫描过程分解 (a)i=(1,2,…,nx),j=(1,2,…,ny);(b)i=(nxnx-1,…,1),j=(1,2,…,ny);(c)i=(1,2,…,nx),j=(nyny-1,…,1);(d)i=(nxnx-1,…,1),j=(nyny-1,…,1)

图 7 源点快速扫描算法的扫描过程分解 (a)i=(i0i0+1,…,nx),j=(j0j0+1,…,ny);(b)i=(i0i0-1,…,1),j=(j0j0+1,…,ny);(c)i=(i0i0+1,…,nx),j=(j0j0-1,…,1);(d)i=(i0i0-1,…,1),j=(j0j0-1,…,1)
4.2 旅行时精度分析

T1为解析解旅行时,T2为常规快速扫描算法旅行时,T3为源点快速扫描算法旅行时,T2T3T1的对比如图 8所示。由图可知,两种方法数值解接近一致(红色与蓝色等值线几乎重合),且在在旅行时变化平缓区域的精度较高,在旅行时变化剧烈的区域则存在一定误差。

图 8 均匀各向异性模型两种方法计算的旅行时与理论旅行时等值线(单位:s)对比(a)及其局部放大显示(b)

计算T3T2的平均绝对误差

$ {T_{{\rm{error}}}} = \frac{1}{{{n_x} \times {n_y}}}\sum\limits_{i = 1}^{{n_x}} {\sum\limits_{j = 1}^{{n_y}} {\left| {{T_{3i,j}} - {T_{2i,j}}} \right|} } $ (29)

由上式得到Terror=3.2458×10-5s,说明源点快速扫描算法与常规快速扫描算法的计算结果基本一致。

4.3 计算效率分析 4.3.1 单震源计算效率对比

应用不同网格数各向异性模型比较常规快速扫描算法和源点快速扫描算法的计算效率。模型网格数分别设置为200×200、400×400、800×800、1600×1600、3200×3200。网格间距固定为1m,阈值δ=1×10-9,源点位置固定为(nx/2,ny/2)。两种算法各测试5次,取均值后,记录CPU平均计算时间如图 9所示。图中源点快速扫描算法运行时间(蓝色实线)整体上要小于常规快速扫描算法运行时间(红色实线),显然源点快速扫描算法的计算效率要高于常规快速扫描算法。

图 9 两种算法的运行时间比较

若固定模型网格数为1000×1000,其他参数设定不变,仅改变震源位置,测试震源位置分布对源点快速扫描算法计算效率的影响。源点位置设定为:O1(10,10);O2(100,100);O3(300,300);O4(500,500);O5(300,800);O6(100,900);O7(10,990)。不同震源位置两种旅行时计算方法运行耗时如图 10所示。可以看出,源点位置的改变对源点快速扫描算法的计算效率没有影响,证明单个点源情况下,无论点源位置如何分布,源点快速扫描算法对计算效率的提升都是等效的。

图 10 不同源点位置对算法计算速度的影响分析
4.3.2 多个震源的计算效率

应用各向同性介质模型中,测试多个震源时,源点快速扫描算法的计算效率。

设均匀各向同性介质模型速度为1km/s,网格数为1000×1000,网格间距为1m,阈值δ=1×10-9。设置四种不同的震源分布:分布Ⅰ,四个震源分别位于(600,600)、(400,600)、(600,400)、(400,400),代表震源分布集中;分布Ⅱ,四个震源分别位于(700,700)、(300,700)、(700,300)、(300,300),代表震源分布较集中;分布Ⅲ,四个震源分别位于(800,800)、(200,800)、(800,200)、(200,200),代表震源分布较分散;分布Ⅳ,四个震源分别位于(900,900)、(100,900)、(900,100)、(100,100),代表震源分布分散。

图 11为四个震源不同分布时源点快速扫描算法的旅行时计算结果,图 12为四种震源不同分布时源点快速扫描算法运行时间对比。随着震源点的分布越来越分散,源点快速扫描算法的运行时间逐渐向常规快速扫描算法的运行时间靠近。震源分布越集中,源点快速扫描算法的计算效率提高越明显。

图 11 均匀各向同性介质四种震源不同分布时源点快速扫描算法的旅行时计算结果 (a)分布Ⅰ;(b)分布Ⅱ;(c)分布Ⅲ;(d)分布Ⅳ

图 12 均匀各向同性介质四种震源不同分布时源点快速扫描算法与常规快速扫描算法的运行时间对比
5 结论

常规的快速扫描算法直接对计算区域进行全局扫描,运算过程中存在大量无效扫描。本文提出的源点快速扫描算法将扫描的起始点移至源点处,使算法的扫描过程更高效。通过求解因式分解形式的椭圆各向异性程函方程,利用源点快速扫描算法实现了各向异性介质中的旅行时计算。数值模拟结果表明:

(1) 计算参数相同的前提条件下,源点快速扫描算法和常规快速扫描算法的计算精度一致;

(2) 单震源情况下,源点快速扫描算法的计算效率明显高于常规快速扫描算法,且源点的位置不影响算法的计算效率;

(3) 多震源情况下,震源分布越集中,源点快速扫描算法计算效率提升越大。

(4) 源点快速扫描算法适用于各向同性和各向异性介质的旅行时计算。

参考文献
[1]
Stoep D M. Velocity anisotropy measurements in wells[J]. Geophysics, 1966, 31(5): 900-916. DOI:10.1190/1.1439822
[2]
Crampin S. Suggestions for a consistent terminology for seismic anisotropy[J]. Geophysical Prospecting, 1989, 37(7): 753-770. DOI:10.1111/j.1365-2478.1989.tb02232.x
[3]
Fomel S. On anelliptic approximations for qP velocities in VTI media[J]. Geophysical Prospecting, 2004, 52(3): 247-259. DOI:10.1111/j.1365-2478.2004.00413.x
[4]
Alkhalifah T, Fomel S. The basic components of residual migration in VTI media using anisotropy continuation[J]. Journal of Petroleum Exploration and Production Technology, 2011, 1(1): 17-22. DOI:10.1007/s13202-011-0006-6
[5]
黄国娇, 孙江兵, 白超英, 等. 三维TI介质中多波旅行时层析成像[J]. 石油地球物理勘探, 2018, 53(1): 63-72.
HUANG Guojiao, SUN Jiangbing, BAI Chaoying, et al. Seismic multi-wave traveltime tomography in 3D TI media[J]. Oil Geophysical Prospecting, 2018, 53(1): 63-72.
[6]
刘财, 邓馨卉, 郭智奇, 等. 基于岩石物理的页岩储层各向异性表征[J]. 石油地球物理勘探, 2018, 53(2): 339-346.
LIU Cai, DENG Xinhui, GUO Zhiqi, et al. Shale reservoir anisotropic characterization based on rock physics[J]. Oil Geophysical Prospecting, 2018, 53(2): 339-346.
[7]
胡书华, 王宇超, 刘文卿, 等. 复杂TTI介质稳定的纯qP波波场模拟方法[J]. 石油地球物理勘探, 2018, 53(2): 280-287.
HU Shuhua, WANG Yuchao, LIU Wenqing, et al. Pure quasi-P wave stable simulation in complex TTI media[J]. Oil Geophysical Prospecting, 2018, 53(2): 280-287.
[8]
程玖兵, 康玮, 王腾飞. 各向异性介质qP波传播描述Ⅰ:伪纯模式波动方程[J]. 地球物理学报, 2013, 56(10): 3474-3486.
CHENG Jiubing, KANG Wei, WANG Tengfei. Description of qP-wave propagation in anisotropic media, Part Ⅰ:Pseudo-pure-mode wave equations[J]. Chinese Journal of Geophysics, 2013, 56(10): 3474-3486. DOI:10.6038/cjg20131022
[9]
程玖兵, 陈茂根, 王腾飞, 等. 各向异性介质qP波传播描述Ⅱ:分离纯模式标量波[J]. 地球物理学报, 2014, 57(10): 3389-3401.
CHENG Jiubing, CHEN Maogen, WANG Tengfei, et al. Description of qP-wave propagation in anisotropic media, Part Ⅱ:Separation of pure-mode scalar waves[J]. Chinese Journal of Geophysics, 2014, 57(10): 3389-3401. DOI:10.6038/cjg20141025
[10]
Huang G, Zhou B, Li H, et al. 2D seismic reflection tomography in strongly anisotropic media[J]. Journal of Geophysics and Engineering, 2014, 11(6): 1-8.
[11]
Huang G, Zhou B, Li H, et al. Seismic traveltime inversion based on tomographic equation without integral terms[J]. Computers & Geosciences, 2017, 104: 29-34.
[12]
Taillandier C, Noble M, Chauris H, et al. First-arrival traveltime tomography based on the adjoint-state method[J]. Geophysics, 2009, 74(6): WCB1-WCB10. DOI:10.1190/1.3250266
[13]
Vidale J E. Finite-difference calculation of travel times[J]. Bulletin of the Seismological Society of America, 1988, 78(6): 2062-2076.
[14]
Van Trier J, Symes W W. Upwind finite-difference calculation of traveltimes[J]. Geophysics, 1991, 56(6): 812-821. DOI:10.1190/1.1443099
[15]
Qin F, Luo Y, Olsen K B, et al. Finite-difference solution of the eikonal equation along expanding wave-fronts[J]. Geophysics, 1992, 57(3): 478-487. DOI:10.1190/1.1443263
[16]
Sethian J A, Popovici A M. 3-D traveltime computation using the fast marching method[J]. Geophysics, 1999, 64(2): 516-523. DOI:10.1190/1.1444558
[17]
谢春, 刘玉柱, 董良国, 等. 伴随状态法初至波旅行时层析[J]. 石油地球物理勘探, 2014, 49(5): 877-883.
XIE Chun, LIU Yuzhu, DONG Liangguo, et al. First arrival traveltime tomography based on the adjoint state method[J]. Oil Geophysical Prospecting, 2014, 49(5): 877-883.
[18]
黄兴国, 孙建国, 孙章庆, 等. 基于复程函方程和改进的快速推进法的复旅行时计算方法[J]. 石油地球物理勘探, 2016, 51(6): 1109-1118.
HUANG Xingguo, SUN Jianguo, SUN Zhangqing, et al. Complex traveltime calculation method based on complex function equation and improved fast mar-ching method[J]. Oil Geophysical Prospecting, 2016, 51(6): 1109-1118.
[19]
孙章庆, 孙建国, 韩复兴. 三维起伏地表条件下地震波旅行时计算的不等距迎风差分法[J]. 地球物理学报, 2012, 55(7): 2441-2449.
SUN Zhangqing, SUN Jianguo, HAN Fuxing. Traveltime computation using the upwind finite difference method with nonuniform grid spacing in a 3D undulating surface condition[J]. Chinese Journal of Geophysics, 2012, 55(7): 2441-2449.
[20]
Zhao H. A fast sweeping method for Eikonal equations[J]. Mathematics of Computation, 2004, 74(250): 603-627. DOI:10.1090/S0025-5718-04-01678-3
[21]
Zhang Y, Zhao H, Qian J, et al. High order fast swee-ping methods for static Hamilton-Jacobi equations[J]. Journal of Scientific Computing, 2006, 29(1): 25-56. DOI:10.1007/s10915-005-9014-3
[22]
Qian J, Zhang Y, Zhao H, et al. Fast sweeping methods for eikonal equations on triangular meshes[J]. SIAM Journal on Numerical Analysis, 2007, 45(1): 83-107.
[23]
Fomel S, Luo S, Zhao H, et al. Fast sweeping method for the factored eikonal equation[J]. Journal of Computational Physics, 2009, 228(17): 6440-6455. DOI:10.1016/j.jcp.2009.05.029
[24]
Qian J, Zhang Y, Zhao H, et al. A fast sweeping method for static convex Hamilton-Jacobi equations[J]. Journal of Scientific Computing, 2007, 31(1): 237-271.
[25]
Luo S, Qian J. Fast sweeping methods for factored anisotropic eikonal equations:Multiplicative and additive factors[J]. Journal of Scientific Computing, 2012, 52(2): 360-382. DOI:10.1007/s10915-011-9550-y
[26]
Waheed U B, Yarman C E, Flagg G, et al. An iterative, fast-sweeping-based eikonal solver for 3D tilted anisotropic media[J]. Geophysics, 2015, 80(3): C49-C58. DOI:10.1190/geo2014-0375.1
[27]
Waheed U B, Alkhalifah T. A fast sweeping algorithm for accurate solution of the tilted transversely isotro-pic eikonal equation using factorization[J]. Geophy-sics, 2017, 82(6): WB1-WB8.
[28]
Thomsen L. Weak elastic anisotropy[J]. Geophysics, 1986, 51(10): 1954-1966. DOI:10.1190/1.1442051
[29]
Alkhalifah T. An acoustic wave equation for orthorhombic anisotropy[J]. Geophysics, 2003, 68(4): 1169-1172. DOI:10.1190/1.1598109
[30]
Bakulin A, Grechka V, Tsvankin I, et al. Estimation of fracture parameters from reflection seismic data-Part Ⅰ:HTI model due to a single fracture set[J]. Geophysics, 2000, 65(6): 1788-1802. DOI:10.1190/1.1444863
[31]
Sethian J A, Vladimirsky A. Ordered upwind methods for static Hamilton-Jacobi equations:Theory and algorithms[J]. SIAM Journal on Numerical Analysis, 2003, 41(1): 325-363. DOI:10.1137/S0036142901392742
[32]
Tsai Y R, Cheng L, Osher S, et al. Fast sweeping algorithms for a class of Hamilton-Jacobi equations[J]. SIAM Journal on Numerical Analysis, 2003, 41(2): 673-694. DOI:10.1137/S0036142901396533