本章介绍正演的基础知识. 本贴的目的是进行内部培训, 错误之处较多, 希望不要误导读者.
波动方程是正演的基础. 最简单的模型是在一根弦上的波动.
在平面直角坐标系中, 令 X X X 轴上有一根起始于原点的弦. 通过在原点对其施加横向的力, 使得其发生横震动. t t t 时刻在横坐标 x x x 处的振幅 (可以为负值) 记为 u ( x , t ) u(x, t) u(x,t). 具体假设如下:
利用牛顿第二定律 F = m a F = ma F=ma 和上述假设条件可以推出一维非齐次波动方程的解:
∂ 2 u ( x , t ) ∂ t 2 = c 2 ∂ 2 u ( x , t ) ∂ x 2 + f ( x , t ) (2.1) \frac{\partial^2 u(x, t)}{\partial t^2} = c^2 \frac{\partial^2 u(x, t)}{\partial x^2} + f(x, t) \tag{2.1} ∂t2∂2u(x,t)=c2∂x2∂2u(x,t)+f(x,t)(2.1)
其中 c 2 = T / ρ c^2 = T / \rho c2=T/ρ, f ( x , t ) = F ( x , t ) / ρ f(x, t) = F(x, t) / \rho f(x,t)=F(x,t)/ρ, 左式的物理意义是瞬时加速度 a a a, 右式第一项的物理意义是 单位质量所受的力 F F F, c c c 的物理意义是速度.
进一步忽略重力 F ( x , t ) F(x, t) F(x,t) 的作用, 可以推出一维齐次波动方程的解:
∂ 2 u ( x , t ) ∂ x 2 = 1 c 2 ∂ 2 u ( x , t ) ∂ t 2 (2.2) \frac{\partial^2 u(x, t)}{\partial x^2} = \frac{1}{c^2} \frac{\partial^2 u(x, t)}{\partial t^2} \tag{2.2} ∂x2∂2u(x,t)=c21∂t2∂2u(x,t)(2.2)
更多内容参见: 弦线上的波动方程推导
中学物理已经教了横波的知识, 这里有个动画可以参考: 借助水波,理解横波
疑问:
阻尼标量波动方程
p u ≡ ∇ 2 u ( x , t ) − h ( x ) ∂ 2 u ( x , t ) ∂ t 2 − g ( x ) ∂ u ( x , t ) ∂ t = f ( x , t ) (2.1) pu \equiv \nabla^2 u(x, t) - h(x) \frac{\partial^2 u(x, t)}{\partial t^2} - g(x) \frac{\partial u(x, t)}{\partial t} = f(x, t) \tag{2.1} pu≡∇2u(x,t)−h(x)∂t2∂2u(x,t)−g(x)∂t∂u(x,t)=f(x,t)(2.1)
式中,
∇ 2 p ( r , t ) − 1 v ( r ) 2 ∂ 2 p ( r , t ) ∂ t 2 = s ( r , t ) (1) \nabla^2 p(\mathbf{r}, t) - \frac{1}{v(\mathbf{r})^2} \frac{\partial^2 p(\mathbf{r}, t)}{\partial t^2} = s(\mathbf{r}, t) \tag{1} ∇2p(r,t)−v(r)21∂t2∂2p(r,t)=s(r,t)(1)
其中 p ( r , t ) p(\mathbf{r}, t) p(r,t) 是在 t t t 时刻, 位置 r \mathbf{r} r 的压力波场, v ( r ) v(\mathbf{r}) v(r) 是速度图, s ( r , t ) s(\mathbf{r}, t) s(r,t) 为源项.
正演过程为
p ~ = f ( v ^ ) (2) \tilde{\mathbf{p}} = f(\hat{\mathbf{v}}) \tag{2} p~=f(v^)(2)
标准的有限差分法
∂ 2 p ( r , t ) ∂ t 2 ≈ 1 ( Δ t ) 2 ( p r t + 1 − 2 p r t + p r t − 1 ) + O ( ( Δ t ) 2 ) (5) \frac{\partial^2 p(\mathbf{r}, t)}{\partial t^2} \approx \frac{1}{(\Delta t)^2} \left(p_\mathbf{r}^{t + 1} - 2 p_\mathbf{r}^t + p_\mathbf{r}^{t - 1} \right) + O((\Delta t)^2)\tag{5} ∂t2∂2p(r,t)≈(Δt)21(prt+1−2prt+prt−1)+O((Δt)2)(5)
其中 p r t p_\mathbf{r}^t prt 表示 t t t 时刻的波场, p r t + 1 p_\mathbf{r}^{t + 1} prt+1 表示 t + Δ t t + \Delta t t+Δt 时间的. O O O 表示同阶, 相应的数据被丢掉了.
根据链式法则, 可以计算损失 L \mathcal{L} L 对应对速度的梯度
∂ L ∂ v ( r ) = ∑ t = 0 T [ ∂ L ∂ p ( r , t ) ] ∂ p ( r , t ) ∂ v ( r ) (7) \frac{\partial \mathcal{L}}{\partial v(\mathbf{r})} = \sum_{t = 0}^T \left[\frac{\partial L}{\partial p(\mathbf{r}, t)}\right] \frac{\partial p(\mathbf{r}, t)}{\partial v(\mathbf{r})} \tag{7} ∂v(r)∂L=t=0∑T[∂p(r,t)∂L]∂v(r)∂p(r,t)(7)
P波
S波