fim.h

以下代码实现的是基于线性插值的Filon积分,参考:

    1. 姚振兴, 谢小碧. 2022/03. 理论地震图及其应用(初稿).   
    2. 纪晨, 姚振兴. 1995. 区域地震范围的宽频带理论地震图算法研究. 地球物理学报. 38(4)
Author

Zhu Dengda (zhudengda@mail.iggcas.ac.cn)

Date

2024-07-24

Functions

real_t grt_linear_filon_integ(MODEL1D_STATE *mstat, real_t k0, real_t dk0, real_t dk, real_t kmax, real_t keps, size_t nr, real_t *rs, K_INTEG *K, FILE *fstats, GRT_KernelFunc kerfunc)

基于线性插值的Filon积分(5.9.6-11), 在大震中距下对Bessel函数取零阶近似,得

\[ J_m(x) \approx \sqrt{\frac{2}{\pi x}} \cos(x - \frac{m \pi}{2} - \frac{\pi}{4}) \]
其中 \(x=kr\).

参数:
  • mstat[inout] MODEL1D_STATE 结构体指针

  • k0[in] 前一部分的波数积分结束点k值

  • dk0[in] 前一部分的波数积分间隔

  • filondk[in] filon积分间隔

  • kmax[in] 波数积分的上限

  • keps[in] 波数积分的收敛条件,要求在某震中距下所有格林函数都收敛

  • nr[in] 震中距数量

  • rs[in] 震中距数组

  • K[inout] 用于存储积分的结构体

  • fstats[out] 文件指针,保存不同k值的格林函数积分核函数

  • kerfunc[in] 计算核函数的函数指针

返回:

k 积分截至时的波数