声学波动方程推导详解:从守恒定律到 Helmholtz 方程
声波的本质是压力扰动在弹性介质中的传播。在 COMSOL 等仿真软件中,压力声学接口求解的核心方程就是声学波动方程。理解它的来龙去脉,是正确设置物理场、边界条件和解释结果的基础。本文将从流体力学的基本守恒定律出发,一步步推导出声压 ppp 所满足的时域波动方程和频域 Helmholtz 方程,并给出 COMSOL 中使用的最通用形式。
一、基本假设
为使推导清晰且符合大多数工程场景,我们首先引入以下假设:
- 介质为理想流体:无黏性,无热传导。
- 绝热过程:声波传播极快,来不及与外界换热,可视为等熵。
- 小振幅扰动 :声学量远小于背景量,例如 p≪ρ0c02p \ll \rho_0 c_0^2p≪ρ0c02,质点速度远小于声速。
- 背景介质静止且均匀 :初始流速为零,密度 ρ0\rho_0ρ0 和声速 c0c_0c0 为常数。
- 线性近似:忽略所有二阶及以上的小量乘积。
这些假设将非线性流体力学方程简化为线性波动方程。对于有流、非均匀介质等复杂情况,后续可以在此基础上扩展。
二、基本控制方程
描述流体运动的核心方程是质量守恒、动量守恒和状态方程。
2.1 质量守恒(连续性方程)
单位时间内,控制体内质量的减少等于净流出质量通量:
∂ρ∂t+∇⋅(ρu)=0 \frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0 ∂t∂ρ+∇⋅(ρu)=0
其中 ρ\rhoρ 为流体密度,u\mathbf{u}u 为质点速度矢量。
2.2 动量守恒(Euler 方程)
在无黏假设下,流体微团的加速度完全由压力梯度驱动:
ρDuDt=−∇p \rho \frac{D \mathbf{u}}{D t} = -\nabla p ρDtDu=−∇p
物质导数展开为 DuDt=∂u∂t+(u⋅∇)u\frac{D \mathbf{u}}{D t} = \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla)\mathbf{u}DtDu=∂t∂u+(u⋅∇)u。在小振幅假设下,对流项 (u⋅∇)u(\mathbf{u} \cdot \nabla)\mathbf{u}(u⋅∇)u 为二阶小量,可以忽略,于是退化为线性欧拉方程。
2.3 状态方程
对于等熵过程,压力只是密度的函数,且可展开为泰勒级数。保留一阶项得到线性关系:
p=c02ρ′ p = c_0^2 \rho' p=c02ρ′
这里 c0c_0c0 是绝热声速,ρ′\rho'ρ′ 是密度扰动量,即 ρ=ρ0+ρ′\rho = \rho_0 + \rho'ρ=ρ0+ρ′,且 ρ′≪ρ0\rho' \ll \rho_0ρ′≪ρ0。声压 ppp 本身就是压力扰动量。
三、线性化过程
将所有瞬时量写为背景值与扰动值之和:
ρ=ρ0+ρ′,u=0+u′,p=p0+p \rho = \rho_0 + \rho', \quad \mathbf{u} = 0 + \mathbf{u}', \quad p = p_0 + p ρ=ρ0+ρ′,u=0+u′,p=p0+p
其中背景密度 ρ0\rho_0ρ0 和背景压力 p0p_0p0 为常数,背景速度为零。代入控制方程,忽略扰动量的乘积(二阶小量),得到线性化方程组。
线性化连续性方程:
∂ρ′∂t+ρ0∇⋅u′=0 \frac{\partial \rho'}{\partial t} + \rho_0 \nabla \cdot \mathbf{u}' = 0 ∂t∂ρ′+ρ0∇⋅u′=0
线性化动量方程:
ρ0∂u′∂t=−∇p \rho_0 \frac{\partial \mathbf{u}'}{\partial t} = -\nabla p ρ0∂t∂u′=−∇p
线性化状态方程 直接给出 p=c02ρ′p = c_0^2 \rho'p=c02ρ′。
为书写简便,后面我们省略扰动速度的上标,直接用 u\mathbf{u}u 表示质点振动速度。
四、导出时域波动方程
我们的目标是消去质点速度 u\mathbf{u}u 和密度扰动 ρ′\rho'ρ′,得到只含声压 ppp 的方程。
Step 1 :将状态方程 p=c02ρ′p = c_0^2 \rho'p=c02ρ′ 代入线性连续性方程,消去 ρ′\rho'ρ′:
1c02∂p∂t+ρ0∇⋅u=0 \frac{1}{c_0^2} \frac{\partial p}{\partial t} + \rho_0 \nabla \cdot \mathbf{u} = 0 c021∂t∂p+ρ0∇⋅u=0
Step 2:对时间求偏导:
1c02∂2p∂t2+ρ0∇⋅∂u∂t=0 \frac{1}{c_0^2} \frac{\partial^2 p}{\partial t^2} + \rho_0 \nabla \cdot \frac{\partial \mathbf{u}}{\partial t} = 0 c021∂t2∂2p+ρ0∇⋅∂t∂u=0
Step 3 :由线性动量方程解出 ∂u∂t=−1ρ0∇p\frac{\partial \mathbf{u}}{\partial t} = -\frac{1}{\rho_0} \nabla p∂t∂u=−ρ01∇p,代入上式:
1c02∂2p∂t2−∇⋅(∇p)=0 \frac{1}{c_0^2} \frac{\partial^2 p}{\partial t^2} - \nabla \cdot (\nabla p) = 0 c021∂t2∂2p−∇⋅(∇p)=0
因为 ∇⋅(∇p)=∇2p\nabla \cdot (\nabla p) = \nabla^2 p∇⋅(∇p)=∇2p,最终得到经典的声学波动方程:
∇2p−1c02∂2p∂t2=0 \nabla^2 p - \frac{1}{c_0^2} \frac{\partial^2 p}{\partial t^2} = 0 ∇2p−c021∂t2∂2p=0
这就是在静止均匀理想流体中,声压扰动传播所遵循的双曲型偏微分方程。它描述了波以恒定速度 c0c_0c0 传播的物理现象。
五、更通用的形式:含源项与非均匀介质
在 COMSOL 的压力声学接口中,方程被推广为可以处理非均匀介质和存在声源的情况。
5.1 介质非均匀
如果密度 ρ(x)\rho(\mathbf{x})ρ(x) 和声速 c(x)c(\mathbf{x})c(x) 随空间变化,但仍在每个局部满足线性关系,通过类似的推导(保留 ρ\rhoρ 的空间导数),可以得到变系数波动方程:
1ρc2∂2p∂t2+∇⋅(−1ρ∇p)=0 \frac{1}{\rho c^2} \frac{\partial^2 p}{\partial t^2} + \nabla \cdot \left( -\frac{1}{\rho} \nabla p \right) = 0 ρc21∂t2∂2p+∇⋅(−ρ1∇p)=0
这一形式自动满足了界面上压力连续和法向速度连续的条件。
5.2 存在声源
单极源对应质量的注入/抽出,以 QmQ_mQm 表示(单位:1/s21/\text{s}^21/s2),加入连续性方程右端;偶极源对应体积力驱动,以 qd\mathbf{q}_dqd 表示(单位:N/m3\text{N}/\text{m}^3N/m3),加入动量方程。最终 COMSOL 中的瞬态压力声学方程写为:
1ρc2∂2p∂t2+∇⋅−1ρ(∇p−qd)=Qm \frac{1}{\rho c^2} \frac{\partial^2 p}{\partial t^2} + \nabla \cdot \left -\\frac{1}{\\rho} (\\nabla p - \\mathbf{q}_d) \\right = Q_m ρc21∂t2∂2p+∇⋅−ρ1(∇p−qd)=Qm
当 qd=0\mathbf{q}_d = 0qd=0 且 Qm=0Q_m = 0Qm=0 时,就退化为前一节的无源形式。
六、频域波动方程:Helmholtz 方程
很多声学问题关心稳态频率响应。假设声源和声场均做时谐变化,令
p(x,t)=Rep\~(x)eiωt p(\mathbf{x}, t) = \text{Re} \left \\tilde{p}(\\mathbf{x}) e\^{i\\omega t} \\right p(x,t)=Rep\~(x)eiωt
将次代入时域波动方程(以无源、均匀介质为例),时间导数 ∂/∂t\partial/\partial t∂/∂t 对应乘因子 iωi\omegaiω,∂2/∂t2\partial^2/\partial t^2∂2/∂t2 对应 −ω2-\omega^2−ω2,可得:
∇2p~+ω2c02p~=0 \nabla^2 \tilde{p} + \frac{\omega^2}{c_0^2} \tilde{p} = 0 ∇2p~+c02ω2p~=0
定义波数
k=ωc0 k = \frac{\omega}{c_0} k=c0ω
就得到了著名的 Helmholtz 方程:
∇2p~+k2p~=0 \nabla^2 \tilde{p} + k^2 \tilde{p} = 0 ∇2p~+k2p~=0
对于含源项和介质非均匀的情形,COMSOL 频域方程为:
∇⋅−1ρ(∇p\~−qd)−ω2ρc2p~=Qm \nabla \cdot \left -\\frac{1}{\\rho} (\\nabla \\tilde{p} - \\mathbf{q}_d) \\right - \frac{\omega^2}{\rho c^2} \tilde{p} = Q_m ∇⋅−ρ1(∇p\~−qd)−ρc2ω2p~=Qm
求解该方程得到的 p~\tilde{p}p~ 是复声压,同时包含了幅值和相位信息,可以用来直接计算声压级、声强等后处理量。
七、关键物理量速查表
| 符号 | 名称 | 单位 | 关系式 |
|---|---|---|---|
| ppp | 声压 | Pa (N/m²) | --- |
| u\mathbf{u}u | 质点振速 | m/s | ρ0∂u∂t=−∇p\rho_0 \frac{\partial \mathbf{u}}{\partial t} = -\nabla pρ0∂t∂u=−∇p |
| ρ′\rho'ρ′ | 密度扰动 | kg/m³ | p=c02ρ′p = c_0^2 \rho'p=c02ρ′ |
| c0c_0c0 | 声速 | m/s | 介质属性 |
| ω\omegaω | 角频率 | rad/s | ω=2πf\omega = 2\pi fω=2πf |
| kkk | 波数 | rad/m | k=ω/c0k = \omega / c_0k=ω/c0 |
| λ\lambdaλ | 波长 | m | λ=2π/k=c0/f\lambda = 2\pi/k = c_0/fλ=2π/k=c0/f |
八、总结
我们从理想流体的质量守恒、动量守恒和等熵状态方程出发,通过线性化处理,消除了质点速度和密度扰动,导出了经典声学波动方程。进而讨论了介质非均匀和源项带来的推广,最终给出了频域 Helmholtz 方程的形式。这些方程构成了 COMSOL 压力声学模块的核心骨架。
理解推导过程,不仅有助于你把握物理模型的适用条件,还能让你在设置边界条件和解释计算结果时更有洞察力。下次当你面对仿真模型中那个 ∇2p~+k2p~=0\nabla^2 \tilde{p} + k^2 \tilde{p} = 0∇2p~+k2p~=0 时,希望你能立刻想起它背后那段"体育馆人浪"般的清晰图景。