diff --git a/docs/locales/en/LC_MESSAGES/Advanced/integ_converg/integ_converg.po b/docs/locales/en/LC_MESSAGES/Advanced/integ_converg/integ_converg.po index c59af50c..3ae3e55f 100644 --- a/docs/locales/en/LC_MESSAGES/Advanced/integ_converg/integ_converg.po +++ b/docs/locales/en/LC_MESSAGES/Advanced/integ_converg/integ_converg.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PyGRT 0.6.1.dev1+g4641a40.d20250422\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-24 18:17+0800\n" +"POT-Creation-Date: 2025-05-10 18:16+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: en\n" @@ -117,11 +117,11 @@ msgstr "" #: ../../source/Advanced/integ_converg/integ_converg.rst:65 msgid "" -"其中除了波数 ``k`` 外,每条结果的命名格式均为 ``{srcType}_{q/w/v}{m}``,与 :ref:`gfunc_rst` " +"其中除了波数 ``k`` 外,每条结果的命名格式均为 ``{srcType}_{q/w/v}``,与 :ref:`gfunc_rst` " "部分介绍的积分公式中的核函数 :math:`q_m, w_m, v_m` 保持一致。" msgstr "" "Except for the wavenumber ``k``, the naming format of each result is " -"``{srcType}_{q/w/v}{m}``, consistent with the kernel functions " +"``{srcType}_{q/w/v}``, consistent with the kernel functions " ":math:`q_m, w_m, v_m` introduced in the integral formulas in the " ":ref:`gfunc_rst` section." diff --git a/docs/source/Advanced/integ_converg/integ_converg.rst b/docs/source/Advanced/integ_converg/integ_converg.rst index a95e76d8..8ebcaedd 100644 --- a/docs/source/Advanced/integ_converg/integ_converg.rst +++ b/docs/source/Advanced/integ_converg/integ_converg.rst @@ -62,7 +62,7 @@ C和Python导出的核函数文件是一致的,底层调用的是相同的函 :start-after: BEGIN read statsfile :end-before: END read statsfile -其中除了波数 ``k`` 外,每条结果的命名格式均为 ``{srcType}_{q/w/v}{m}``,与 :ref:`gfunc_rst` 部分介绍的积分公式中的核函数 :math:`q_m, w_m, v_m` 保持一致。 +其中除了波数 ``k`` 外,每条结果的命名格式均为 ``{srcType}_{q/w/v}``,与 :ref:`gfunc_rst` 部分介绍的积分公式中的核函数 :math:`q_m, w_m, v_m` 保持一致。 .. note:: diff --git a/docs/source/Formula/index.rst b/docs/source/Formula/index.rst new file mode 100644 index 00000000..9f033b4a --- /dev/null +++ b/docs/source/Formula/index.rst @@ -0,0 +1,24 @@ +公式补充 +================ + +:Author: Zhu Dengda +:Email: zhudengda@mail.iggcas.ac.cn + +----------------------------------------------------------- + +(以下面向选修中科院《理论地震学》课程的学生) + +硕士阶段我在雁栖湖选修了中科院《理论地震学》课程,教材包括 :ref:`《理论地震图及其应用(初稿)》 ` ,后因兴趣,研读了相关论文,推导公式,编写了 **PyGRT** 程序包。以下是摸索过程中推导的一些公式(持续补充),作为对教材公式的补充,欢迎批评指正。 + +.. note:: + + 公式推导过程中的Z轴取向下为正,详见 :ref:`Warning ` 。 + +.. toctree:: + :maxdepth: 1 + + static_uniform + static_source + + + diff --git a/docs/source/Formula/static_source.rst b/docs/source/Formula/static_source.rst new file mode 100644 index 00000000..8db32aee --- /dev/null +++ b/docs/source/Formula/static_source.rst @@ -0,0 +1,317 @@ +静力学单力源的震源系数 +=========================== + +:Author: Zhu Dengda +:Email: zhudengda@mail.iggcas.ac.cn + +----------------------------------------------------------- + +在 :ref:`《理论地震图及其应用(初稿)》 ` 以及相关文献中,已给出静力学位错震源的震源系数,这里不再重复。以下补充对应单力源的震源系数。 + +公式回顾 +----------------- +求解静力学震源系数的方法与动力学方法类似。在无外力情况下,静力学弹性波方程为 + +.. math:: + :label: + + (\lambda+2\mu) \nabla(\nabla \cdot \mathbf{u}) - \mu \nabla \times (\nabla \times \mathbf{u}) = 0 + +此时位移 :math:`\mathbf{u}` 可使用三个线性独立的基本解表示, + +.. math:: + :label: u_pot3 + + \mathbf{u} = \nabla \phi + + \left\{ + 2 \dfrac{\partial\psi}{\partial z} \mathbf{e}_z - + \left[ + 1 + 2 \Delta (z-z_j)\dfrac{\partial}{\partial z} + \right] \nabla \psi + \right\} + + \nabla \times (\chi \mathbf{e}_z) + +其中 :math:`\Delta=\dfrac{\lambda+\mu}{\lambda+3\mu}` ,位移势函数 :math:`\phi, \psi, \chi` 满足Laplace方程, + +.. math:: + :label: + + \nabla^2 \phi &= 0 \\ + \nabla^2 \psi &= 0 \\ + \nabla^2 \chi &= 0 \\ + +在柱坐标系下,三个势函数的解可表示为 + +.. math:: + :label: pot3 + + \phi(r, \theta, z) &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty \phi_m(k,z) J_m(kr) k dk + \\ + \psi(r, \theta, z) &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty \psi_m(k,z) J_m(kr) k dk + \\ + \chi(r, \theta, z) &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty \chi_m(k,z) J_m(kr) k dk + \\ + +其中垂直波函数 + +.. math:: + :label: pot_BDF + + \phi_m &= B_m e^{-k|z-z_j|} \\ + \psi_m &= D_m e^{-k|z-z_j|} \\ + \chi_m &= F_m e^{-k|z-z_j|} \\ + + +为方便求解,使用柱面谐矢量(vector cylindrical harmonics) :math:`(\mathbf{B}_m, \mathbf{C}_m, \mathbf{P}_m)` 表示位移 :math:`\mathbf{u}` , + +.. math:: + :label: u_qwv + + \mathbf{u} = \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty + ( q_m(k,z) \mathbf{B}_m + v_m(k,z) \mathbf{c}_m + w_m(k,z) \mathbf{P}_m ) k dk + +其中, + +.. math:: + :label: + + \mathbf{B}_m &= \left(\mathbf{e}_r \dfrac{\partial}{\partial kr} + \mathbf{e}_\theta \dfrac{1}{kr}\dfrac{\partial}{\partial\theta}\right) J_m(kr)e^{im\theta} + \\ + \mathbf{C}_m &= \left(\mathbf{e}_r \dfrac{1}{kr}\dfrac{\partial}{\partial\theta} - \mathbf{e}_\theta \dfrac{\partial}{\partial kr}\right) J_m(kr)e^{im\theta} + \\ + \mathbf{P}_m &= \mathbf{e}_z J_m(kr)e^{im\theta} + +将 :eq:`u_pot3` 式和 :eq:`pot3` 式代入 :eq:`u_qwv` 式,得到系数 :math:`q_m, v_m, w_m` 和势函数之间的关系, + +.. math:: + :label: qwv_pot + + q_m &= \phi_m - \left[ 1 + 2\Delta(z-z_j)\dfrac{\partial}{\partial z} \right] \psi_m + \\ + w_m &= \dfrac{1}{k} \dfrac{\partial\phi_m}{\partial z} + \dfrac{1}{k} \left[ \dfrac{\partial}{\partial z} - 2\Delta k^2 (z-z_j) \right] \psi_m + \\ + v_m &= \chi_m + \\ + +其中三个势函数均吸收了 :math:`k` 因子,即 :math:`\phi_m \leftarrow k\phi_m, \psi_m \leftarrow k\psi_m, \chi_m \leftarrow k\chi_m` ,这会体现在后续的震源系数中。 + +为了求解震源系数,需将 :ref:`static_uniform` 部分的最终表达式展开成 :eq:`u_qwv` 的形式,对应的垂直波函数的系数 :math:`(B_m, D_m, F_m)` 即为震源系数。具体而言,我们可将位移同一分量的不同表达式进行对比得到震源系数。将 :eq:`qwv_pot` 式代入 :eq:`u_qwv` 式,柱坐标系下的位移三分量表达式为 + +.. math:: + :label: + + u_r &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty + \left\{ + \left\{ + \phi_m - \left[ 1 + 2\Delta(z-z_j) \dfrac{\partial}{\partial z} \right] \psi_m + \right\} J_m^{'}(kr) + + \chi_m \dfrac{im}{kr} J_m(kr) + \right\} k dk + \\ + u_\theta &= \sum_{m=-\infty}^{\infty} i e^{im\theta} \int_0^\infty + \left\{ + \left\{ + \phi_m - \left[ 1 + 2\Delta(z-z_j) \dfrac{\partial}{\partial z} \right] \psi_m + \right\} \dfrac{m}{kr} J_m(kr) + + i \chi_m J_m^{'}(kr) + \right\} k dk + \\ + u_z &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty + \left\{ + \dfrac{1}{k} \dfrac{\partial\phi_m}{\partial z} + \dfrac{1}{k} \left[ \dfrac{\partial}{\partial z} - 2\Delta k^2 (z-z_j) \right] \psi_m + \right\} J_m(kr) k dk + \\ + +再将 :eq:`pot_BDF` 式代入,整理得到, + +.. math:: + :label: u_BDF + + u_r &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty + \left\{ + \left[ + (B_m - D_m) + 2\Delta\varepsilon k (z-z_j) D_m + \right] J_m^{'}(kr) + + F_m \dfrac{im}{kr} J_m(kr) + \right\} e^{-k|z-z_j|} k dk + \\ + u_\theta &= \sum_{m=-\infty}^{\infty} i e^{im\theta} \int_0^\infty + \left\{ + \left[ + (B_m - D_m) + 2\Delta\varepsilon k (z-z_j) D_m + \right] \dfrac{m}{kr} J_m(kr) + + i F_m J_m^{'}(kr) + \right\} e^{-k|z-z_j|} k dk + \\ + u_z &= \sum_{m=-\infty}^{\infty} e^{im\theta} \int_0^\infty + \left[-\varepsilon (B_m + D_m) - 2\Delta k (z-z_j) D_m \right] + J_m(kr) e^{-k|z-z_j|} k dk + +其中, + +.. math:: + + \varepsilon = + \begin{cases} + -1, \ \ &当 z < z_j 为上行波 \\ + 1, \ \ & 当 z > z_j 为下行波 \\ + \end{cases} + + +垂向力源的震源系数 +---------------------- +当力的方向为 :math:`\mathbf{n}=\mathbf{e}_z` 时,径向的静态位移为 + +.. math:: + :label: vert_ur + + u_r = G_{13} \cos \theta + G_{23} \sin \theta = \dfrac{1}{4\pi \mu} \dfrac{\Delta}{1+\Delta} \dfrac{r(z-z_j)}{R^3} + +其中 :math:`r` 为水平距离, :math:`R=\sqrt{r^2 + (z-z_j)^2}` 为水平距离。根据Sommerfeld积分公式,有 + +.. math:: + :label: + + \dfrac{r(z-z_j)}{R^3} = \int_0^\infty k (z-z_j) \dfrac{e^{-k|z-z_j|}}{k} J_1(kr) k dk + +将上式代入 :eq:`vert_ur` 式,利用Bessel函数的性质 :math:`J_0^{'}(x) = -J_1(x)` ,得到径向位移的积分表达式 + +.. math:: + :label: + + u_r = \dfrac{1}{4\pi \mu} \dfrac{\Delta}{1+\Delta} \int_0^\infty - (z-z_j) e^{-k|z-z_j|} J_0^{'}(kr) k dk + +将上式与 :eq:`u_BDF` 式中的径向位移 :math:`u_r` 表达式对比,得到震源系数 + +.. math:: + :label: + + B_0 &= D_0 = - \dfrac{\varepsilon}{8\pi\mu(1+\Delta)k} \\ + F_0 &= 0 + +为简化表达式和系数,将 :eq:`pot_BDF` 式代入 :eq:`u_pot3` 式,结合以上解的具体形式,提出公共因子,整理得到势函数的表达式, + +.. math:: + :label: pot_A_PS + + \phi(r, \theta, z) &= \dfrac{1}{4\pi\mu} \sum_{m=0}^{2} A_m(\theta) \int_0^\infty P_m(k,z) e^{-k|z-z_j|} J_m(kr) k dk + \\ + \psi(r, \theta, z) &= \dfrac{1}{4\pi\mu} \sum_{m=0}^{2} A_m(\theta) \int_0^\infty SV_m(k,z) e^{-k|z-z_j|} J_m(kr) k dk + \\ + \chi(r, \theta, z) &= \dfrac{1}{4\pi\mu} \sum_{m=1}^{2} A_{m+2}(\theta) \int_0^\infty SH_m(k,z) e^{-k|z-z_j|} J_m(kr) k dk + \\ + +其中方向因子为 + +.. math:: + :label: + + A_0 = 1 + +震源系数为 + +.. math:: + :label: + + P_0 &= SV_0 = - \dfrac{\varepsilon}{2(1+\Delta)k} \\ + SH_0 &= 0 + + +水平力源的震源系数 +------------------------- + +当力的方向为 :math:`\mathbf{n}=\mathbf{e}_x` 时,径向的静态位移为 + +.. math:: + :label: hori_ur + + u_r &= G_{11} \cos \theta + G_{21} \sin \theta \\ + &= \dfrac{1}{4\pi \mu} \dfrac{\Delta}{1+\Delta} \left( \dfrac{1}{\Delta R} \cos\theta + \dfrac{r^2\cos^2\theta}{R^3} \cos\theta + \dfrac{r^2\sin^2\theta}{R^3} \cos\theta \right) \\ + &= \dfrac{1}{4\pi \mu} \dfrac{\Delta}{1+\Delta} \left( \dfrac{1}{\Delta R} + \dfrac{r^2}{R^3} \right) \cos\theta + +根据Sommerfeld积分公式,有 + +.. math:: + :label: smfld_1R + + \dfrac{1}{R} &= \int_0^\infty \dfrac{e^{-k|z-z_j|}}{k} J_0(kr) k dk \\ + \dfrac{r^2}{R^3} &= \int_0^\infty \left[ 1 - \varepsilon k (z-z_j) \right] \dfrac{e^{-k|z-z_j|}}{k} J_0(kr) k dk + +利用Bessel函数的性质 :math:`J_0(x) = J_1^{'}(x) + \dfrac{1}{x} J_1(x)` ,得到 + +.. math:: + :label: + + \dfrac{1}{R} &= \int_0^\infty \left[ J_1^{'}(kr) + \dfrac{1}{kr} J_1(kr) \right] \dfrac{e^{-k|z-z_j|}}{k} k dk \\ + \dfrac{r^2}{R^3} &= \int_0^\infty \left[ 1 - \varepsilon k (z-z_j) \right] \left[ J_1^{'}(kr) + \dfrac{1}{kr} J_1(kr) \right] \dfrac{e^{-k|z-z_j|}}{k} k dk \\ + &= \int_0^\infty + \left[ + -\varepsilon k (z-z_j) J_1^{'}(kr) + \underline{J_1^{'}(kr) -\varepsilon k (z-z_j) \dfrac{1}{kr} J_1(kr)} + \dfrac{1}{kr} J_1(kr) + \right] \dfrac{e^{-k|z-z_j|}}{k} k dk + +注意下划线的两项,以下使用分部积分法证明其积分为0, + +.. math:: + :label: + + &\int_0^\infty J_1^{'}(kr) e^{-k|z-z_j|} dk \\ + = &\int_0^\infty \dfrac{1}{r} e^{-k|z-z_j|} d J_1(kr) \\ + = &\dfrac{1}{r} e^{-k|z-z_j|} J_1(kr) \Big|_0^\infty + + \int_0^\infty \varepsilon (z-z_j) \dfrac{1}{r} J_1(kr) e^{-k|z-z_j|} dk \\ + = &\int_0^\infty \varepsilon (z-z_j) \dfrac{1}{r} J_1(kr) e^{-k|z-z_j|} dk \\ + +因此, + +.. math:: + :label: smfld_r2R3 + + \dfrac{r^2}{R^3} = \int_0^\infty + \left[ + -\varepsilon k (z-z_j) J_1^{'}(kr) + \dfrac{1}{kr} J_1(kr) + \right] \dfrac{e^{-k|z-z_j|}}{k} k dk + +将 :eq:`smfld_1R` 式和 :eq:`smfld_r2R3` 式代入 :eq:`hori_ur` 式,得到 + +.. math:: + :label: + + u_r = \dfrac{1}{4\pi \mu} \dfrac{\Delta}{1+\Delta} \cos\theta \int_0^\infty + \left\{ + \left[ \dfrac{1}{\Delta k} - \varepsilon (z-z_j) \right] J_1^{'}(kr) + + \dfrac{1+\Delta}{\Delta} \dfrac{1}{k} \dfrac{1}{kr} J_1(kr) + \right\} e^{-k|z-z_j|} k dk + +将上式与 :eq:`u_BDF` 式中的径向位移 :math:`u_r` 表达式对比,得到震源系数 + +.. math:: + :label: + + B_1 &= - D_1 = \dfrac{1}{8\pi\mu(1+\Delta)k} \\ + F_1 &= - \dfrac{i}{4\pi \mu k} + +同样将势函数表达成 :eq:`pot_A_PS` 式,得到方向因子 [#]_ + +.. math:: + :label: + + A_1 &= \cos\theta \\ + A_4 &= - \sin\theta + +震源系数 + +.. math:: + :label: + + P_1 &= - SV_1 = \dfrac{1}{2 (1+\Delta)k} \\ + SH_1 &= - \dfrac{1}{k} + + +对比动态解的推导过程,静态解除了震源系数不同,方向因子均一致,后续的矩阵传播逻辑也一致,因此程序中动态解和静态解共享函数模块。 + +-------------------------------- + +.. [#] 水平力源的 :math:`A_4` 符号与 :ref:`《理论地震图及其应用(初稿)》 ` 中所使用的相反,对应的方向因子 :math:`SH_m` 也相反,这对最终位移计算结果无影响。 + + + + diff --git a/docs/source/Formula/static_uniform.rst b/docs/source/Formula/static_uniform.rst new file mode 100644 index 00000000..47d5548b --- /dev/null +++ b/docs/source/Formula/static_uniform.rst @@ -0,0 +1,201 @@ +.. _static_uniform: + +无限均匀介质中集中脉冲力产生的静态位移场 +=========================================== + +:Author: Zhu Dengda +:Email: zhudengda@mail.iggcas.ac.cn + +----------------------------------------------------------- + +这是一个经典问题,通常使用势函数分解(例如动态位移场的求解)。这里提供另一种解法,空间域到波矢域的积分变换法。结果表达式将用于确定震源系数。 + +静态弹性波方程 +------------------------------ +在直角坐标系下,研究位于原点处沿单位矢量 :math:`\mathbf{n}` 作用的一个集中脉冲力 :math:`\delta(\mathbf{r})`,在 :math:`\mathbf{r}=(x_1, x_2, x_3)` 处产生的静态位移场 :math:`\mathbf{u}=(u_1, u_2, u_3)` 。此时弹性波方程表示为 + +.. math:: + :label: + + (\lambda+2\mu) \nabla(\nabla \cdot \mathbf{u}) - \mu \nabla \times (\nabla \times \mathbf{u}) = - \delta(\mathbf{r}) \mathbf{n} + +利用 :math:`\nabla \times (\nabla \times A) = \nabla(\nabla \cdot A) - \nabla^2 A` 展开双旋度, + +.. math:: + :label: + + (\lambda+\mu) \nabla(\nabla \cdot \mathbf{u}) + \mu \nabla^2 \mathbf{u} = - \delta(\mathbf{r}) \mathbf{n} + +不妨假设 :math:`\mathbf{n}` 沿着某个基矢量 :math:`\mathbf{e_j}`,并引入格林函数 :math:`\mathbf{G}_j=(G_{1j}, G_{2j}, G_{3j})`, + +.. math:: + :label: + + (\lambda+\mu) \nabla(\nabla \cdot \mathbf{G}_j) + \mu \nabla^2 \mathbf{G}_j = - \delta(\mathbf{r}) \mathbf{e}_j + + +从三维空间域变换到三维波矢域,利用微分性质 :math:`\nabla f(\mathbf{r}) \leftrightarrow i\mathbf{k} F(\mathbf{k})`, + +.. math:: + :label: + + (\lambda+\mu) \mathbf{k}(\mathbf{k} \cdot \mathbf{\tilde{G}}_j) + \mu k^2 \mathbf{\tilde{G}}_j = \mathbf{e}_j + +其中 :math:`\mathbf{\tilde{G}}_j` 为 :math:`\mathbf{G}_j` 的Fourier变换,:math:`\mathbf{k}=(k_1, k_2, k_3)` 为波矢量,:math:`k=|\mathbf{k}|`。移项整理得到 :math:`\mathbf{\tilde{G}}_j` 的表达式, + +.. math:: + :label: + + \mathbf{\tilde{G}}_j = \dfrac{1}{\mu k^2} \left[ \mathbf{I} + (\lambda+\mu) \dfrac{\mathbf{kk^T}}{k^2} \right]^{-1} \mathbf{e}_j + +使用Sherman-Morrison公式 [#]_ 计算上式逆矩阵, + +.. math:: + :label: + + (\mathbf{A} + \mathbf{bc^T}) = \mathbf{A}^{-1} - \dfrac{\mathbf{A}^{-1}\mathbf{bc^T}\mathbf{A}^{-1}}{1 + \mathbf{c^T}\mathbf{A}^{-1}\mathbf{b}} + +得到 :math:`\mathbf{\tilde{G}}_j` 的表达式, + +.. math:: + :label: static_Gk + + \mathbf{\tilde{G}}_j = \dfrac{1}{\mu k^2} \left[ \mathbf{I} - \dfrac{\lambda+\mu}{\lambda+2\mu} \dfrac{\mathbf{kk^T}}{k^2} \right] \mathbf{e}_j + = \dfrac{1}{\mu k^2} \left[ \mathbf{I} - \dfrac{1}{2(1-\nu)} \dfrac{\mathbf{kk^T}}{k^2} \right] \mathbf{e}_j + +其中 :math:`\nu` 为泊松比,:math:`\nu=\dfrac{\lambda}{2(\lambda+\mu)}`。 + + + +Fourier变换对 +------------------------------ +对于三维空间中的函数 :math:`f(\mathbf{r})`,其Fourier变换 [#]_ 定义为 + +.. math:: + :label: + + F(\mathbf{k}) = \mathcal{F} \left[ f(\mathbf{r}) \right] = \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} f(\mathbf{r}) e^{-i \mathbf{k}\cdot \mathbf{r}} d^3 \mathbf{r} + + +对应的逆变换为 + +.. math:: + :label: + + f(\mathbf{r}) = \mathcal{F}^{-1} \left[ F(\mathbf{k}) \right] = \dfrac{1}{(2\pi)^3} \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} F(\mathbf{k}) e^{i \mathbf{k}\cdot \mathbf{r}} d^3 \mathbf{k} + + +为了将 :eq:`static_Gk` 式变换回空间域,可逐项做逆变换,再合并得到最终解。 不过注意到 :eq:`static_Gk` 式中的特殊形式, **可基于微分关系快速获得对应项的变换对** 。 + +已知 :math:`1/r` 满足以下关系, + +.. math:: + :label: + + \nabla^2 \left( \dfrac{1}{r} \right) = - 4\pi \delta(\mathbf{r}) + +其中 :math:`r=|\mathbf{r}|` 。变换到波矢域,得到变换对, + +.. math:: + :label: 1k2_inv_final + + \mathcal{F} \left[ \dfrac{1}{4\pi r} \right] &= \dfrac{1}{k^2} \\ + \mathcal{F}^{-1} \left[ \dfrac{1}{k^2} \right] &= \dfrac{1}{4\pi r} + +而 :math:`1/r` 还满足以下变换关系, + +.. math:: + :label: + + \mathcal{F} \left[ \nabla \nabla \left( \dfrac{1}{4\pi r} \right) \right] = \dfrac{\mathbf{kk^T}}{k^2} + + +因此 :eq:`static_Gk` 式中涉及对 :math:`\mathbf{kk^T}/k^4` 的逆变换为 + +.. math:: + :label: kkTk4_inv + + \mathcal{F}^{-1} \left[ \dfrac{1}{k^2} \cdot \dfrac{\mathbf{kk^T}}{k^2} \right] = + \dfrac{1}{4\pi r} * \nabla \nabla \left( \dfrac{1}{4\pi r} \right) = + \dfrac{1}{(4\pi)^2} \cdot \nabla \nabla \left( \dfrac{1}{r} * \dfrac{1}{r} \right) + +同样再次使用积分变换求解卷积式 :math:`\left( \dfrac{1}{r} * \dfrac{1}{r} \right)`,其正变换为 + +.. math:: + :label: 1r1r_conv + + \dfrac{1}{r} * \dfrac{1}{r} = \mathcal{F}^{-1} \left[ \mathcal{F} \left[ \dfrac{1}{r} * \dfrac{1}{r} \right] \right] = + \mathcal{F}^{-1} \left[ \mathcal{F} \left[ \dfrac{1}{r} \right] \cdot \mathcal{F} \left[ \dfrac{1}{r} \right] \right] + = \mathcal{F}^{-1} \left[ \dfrac{(4\pi)^2}{k^4} \right] + +注意到 :math:`r` 满足以下关系, + +.. math:: + :label: + + \nabla^2 \left( \nabla^2 r \right) = \nabla^2 \left( \dfrac{2}{r} \right) = 8\pi \delta(\mathbf{r}) + +变换到波矢域,得到变换对, + +.. math:: + :label: + + \mathcal{F} \left[ \dfrac{r}{8\pi} \right] &= \dfrac{1}{k^4} \\ + \mathcal{F}^{-1} \left[ \dfrac{1}{k^4} \right] &= \dfrac{r}{8\pi} + +上式代入到 :eq:`1r1r_conv` 式,得到 + +.. math:: + :label: + + \dfrac{1}{r} * \dfrac{1}{r} = 2\pi r + +上式代入到 :eq:`kkTk4_inv` 式,得到 + +.. math:: + :label: kkTk4_inv_final + + \mathcal{F}^{-1} \left[ \dfrac{1}{k^2} \cdot \dfrac{\mathbf{kk^T}}{k^2} \right] = + \dfrac{1}{(4\pi)^2} \cdot \nabla \nabla \left( 2\pi r \right) = + \dfrac{1}{8\pi} \left( \dfrac{\mathbf{I}}{r} - \dfrac{\mathbf{rr^T}}{r^3} \right) + + +静态位移场的最终表达式 +----------------------------------- + + +将 :eq:`1k2_inv_final` 式,:eq:`kkTk4_inv_final` 式代入 :eq:`static_Gk` 式,作逆变换,整理, + +.. math:: + :label: + + \mathbf{G}_j &= \dfrac{1}{\mu} \left[ \dfrac{1}{4\pi r} - \dfrac{1}{2(1-\nu)} \dfrac{1}{8\pi} \left( \dfrac{\mathbf{I}}{r} - \dfrac{\mathbf{rr^T}}{r^3} \right) \right] \mathbf{e}_j \\ + &= \dfrac{1}{16 \pi \mu r} \left[ 4 \mathbf{I} - \dfrac{1}{1-\nu} \mathbf{I} + \dfrac{1}{1-\nu} \dfrac{\mathbf{rr^T}}{r^2} \right] \mathbf{e}_j \\ + &= \dfrac{1}{16 \pi \mu (1-\nu) r} \left[ (3-4\nu)\mathbf{I} + \dfrac{\mathbf{rr^T}}{r^2} \right] \mathbf{e}_j + + +最终得到无限均匀介质中集中脉冲力产生的静态位移场, + +.. math:: + :label: Gtensor + + \mathbf{G} = \dfrac{1}{16 \pi \mu (1-\nu) r} \left[ (3-4\nu)\mathbf{I} + \dfrac{\mathbf{rr^T}}{r^2} \right] + +其中 :math:`\mathbf{G}` 为格林函数张量,其分量形式为 + +.. math:: + :label: + + G_{ij} = \dfrac{1}{16 \pi \mu (1-\nu) r} \left[ (3-4\nu) \delta_{ij} + \gamma_i \gamma_j \right] + +其中 :math:`\gamma_i=r_i/r` 为方向余弦, :math:`r` 为源点和场点的直线距离。最终解 :eq:`Gtensor` 的表达式与朗道的弹性理论教材保持一致 [#]_ 。 + + + + +------------------------------ + + +.. [#] https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf +.. [#] https://en.wikipedia.org/wiki/Multidimensional_transform +.. [#] Л.Д. 朗道, Е.М. 栗弗席兹. 弹性理论[M]. 5版. 北京: 高等教育出版社, 2009:31. diff --git a/docs/source/_static/my_theme.css b/docs/source/_static/my_theme.css index abf93a0c..5d4220d7 100755 --- a/docs/source/_static/my_theme.css +++ b/docs/source/_static/my_theme.css @@ -1,6 +1,6 @@ -/* .wy-nav-content { - max-width: 800px; -} */ +.wy-nav-content { + max-width: 950px; +} /* 设置代码块的淡黄色背景 */ .highlight { @@ -37,4 +37,52 @@ } .footnote-reference::after { content: "]"; +} + +/* 调整数学公式编号位置,RTD主题特有的bug... */ +/* 详见https://github.com/readthedocs/sphinx_rtd_theme/issues/301 */ +/* https://github.com/readthedocs/sphinx_rtd_theme/pull/383 */ +div.math { + position: relative; + padding-right: 2.5em; +} +.eqno { + height: 100%; + position: absolute; + right: 0; + padding-left: 5px; + padding-bottom: 5px; + /* Fix for mouse over in Firefox */ + padding-right: 1px; +} +.eqno:before { + /* Force vertical alignment of number */ + display: inline-block; + height: 100%; + vertical-align: middle; + content: ""; +} +.eqno .headerlink { + display: none; + visibility: hidden; + font-size: 14px; + padding-left: .3em; +} +.eqno:hover .headerlink { + display: inline-block; + visibility: hidden; + /* margin-right: -1.05em; */ /* 鼠标悬停时会偏移 */ +} +.eqno .headerlink:after { + visibility: visible; + content: "\f0c1"; + font-family: FontAwesome; + display: inline-block; + margin-left: -.9em; +} +/* Make responsive */ +.MathJax_Display { + max-width: 100%; + overflow-x: auto; + overflow-y: hidden; } \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index ec9bc40c..13cd256c 100755 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -72,6 +72,7 @@ install Tutorial/index Advanced/index + Formula/index API/api copyright