1.一种在任意曲面实现射线追踪的任意曲面快速行进方法,其特征在于所述任意曲面快速行进方法的核心技术是在非正交网格实现走时的计算;
所述方法包括以下步骤:
(1)建立速度网格模型(Velocity grids),对曲面进行网格划分,给出每个网格点的速度值,划分得到的网格为三角形网格;
(2)建立起伏地形模型,进行传播网格化剖分,并对地形起伏进行光滑处理以保证算法的效率;然后得到有光滑度的任意起伏地形模型;对震源处附近的网格进行细化处理以保证计算的精度;然后根据传播网格周围的速度网格,通过插值方法得到传播网格节点的速度值;最后对网格进行检查,并进行适当调整以保证计算的正确;
(3)对每一个三角形网格进行计算;首先,从震源处所在的网格开始计算;即从震源开始,波前传至周围的网格点;从震源处开始计算,一直到曲面上所有的网格点都遍历,完成射线追踪;
(4)找出震源至台站的射线路径;从台站开始,在每个网格中求梯度,负梯度的方向就是射线方向,把射线沿途经过的网格点中负梯度都求出来;从接收台站开始,连接所有沿途网格中射线的线段,直至震源处,得到震源-台站的射线路径;此外,在计算每个网格点的到时的同时,计算每个速度网格节点速度的微小变化对走时的影响,也就是进行走时计算的同时,也计算出Frechet导数值为面波反演作准备;保存走时信息和Frechet导数值,完成FMM方法的射线追踪;
其中三角网格中的计算为;在计算波前到时Ti和Tj,可以利用i和j节点处的慢度和在和 方向导数 需要在计算每个节点走时的同时,也要保存每个节点的走时梯度方向;下面的公式(2)和(3)表达了网格点i、j处a和b方向导数和三角形两条边a和b上的平均方向导数之间的关系;
其中 和 分别表示网格点i、j和o处 方向和 方向的方向导数,
和 是三角形a和b上的平均方向导数;利用这两个公式可以用已知网格点i和j上的方向导数和三角形边上的平均方向导数得到网格点O处 和 方向的方向导数;
由网格点O处 和 方向导数,求O处梯度的算法,建立直角坐标系,所求的O处走时梯度坐标为(x0,y0),那么建立下列方程组:其中 和 分别是网格点O处方向导数 和 到时To的
函数,SO是网格点O处的慢度;将方程组(4)求得的x0和y0代入公式(5),最后得到:由此公式求得网格点O处的到时TO,这样就完成了一个三角形网格中的计算,θ为三角形内角;
划分三角形网格即为建立锐角三角形,具体分为在不考虑地表起伏的水平面建立等边三角形;而若考虑到地形的起伏,所建立的三角形内角在60度附近。