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(GRT_MODEL1D *mod1d, real_t k0, real_t dk0, real_t filondk, 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)
基于线性插值的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\).- 参数:
mod1d – [inout]
GRT_MODEL1D结构体指针k0 – [in] 前一部分的波数积分结束点k值
dk0 – [in] 前一部分的波数积分间隔
filondk – [in] filon积分间隔
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 积分截至时的波数