🔬 声学超材料
亚波长亥姆霍兹谐振器阵列使材料在共振附近获得有效负体积模量,从而打开声学带隙并实现声音的负折射。
工作原理
这个一维晶格的每个单元都包含一个小型局域谐振器——一个类似亥姆霍兹谐振器的质量-弹簧元件,其固有(角)频率为 ω₀ = √(k/m)——与本应以固定速度传声的背景介质弱耦合。远离 ω₀ 时,谐振器几乎不响应,晶格表现得像普通弹性介质。而在 ω₀ 附近,谐振器会以一定的相位延迟吸收并重新辐射能量,这可能使材料有效的、与频率相关的体积模量 K_eff(ω) 的符号翻转——这正是光学中熟悉的洛伦兹振子色散,被移植到声学领域。
只要 K_eff(ω) 为负,波动方程就不存在传播解:波数变为虚数,入射波随距离呈指数衰减,而不是在晶格中振荡传播。这一被禁止的频率范围就是声学带隙。由于谐振器可以做得远小于其所控制的声波长,这种局域共振带隙能在原本需要大得多晶格(如普通布拉格散射声子晶体)才能实现的频率处打开——这正是声学超材料的核心技巧。
ω₀ = √(k/m) (单元谐振频率)
带隙:f₀ < f < √(f₀² + fₚ²)
k(ω) = ω · √(ρ₀ / K_eff(ω)) — 复波数,波 ∝ e^(i(kx−ωt))
常见问题
声学超材料与普通材料有何不同?
普通声学材料的性质来自化学——即体材料的原子和化学键。声学超材料则从工程化的亚波长结构中获得性质:由共振单元(如亥姆霍兹谐振器)组成的周期性阵列,能以任何天然均质材料都无法实现的方式响应声音,包括在共振附近获得有效的负体积模量或负质量密度。
「负」有效体积模量是否意味着材料具有负体积或负刚度?
不是。它意味着在谐振器固有频率附近的一个窄频带内,材料对振荡压力的动态、频率相关响应与驱动压力反相——波动方程中使用的有效模量在该频带内符号翻转。材料本身完全正常;发生「变负」的是被驱动的、频率相关的有效描述。
什么是声学超材料中的带隙?
带隙是指在周期性结构中不存在传播波解的频率范围。以带隙频率进入材料的声音无法作为振荡波穿过它;相反,其振幅随距离呈指数衰减(消逝波),因此该结构在这些频率上表现为一个高效、常常是亚波长尺度的声学屏障。
什么是亥姆霍兹谐振器,为什么使用它?
亥姆霍兹谐振器是一个通过狭窄颈部与外界相连的空腔;颈部的空气像质量一样运动,腔内空气像弹簧一样运动,使其具有单一固有共振频率。由于亥姆霍兹谐振器可以做得远小于它所响应的声波长,将它们排列成阵列就能构建出单元尺寸远小于其所控制声波波长的局域共振超材料。
什么是声音的负折射,它是如何产生的?
当超材料中声音的有效相速度方向与能量实际流动方向(群速度)相反时,就会发生负折射,使入射波束弯向法线的同一侧,而不是相反一侧。它产生于有效体积模量和/或有效密度同时变为负值的共振附近,从而对声音产生一个有效的负折射率。
声学超材料有哪些实际应用?
应用包括比同等质量单靠质量定律所能实现的效果更能阻隔低频的薄型局域共振隔音板、用于亚波长成像的声透镜与超透镜、可将声波绕过物体的声学隐身装置,以及用于机械设备、暖通空调管道和交通噪声的紧凑型低频噪声屏障。
声学超材料与电磁超材料有何关系?
它们是数学上的「表亲」。电磁超材料使用开口谐振环和金属线阵列来产生有效的负介电常数或负磁导率,由洛伦兹振子色散描述。声学超材料使用亥姆霍兹谐振器或局域质量-弹簧谐振器来产生有效的负体积模量或负质量密度,由同一套洛伦兹振子数学描述——只有物理场不同。
局域共振超材料能否在不增加太多质量的情况下隔音?
可以,这是它们最有用的特性之一。普通的质量定律隔音需要增加质量才能阻隔低频。局域共振超材料面板可以在其谐振器固有频率附近呈现非常大(或为负)的有效质量密度,以相同的物理质量比质量定律预测的效果更有效地阻隔目标低频段——这在窄频带内真正绕过了经典质量定律。
实际的声学超材料在应用中受到哪些限制?
与理想化的无损预测相比,阻尼和材料损耗会使带隙变窄变浅。这些强效应本质上也是窄带的,集中在谐振器设计频率附近,制造公差会使实际器件的该频率发生偏移。要实现宽带或多频带性能,通常需要叠加多种具有不同谐振频率的谐振器设计。
关于本模拟
本模拟以频率 f 的平面波驱动由 N 个局域共振单元组成的一维链条,并逐个单元计算该频率是穿过晶格传播,还是在声学带隙内消逝衰减。有效体积模量 K_eff(ω) 直接根据内嵌的类亥姆霍兹谐振器的洛伦兹振子模型计算,同一公式同时驱动动画晶格和下方的透射率-频率曲线。
🔬 展示内容
一个由 N 个单元组成的实时晶格,其瞬时位移由复波数 k(f) 计算得出,因此被驱动的波要么平滑地穿过整条链传播,要么在几个单元内呈指数衰减——此外还有一条根据同一 K_eff(ω) 模型计算的透射率-频率曲线,以解析方式描绘出带隙。
🎮 使用方法
设置单元谐振频率 f₀、耦合强度 ωp(带隙宽度)、阻尼 γ、驱动频率 f 和单元数 N,然后观察当 f 进入 [f₀, √(f₀²+fₚ²)] 区间时,状态读数在「传播」和「带隙(消逝)」之间切换。P 暂停,R 重置。
💡 你知道吗?
局域共振声子晶体能在比单元本身大几十倍的波长处打开带隙——这与普通的布拉格带隙声子晶体不同,后者需要单元尺寸与半个声波长相当才能阻挡相同的频率。
常见问题
为什么显示的带隙范围只取决于 f₀ 和 fₚ,而与阻尼无关?
bandGapEdges() 返回 [params.f0, Math.sqrt(f0*f0+fp*fp)],即 keffOf() 无阻尼洛伦兹形式的过零点;阻尼 γ 只进入 keffOf() 分母的虚部,它只会使边缘处的过渡变得平滑和浅显,而不会移动名义边缘本身。
阻尼滑块如何在不改变 [f_low, f_high] 读数的情况下改变画面?
增大 params.gamma 会提高 keffOf(f) 分母虚部的值,从而提高 Im(waveNumberOf(f)),即使对于名义带隙之外的频率也是如此——因此更高的阻尼会给晶格和透射曲线上的「传播」区域增加真实损耗,而统计信息中显示的解析带隙数值保持不变。
为什么增大单元数量 N 会改变衰减包络,而不改变透射公式本身?
transmissionAt(f) 计算 Math.exp(-waveNumberOf(f).im * params.N);增大 N 只是将相同的单元衰减率乘以更大的指数,因此更长的晶格会更强地衰减带隙频率,而 keffOf() 和 waveNumberOf()——每单元的物理量——不会随 N 改变。
为什么 waveNumberOf() 中 k 的虚部被强制为非负?
waveNumberOf() 取 ρ₀/K_eff(ω) 的复数平方根,然后在按 ω 缩放之前对其虚部取 Math.abs(),从而选择物理上因果的分支,使能量总是远离晶格被驱动的左边缘而衰减,而不会虚假地增长——这才是无源、有损介质应有的正确行为。
为什么增大耦合强度 ωp 会拓宽带隙,而不是移动其中心?
params.fp 只在平方根内部进入 bandGapEdges(),即 f_high = √(f0² + fp²),因此更大的 fp 会将上边缘向外推,而 f_low 保持固定于 params.f0——这恰好符合物理图景:宿主介质与局域谐振器之间更强的耦合会拓宽 keffOf() 保持为负的频率窗口。
Arrays of subwavelength Helmholtz resonators give a material an effective negative bulk modulus near resonance, opening acoustic band gaps and enabling negative refraction of sound.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install