secular.h
- Author
Zhu Dengda (zhudengda@mail.iggcas.ac.cn)
- Date
2025-07
计算Rayleigh波和Love波的久期函数
Functions
-
void grt_GRT_matrix_allLayer_Rayl(MODEL1D_STATE *mstat, const real_t k, RT_MATRIX *Mall_RL, RT_MATRIX *Mall_FR)
计算所有层位的两个 P-SV 广义矩阵: RD_RL, RU_FR
- 参数:
mstat – [in] 模型结构体指针
k – [in] 本征波数
Mall_RL – [out] 所有层的 RD_RL 矩阵
Mall_FR – [out] 所有层的 RU_FR 矩阵
-
void grt_GRT_matrix_allLayer_Love(MODEL1D_STATE *mstat, const real_t k, RT_MATRIX *Mall_RL, RT_MATRIX *Mall_FR)
计算所有层位的两个 P-SV 广义矩阵: RD_RL, RU_FR
-
void grt_GRT_matrix_Rayl(MODEL1D_STATE *mstat, const real_t k, const size_t iref)
计算指定层位 iref 处的两个 SH 广义矩阵(标量): RDL_RL, RUL_FR
- 参数:
mstat – [in] 模型结构体指针
k – [in] 本征波数
iref – [in] 当前层位
-
void grt_GRT_matrix_Love(MODEL1D_STATE *mstat, const real_t k, const size_t iref)
计算所有层位的两个 SH 广义矩阵(标量): RDL_RL, RUL_FR
-
real_t grt_secular_function_cbegin(const MODEL1D_STATE *mstat, const size_t iref, DISPER_TYPE wtype)
以 iref 层为参考层定义久期函数时,相速度搜索的一个比较合适的起始位置
- 参数:
mstat – [in] 模型结构体指针
iref – [in] 当前层位
wtype – [in] 频散类型
- 返回:
相速度搜索起始点
-
void grt_secular_function_potential_Rayl(MODEL1D_STATE *mstat, const real_t cphase, const size_t iref, cplx_t *psec, cplx_t ppot[GRT_RAYL_DIM], cplx_t ppotUp[GRT_RAYL_DIM])
计算 Rayleigh 波的久期函数
- 参数:
mstat – [in] 模型结构体指针
cphase – [in] 本征相速度
iref – [in] 当前层位
psec – [out] 久期函数值
ppot – [out] 对应z+处垂直波函数,不需要则设置为NULL
ppotUp – [out] 对应z-处垂直波函数,不需要则设置为NULL【这个仅在液固界面才会用到】
-
void grt_secular_function_potential_Love(MODEL1D_STATE *mstat, real_t cphase, const size_t iref, cplx_t *psec, cplx_t ppot[GRT_LOVE_DIM])
计算 Love 波的久期函数
- 参数:
mstat – [in] 模型结构体指针
cphase – [in] 本征相速度
iref – [in] 当前层位
psec – [out] 久期函数值
ppot – [out] 对应垂直波函数,不需要则设置为NULL
-
void grt_secular_function_potential(MODEL1D_STATE *mstat, real_t cphase, const size_t iref, const DISPER_TYPE wtype, cplx_t *psec, cplx_t *ppot, cplx_t *ppotUp)
合并 secular_function_potential_Rayl(Love)
-
void grt_secular_function(MODEL1D_STATE *mstat, real_t cphase, const size_t iref, const DISPER_TYPE wtype, cplx_t *psec)
只求久期函数值,即在 secular_function_potential 中设置 ppot=NULL, ppotUp=NULL