2. 声学波动方程与定解条件

声学有限元与边界元仿真的一切数值格式,最终都追溯到同一个物理起点:连续介质中的声波传播。理解这一节的关键,不是背下波动方程的形式,而是弄清三个问题——方程描述了什么、时域与频域形式如何互换、以及边界条件与辐射条件为什么决定了数值解是否唯一且物理可解。

一、从连续介质假设到声波方程

声学仿真处理的介质(空气、水、结构内腔)在宏观上被视为连续体,其状态由密度 ρ、压力 p、质点速度 v 描述。在无粘、无热传导、小振幅扰动假设下,声波传播由三个线性化方程耦合而成:

  • 运动方程(欧拉方程):ρ₀ ∂v/∂t = −∇p,描述压力梯度如何驱动质点加速;
  • 连续性方程:∂ρ′/∂t + ρ₀ ∇·v = 0,描述介质压缩与质点速度散度的关系;
  • 状态方程:p = c₀² ρ′,把压力扰动与密度扰动通过声速 c₀ 联系起来。

消去 v 与 ρ′,得到时域声波方程:

∇²p − (1/c₀²) ∂²p/∂t² = 0

其中 ∇² 为拉普拉斯算子,c₀ 为介质声速(空气中约 343 m/s,水中约 1500 m/s)。该方程说明:声压的空间曲率与时间二阶变化率通过 1/c₀² 相互制约,这正是“波动”的数学表达。

二、时域到频域:Helmholtz 方程的由来

工程中大量问题工作在单一频率或窄带,例如扬声器在 1 kHz 的辐射、管道在 500 Hz 的声模态。此时对时间做傅里叶变换,令 p(x,t) = Re{ P(x) e^{jωt} },其中 ω = 2πf 为角频率,P(x) 为复声压幅值。代入时域方程,时间导数 ∂²/∂t² 变为 (jω)² = −ω²,于是得到频域 Helmholtz 方程:

∇²P + k²P = 0,    k = ω/c₀ = 2πf/c₀

k 称为波数,单位 rad/m,它把频率与空间波长联系起来:λ = 2π/k = c₀/f。例如空气中 1000 Hz 对应 k ≈ 18.3 rad/m,波长约 0.343 m。有限元网格尺寸通常要求每个波长至少 6~10 个单元,即单元尺寸 h ≤ λ/6,这是后续网格划分的直接依据。

时域与频域并非两套物理,而是同一方程在不同变换域下的表达:时域适合瞬态、脉冲、宽带问题;频域适合稳态、单频、扫频问题,且把时间维度消去后,计算规模显著降低。

声波方程:时域形式与频域形式的关系及定解条件 时域波动方程 ∇²p − (1/c₀²) ∂²p/∂t² = 0 瞬态 / 脉冲 / 宽带 保留时间维度 频域 Helmholtz 方程 ∇²P + k²P = 0, k = ω/c₀ 稳态 / 单频 / 扫频 时间维度已消去 傅里叶变换 p = Re{P e^{jωt}} 逆变换 / 叠加各频点 定解条件:使 Helmholtz 方程的解唯一且物理可解 Dirichlet 边界 P = P₀ 声压已知(软边界) 如:开口端、压力释放面 Neumann 边界 ∂P/∂n = −jωρ₀ vₙ 法向速度已知(硬边界) 如:刚性壁、振动面 Robin / 阻抗边界 ∂P/∂n = −jωρ₀ P / Z 声压与速度线性组合 如:吸声衬里、多孔材料 Sommerfeld 辐射条件 lim r(∂P/∂r + jkP) = 0 无穷远处无反射波 外场问题必须满足

三、边界条件的物理含义与工程对应

Helmholtz 方程本身是椭圆型偏微分方程,只有配上边界条件才能定解。四类条件在工程中各有明确对应:

Dirichlet 条件给定声压值,物理上对应“压力释放”界面。例如管道开口端与大气相通,声压近似为零;水下结构表面的自由液面也可按 P = 0 处理。在有限元中,这类节点自由度被直接约束。

Neumann 条件给定声压法向导数,由运动方程可知 ∂P/∂n = −jωρ₀ vₙ,因此它等价于给定法向振速。刚性壁面 vₙ = 0,退化为 ∂P/∂n = 0;扬声器振膜、振动板表面则给定非零 vₙ。这是声学有限元中最常见的激励施加方式。

Robin(阻抗)条件把声压与法向速度通过表面声阻抗 Z 线性关联:∂P/∂n = −jωρ₀ P / Z。吸声材料、穿孔板、微穿孔板均可等效为阻抗边界。当 Z → ∞ 时退化为刚性壁,Z → 0 时退化为压力释放面,因此它统一了前两类条件。

Sommerfeld 辐射条件是外场问题(如自由场中的球源、水下目标辐射)特有的。它要求无穷远处只有向外传播的波、没有向内反射的波。若忽略这一条件,外场 Helmholtz 方程会出现非物理的“内聚波”解,导致边界元法结果完全错误。工程上常用无限元、完美匹配层(PML)或边界元法中的格林函数自动满足该条件。

四、一个可复现的示例:一维管道声场

取一根长 L = 1.0 m 的刚性壁管道,左端为活塞面,给定法向速度 vₙ = 0.01 m/s,右端开口(P = 0),空气 c₀ = 343 m/s,ρ₀ = 1.21 kg/m³,计算 500 Hz 下的声压分布。此时 k = 2π×500/343 ≈ 9.16 rad/m,波长 λ ≈ 0.686 m。

一维 Helmholtz 方程的通解为 P(x) = A e^{−jkx} + B e^{jkx}。代入左端 Neumann 条件 ∂P/∂x|_{x=0} = −jωρ₀ vₙ 与右端 Dirichlet 条件 P(L) = 0,可解出 A、B,得到驻波型声压分布。若用有限元求解,网格尺寸取 h = λ/10 ≈ 0.069 m,约 15 个单元即可;若取 h = λ/4,则结果在高频段明显偏离解析解,这正是“网格分辨率不足”的典型表现。

判断网格是否足够的实用准则:先算 k·h,若 k·h < 1(即 h < λ/2π),线性单元通常可接受;工程上更保守地取 h ≤ λ/6,对二次单元可放宽到 h ≤ λ/4。频域扫频时,应按最高分析频率对应的最短波长来定网格。

五、时域与频域的选择依据

时域波动方程适合分析脉冲响应、瞬态散射、非线性(需扩展方程)等问题,其优点是保留完整时间信息,缺点是时间步长受 CFL 条件限制 Δt ≤ h/c₀,长时仿真代价高。频域 Helmholtz 方程适合稳态单频、频响函数、声模态与传递损失计算,一次求解得到一个频点,扫频时需逐点重复,但每个频点的线性系统规模远小于时域逐步推进。

实际工程中常见的做法是:先用频域快速扫描 100~5000 Hz 的频响曲线,定位共振峰与谷;再对关注频点做时域瞬态验证,观察建立过程与衰减特性。两者互为补充,而不是互相替代。

常见误区:把“频域”等同于“稳态”而忽略相位。Helmholtz 方程的解 P 是复数,其模为声压幅值、辐角为相位。若只提取 |P| 而丢弃相位,将无法正确计算声强、声功率与干涉图案。后处理时必须保留复数结果。

小结:连续介质假设给出时域波动方程;傅里叶变换把它化为频域 Helmholtz 方程;Dirichlet、Neumann、Robin 三类边界条件描述不同物理界面,Sommerfeld 辐射条件保证外场解的唯一性与因果性。理解这四者的物理含义与数学形式,是后续有限元离散、边界元积分方程推导以及网格与频率设置的共同基础。