grn.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
-
void grt_integ_grn_spec(GRT_MODEL1D *mod1d, size_t nf1, size_t nf2, real_t *freqs, size_t nr, real_t *rs, real_t wI, bool keepAllFreq, K_INTEG_METHOD *Kmet, bool print_progressbar, bool calc_upar, pcplxChnlGrid grn[nr], pcplxChnlGrid grn_uiz[nr], pcplxChnlGrid grn_uir[nr], const char *statsstr, size_t nstatsidxs, size_t *statsidxs)
积分计算Z, R, T三个分量格林函数的频谱的核心函数(被Python调用)
- 参数:
mod1d – [inout]
GRT_MODEL1D结构体指针nf1 – [in] 开始计算频谱的频率索引值, 总范围在[nf1, nf2]
nf2 – [in] 结束计算频谱的频率索引值, 总范围在[nf1, nf2]
freqs – [in] 所有频点的频率值(包括未计算的)
nr – [in] 震中距数量
rs – [in] 震中距数组
wI – [in] 虚频率, \( \tilde{\omega} =\omega - i \omega_I \)
keepAllFreq – [in] 计算所有频点,不论频率多低
Kmet – [inout] 波数积分相关参数的结构体指针
print_progressbar – [in] 是否打印进度条
calc_upar – [in] 是否计算位移u的空间导数
grn – [out] 不同震源不同阶数的格林函数的Z、R、T分量频谱结果
grn_uiz – [out] 不同震源不同阶数的ui_z的Z、R、T分量频谱结果
grn_uir – [out] 不同震源不同阶数的ui_r的Z、R、T分量频谱结果
statsstr – [in] 积分过程输出目录
nstatsidxs – [in] 输出积分过程的特定频点的个数
statsidxs – [in] 特定频点的索引值