dwm.h

以下代码实现的是 使用离散波数法求积分,参考:

    1. 姚振兴, 谢小碧. 2022/03. 理论地震图及其应用(初稿).  
    2. Yao Z. X. and D. G. Harkrider. 1983. A generalized refelection-transmission coefficient 
          matrix and discrete wavenumber method for synthetic seismograms. BSSA. 73(6). 1685-1699
Author

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

Date

2024-07-24

Functions

real_t grt_discrete_integ(GRT_MODEL1D *mod1d, real_t dk, real_t kmax, real_t keps, size_t nr, real_t *rs, cplx_t sum_J[nr][GRT_SRC_M_NUM][GRT_INTEG_NUM], bool calc_upar, cplx_t sum_uiz_J[nr][GRT_SRC_M_NUM][GRT_INTEG_NUM], cplx_t sum_uir_J[nr][GRT_SRC_M_NUM][GRT_INTEG_NUM], FILE *fstats, GRT_KernelFunc kerfunc)

传统的离散波数积分,结果以三维数组的形式返回,形状分别代表震中距、不同震源不同阶数 和4种积分类型(p=0,1,2,3)

参数:
  • mod1d[inout] GRT_MODEL1D 结构体指针

  • dk[in] 波数积分间隔

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

  • keps[in] 波数积分的收敛条件,要求在某震中距下所有格林函数都收敛,为负数代表不提前判断收敛,按照波数积分上限进行积分

  • nr[in] 震中距数量

  • rs[in] 震中距数组

  • sum_J[out] 积分值

  • calc_upar[in] 是否计算位移u的空间导数

  • sum_uiz_J[out] uiz的积分值

  • sum_uir_J[out] uir的积分值

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

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

返回:

k 积分截至时的波数