static_grn.h

以下代码实现的是 广义反射透射系数矩阵+离散波数法 计算静态格林函数,参考:

    1. 姚振兴, 谢小碧. 2022/03. 理论地震图及其应用(初稿).  
    2. 谢小碧, 姚振兴, 1989. 计算分层介质中位错点源静态位移场的广义反射、
         透射系数矩阵和离散波数方法[J]. 地球物理学报(3): 270-280.
Author

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

Date

2025-04-03

Functions

void grt_integ_static_grn(GRT_MODEL1D *mod1d, size_t nr, real_t *rs, real_t vmin_ref, real_t keps, real_t k0, real_t Length, real_t filonLength, real_t safilonTol, real_t filonCut, real_t grn[nr][GRT_SRC_M_NUM][GRT_CHANNEL_NUM], bool calc_upar, real_t grn_uiz[nr][GRT_SRC_M_NUM][GRT_CHANNEL_NUM], real_t grn_uir[nr][GRT_SRC_M_NUM][GRT_CHANNEL_NUM], const char *statsstr)

积分计算Z, R, T三个分量静态格林函数的核心函数

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

  • nr[in] 震中距数量

  • rs[in] 震中距数组

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

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

  • Length[in] 波数k积分间隔 \( dk=2\pi/(fabs(L)*r_{max}) \)

  • filonLength[in] Filon积分间隔

  • safilonTol[in] 自适应Filon积分的采样精度

  • filonCut[in] 波数积分和Filon积分的分割点

  • grn[out] 浮点数数组,不同震源不同阶数的静态格林函数的Z、R、T分量

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

  • grn_uiz[out] 浮点数数组,不同震源不同阶数的ui_z的Z、R、T分量

  • grn_uir[out] 浮点数数组,不同震源不同阶数的ui_r的Z、R、T分量

  • statsstr[in] 积分过程输出目录