✍️ 朱邓达  •  📅 2025-12-10

kernel

简介:

使用广义反射透射系数矩阵法计算不同频率、不同相速度的核函数

语法

grt kernel -Mmodel -Ddepsrc/deprcv -Ff1/f2/df[+wzeta] -C[cmin/cmax/]dc -Ooutdir [ -Pnthreads ] [ -e ] [ -h ]

描述

kernel 模块算是 greenfn 模块中 -S 选项的便捷版本。 通过直接指定离散的频率和相速度,计算对应的核函数。 与 greenfn -S 的输出相比, kernel 模块输出的是理论核函数,输出文件将以 C 开头, 表示采样点位置记录的是相速度。 输出文件为二进制格式,可使用 ker2asc 转为文本格式。

必选选项

-Mmodel

半空间层状模型文件的路径。模型格式如下:

Thickness(km)    Vp(km/s)    Vs(km/s)   Rho(g/cm^3)   [Qp]   [Qs]

后两列的 Qp, Qs 可省略。

  • 如果首列首行的值为正数,则首列表示 每层厚度 (km) ,最后一层为半空间,其厚度设置为 0 即可(不会被使用)。

  • 如果首列首行的值为 0,则首列表示 每层层顶深度 (km)

  • 如果某层设置 Vs = 0,则该层为液体层。

-Ddepsrc/deprcv

震源深度 depsrc (km) 和台站深度 deprcv (km)。 如果是在使用波数积分法求解格林函数,则当二者深度差小于 1 km 时,自动使用快速收敛算法。

-Ff1/f2/df[+wzeta]

频率范围 (Hz)。

  • f1 - 最小频率,如果为 0 则自动跳到下一个 df

  • f2 - 最大频率。

  • df - 频率间隔。

+wzeta 用于在频率上增加一个微小虚部,即 \(\omega \leftarrow \omega - i \omega_I\) , 其中 \(\omega_I = \zeta \cdot \pi \cdot \Delta f\) 。 这里虚频率的效果是使核函数在极点附近的峰值范围变宽,方便可视化。[默认 zeta=20]

-C[cmin/cmax/]dc

相速度范围 (km/s)。

  • cmin - 最小相速度。

  • cmax - 最大相速度。

  • dc - 相速度间隔。

如果仅指定 -Cdc ,则自动设置 cmin 为 0.8 倍的模型最小非零速度, cmax 为模型最大速度。

-Ooutdir

输出目录名,不存在会自动新建。若存在同名保存路径则直接覆盖已有结果。

可选选项

-Pnthreads

多线程数,默认使用全部线程。

-e

改为输出位移对z偏导的核函数。

-h

打印帮助文档。

示例

详见 核函数 f-v 谱图