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] 积分过程输出目录