|
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
22 | | -void grt_int_Pk( |
23 | | - real_t k, real_t r, |
24 | | - // F(ki,w), 第一个维度表示不同震源,不同阶数,第二个维度3代表三类系数qm,wm,vm |
25 | | - const QWVgrid QWV, |
26 | | - // F(ki,w)Jm(ki*r)ki,第一个维度表示不同震源,不同阶数,第二个维度代表4种类型的F(k,w)Jm(kr)k的类型 |
27 | | - bool calc_uir, |
28 | | - cplx_t SUM[GRT_SRC_M_NUM][GRT_INTEG_NUM]) |
| 22 | +void grt_int_Pk(real_t k, real_t r, const QWVgrid QWV, bool calc_uir, INTEGgrid SUM) |
29 | 23 | { |
30 | 24 | real_t bjmk[GRT_MORDER_MAX+1] = {0}; |
31 | 25 | real_t kr = k*r; |
@@ -70,11 +64,7 @@ void grt_int_Pk( |
70 | 64 | } |
71 | 65 |
|
72 | 66 |
|
73 | | -void grt_int_Pk_filon( |
74 | | - real_t k, real_t r, bool iscos, |
75 | | - const QWVgrid QWV, |
76 | | - bool calc_uir, |
77 | | - cplx_t SUM[GRT_SRC_M_NUM][GRT_INTEG_NUM]) |
| 67 | +void grt_int_Pk_filon(real_t k, real_t r, bool iscos, const QWVgrid QWV, bool calc_uir, INTEGgrid SUM) |
78 | 68 | { |
79 | 69 | real_t phi0 = 0.0; |
80 | 70 | if(! iscos) phi0 = - HALFPI; // 在cos函数中添加的相位差,用于计算sin函数 |
@@ -159,11 +149,7 @@ static cplx_t interg_quad_cos( |
159 | 149 |
|
160 | 150 |
|
161 | 151 |
|
162 | | -void grt_int_Pk_sa_filon( |
163 | | - const real_t k3[3], real_t r, |
164 | | - const QWVgrid QWV3[3], |
165 | | - bool calc_uir, |
166 | | - cplx_t SUM[GRT_SRC_M_NUM][GRT_INTEG_NUM]) |
| 152 | +void grt_int_Pk_sa_filon(const real_t k3[3], real_t r, const QWVgrid QWV3[3], bool calc_uir, INTEGgrid SUM) |
167 | 153 | { |
168 | 154 | // 使用bessel递推公式 Jm'(x) = m/x * Jm(x) - J_{m+1}(x) |
169 | 155 | // 考虑大震中距,忽略第一项,再使用bessel渐近公式 |
@@ -208,11 +194,7 @@ void grt_int_Pk_sa_filon( |
208 | 194 |
|
209 | 195 |
|
210 | 196 |
|
211 | | -void grt_merge_Pk( |
212 | | - // F(ki,w)Jm(ki*r)ki, |
213 | | - const cplx_t sum_J[GRT_SRC_M_NUM][GRT_INTEG_NUM], |
214 | | - // 累积求和,Z、R、T分量 |
215 | | - cplx_t tol[GRT_SRC_M_NUM][GRT_CHANNEL_NUM]) |
| 197 | +void grt_merge_Pk(const INTEGgrid sum_J, cplx_t tol[GRT_SRC_M_NUM][GRT_CHANNEL_NUM]) |
216 | 198 | { |
217 | 199 | for(int i=0; i<GRT_SRC_M_NUM; ++i){ |
218 | 200 | int modr = GRT_SRC_M_ORDERS[i]; |
|
0 commit comments