:author: 朱邓达 :date: 2025-06-23 :updated_date: 2025-08-19 含液体层的反射透射系数矩阵 ================================== 当界面两侧存在液体时,边界条件变为 **垂直位移连续,垂直应力连续,切向应力为0** ,此时使用 :doc:`RT` 介绍的方法,可以比较方便直观地推导含液体层的 R/T 矩阵。 以下推导以动态解为例,最终每一项系数的详细表达式我使用 Python 库 `SymPy `_ 辅助推导,可在这里下载 :download:`RT_liquid_formula.ipynb` ( :doc:`预览 ` )。 液体-液体界面 ------------------ 在液体层内,位移垂直波函数(仅P波)与位移应力矢量之间的关系可以表示为(略去角标 :math:`j`) .. math:: :label: \begin{bmatrix} w_m \\ \sigma_{Rm} \\ \end{bmatrix} = \begin{bmatrix} a & -a \\ -\rho\omega^2 & -\rho\omega^2 \\ \end{bmatrix} \begin{bmatrix} \phi_m^- \\ \phi_m^+ \\ \end{bmatrix} 相当于从固体情况的关系式中提取部分项,其中 :math:`2\mu\Omega` 转变为 .. math:: 2\mu\Omega \rightarrow \lim_{\beta \rightarrow 0} 2\beta^2\rho(k^2 - \dfrac{1}{2}k_\beta^2) = -\rho\omega^2 为简单起见,我们假设界面位于第1/2层之间,根据边界条件,有 .. math:: :label: \begin{bmatrix} a_1 & -a_1 \\ -\rho_1\omega^2 & -\rho_1\omega^2 \\ \end{bmatrix} \begin{bmatrix} \phi_m^-(z_1^-) \\ \phi_m^+(z_1^-) \\ \end{bmatrix} = \begin{bmatrix} a_2 & -a_2 \\ -\rho_2\omega^2 & -\rho_2\omega^2 \\ \end{bmatrix} \begin{bmatrix} \phi_m^-(z_1^+) \\ \phi_m^+(z_1^+) \\ \end{bmatrix} 后续的 R/T 矩阵推导过程与固体-固体界面情况完全一样,只是矩阵元素和维度发生变化(但仍是方阵)。通过类似的对波入射方向的讨论,可以得到 R/T 矩阵满足(此时 R/T 矩阵已退化为 1x1 的标量) .. math:: :label: \begin{bmatrix} T_U & R_D \\ R_U & T_D \\ \end{bmatrix} = \begin{bmatrix} -a_1 & -a_2 \\ \rho_1\omega^2 & -\rho_2\omega^2 \\ \end{bmatrix}^{-1} \begin{bmatrix} -a_2 & -a_1 \\ \rho_2\omega^2 & -\rho_1\omega^2 \\ \end{bmatrix} 其中 .. math:: :label: R_D &= \dfrac{a_1\rho_2 - a_2\rho_1}{a_1\rho_2 + a_2\rho_1} \\ R_U &= \dfrac{a_2\rho_1 - a_1\rho_2}{a_1\rho_2 + a_2\rho_1} \\ T_D &= \dfrac{2 a_1\rho_1}{a_1\rho_2 + a_2\rho_1} \\ T_U &= \dfrac{2 a_2\rho_2}{a_1\rho_2 + a_2\rho_1} \\ 在程序中为保持 2x2 矩阵,只将以上结果填充在对应位置即可,其余项为0,例如 .. math:: \mathbf{R}_D^{2\times2} = \begin{bmatrix} R_D & 0 \\ 0 & 0 \\ \end{bmatrix} 液体-固体界面 ------------------ 我们使用角标 :math:`l` 表示液体层,角标 :math:`s` 表示固体层。当上层为液体,下层为固体时,根据边界条件,有 .. math:: :label: layer12 \left[ \begin{array}{c|c} a_l & -a_l \\ -\rho_l\omega^2 & -\rho_l\omega^2 \\ \hline 0 & 0 \\ \end{array} \right] \left[ \begin{array}{c} \phi_m^-(z_1^-) \\ \hline \phi_m^+(z_1^-) \\ \end{array} \right] = \left[ \begin{array}{cc|cc} a_s & k & -a_s & k \\ 2\mu_s\Omega_s & 2k\mu_s b_s & 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline 2k\mu_s a_s & 2\mu_s\Omega_s & -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right] \left[ \begin{array}{c} \phi_m^- (z_1^+) \\ \psi_m^- (z_1^+) \\ \hline \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{array} \right] 其中上层液体层仅有 P 波垂直波函数(2x1),而下层固体层有的 P、SV 波垂直波函数,这直接表明此情况下的 R/T 矩阵形状不一,会存在 2x1、1x2 等的形状。 波从上向下入射 ~~~~~~~~~~~~~~~~ 此时下层没有向上传播的入射波,即 :math:`[\phi_m^- (z_1^+), \psi_m^- (z_1^+)]^T = \mathbf{0}` ,:eq:`layer12` 式变为 .. math:: :label: \left[ \begin{array}{c|c} a_l & -a_l \\ -\rho_l\omega^2 & -\rho_l\omega^2 \\ \hline 0 & 0 \\ \end{array} \right] \left[ \begin{array}{c} \phi_m^-(z_1^-) \\ \hline \bbox[yellow] {\phi_m^+(z_1^-)} \\ \end{array} \right] = \left[ \begin{array}{cc} -a_s & k \\ 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right] \begin{bmatrix} \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{bmatrix} 其中高亮部分的垂直波函数为当前情况的“已知项”,通过移项+矩阵重排的方式可得到 .. math:: :label: U2D \left[ \begin{array}{c|cc} -a_l & -a_s & k \\ \rho_l\omega^2 & 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline 0 & -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right] \left[ \begin{array}{c} \phi_m^-(z_1^-) \\ \hline \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{array} \right] = \left[ \begin{array}{c} -a_l \\ -\rho_l\omega^2 \\ \hline 0 \end{array} \right] \left[\bbox[yellow]{\phi_m^+(z_1^-)}\right] 其中等号左边矩阵前两列的负号由移项产生,此时左边的垂直波函数矢量(作为未知量)已经变成两层的混合版本,适定方程可简单使用逆矩阵求解,得到 .. math:: :label: \begin{bmatrix} \phi_m^- (z_1^-) \\ \end{bmatrix} = \mathbf{R}_D^{1\times1} \begin{bmatrix} \bbox[yellow] {\phi_m^+ (z_1^-)} \\ \end{bmatrix} \begin{bmatrix} \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{bmatrix} = \mathbf{T}_D^{2\times1} \begin{bmatrix} \bbox[yellow] {\phi_m^+ (z_1^-)} \\ \end{bmatrix} 波从下向上入射 ~~~~~~~~~~~~~~~~ 此时上层没有向下传播的入射波,即 :math:`\phi_m^+ (z_1^-) = 0` ,:eq:`layer12` 式变为 .. math:: :label: \left[ \begin{array}{c} a_l \\ -\rho_l\omega^2 \\ \hline 0 \end{array} \right] \left[\phi_m^-(z_1^-)\right] = \left[ \begin{array}{cc|cc} a_s & k & -a_s & k \\ 2\mu_s\Omega_s & 2k\mu_s b_s & 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline 2k\mu_s a_s & 2\mu_s\Omega_s & -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right] \left[ \begin{array}{c} \bbox[yellow] {\phi_m^- (z_1^+)} \\ \bbox[yellow] {\psi_m^- (z_1^+)} \\ \hline \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{array} \right] 其中高亮部分的垂直波函数同样为当前情况的“已知项”,为保持与 :eq:`U2D` 式的形式匹配,通过类似的移项+矩阵重排的方式可得到 .. math:: :label: D2U \left[ \begin{array}{c|cc} -a_l & -a_s & k \\ \rho_l\omega^2 & 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline 0 & -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right] \left[ \begin{array}{c} \phi_m^-(z_1^-) \\ \hline \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{array} \right] = \left[ \begin{array}{cc|cc} -a_s & -k \\ -2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline -2k\mu_s a_s & -2\mu_s\Omega_s \\ \end{array} \right] \left[ \begin{array}{c} \bbox[yellow] {\phi_m^- (z_1^+)} \\ \bbox[yellow] {\psi_m^- (z_1^+)} \\ \end{array} \right] 矩阵中的负号由移项产生,等号左边形式与 :eq:`U2D` 式完全一致。同样该适定方程可简单使用逆矩阵求解,得到 .. math:: :label: \begin{bmatrix} \phi_m^- (z_1^-) \\ \end{bmatrix} = \mathbf{T}_U^{1\times2} \begin{bmatrix} \bbox[yellow] {\phi_m^- (z_1^+)} \\ \bbox[yellow] {\psi_m^- (z_1^+)} \\ \end{bmatrix} \begin{bmatrix} \phi_m^+ (z_1^+) \\ \psi_m^+ (z_1^+) \\ \end{bmatrix} = \mathbf{R}_U^{2\times2} \begin{bmatrix} \bbox[yellow] {\phi_m^- (z_1^+)} \\ \bbox[yellow] {\psi_m^- (z_1^+)} \\ \end{bmatrix} 合并求解 ~~~~~~~~~~ :eq:`U2D` 式和 :eq:`D2U` 式可合并,一并使用逆矩阵求得最终液体-固体界面上的 R/T 矩阵, .. math:: :label: \begin{bmatrix} \mathbf{T}_U^{1\times2} & \mathbf{R}_D^{1\times1} \\ \mathbf{R}_U^{2\times2} & \mathbf{T}_D^{2\times1} \\ \end{bmatrix}_{3\times3} = \left[ \begin{array}{c|cc} -a_l & -a_s & k \\ \rho_l\omega^2 & 2\mu_s\Omega_s & -2k\mu_s b_s \\ \hline 0 & -2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right]^{-1} \left[ \begin{array}{cc|c} -a_s & -k & -a_l \\ -2\mu_s\Omega_s & -2k\mu_s b_s & -\rho_l\omega^2\\ \hline -2k\mu_s a_s & -2\mu_s\Omega_s & 0 \\ \end{array} \right] 固体-液体界面 ---------------- 当上层为固体,下层为液体时,推导过程和 `液体-固体界面`_ 完全一致。这里仅给出最终的 R/T 矩阵满足的计算式,读者稍作推导即可验证, .. math:: :label: \begin{bmatrix} \mathbf{T}_D^{1\times2} & \mathbf{R}_U^{1\times1} \\ \mathbf{R}_D^{2\times2} & \mathbf{T}_U^{2\times1} \\ \end{bmatrix}_{3\times3} = \left[ \begin{array}{c|cc} a_l & a_s & k \\ \rho_l\omega^2 & 2\mu_s\Omega_s & 2k\mu_s b_s \\ \hline 0 & 2k\mu_s a_s & 2\mu_s\Omega_s \\ \end{array} \right]^{-1} \left[ \begin{array}{cc|c} a_s & -k & a_l \\ -2\mu_s\Omega_s & 2k\mu_s b_s & -\rho_l\omega^2\\ \hline 2k\mu_s a_s & -2\mu_s\Omega_s & 0 \\ \end{array} \right] 之后的操作如增加时间延迟因子,广义 R/T 矩阵递推等不受影响。在程序中为保持 2x2 矩阵,只将以上结果填充在对应位置即可,其余项为0。