2D波动方程求解器 — 免费在线模拟器 | NovaSolver
· 2D波动方程求解器 返回
波动与振动

2D波动方程求解器

使用有限差分法进行2D波动方程的实时求解,通过交互式数值计算可视化波动的传播、干涉与衍射模式。

设置参数

计算结果
0.00
最大位移
0.00
总能量
可视化
理论与主要方程

$$c = \sqrt{\frac{g}{k}\tanh(kd)}$$

浅水面波的相速度 [m/s],其中 $k=2\pi/\lambda$ 是波数 [rad/m],$d$ 是水深 [m]。在深水中,$c=\sqrt{g/k}$。

$$c_g = \frac{1}{2}c\left(1 + \frac{2kd}{\sinh(2kd)}\right)$$

群速度(能量传播速度)[m/s]。在深水中,$c_g=c/2$。

$$H_{break} \approx 0.78 d$$

破浪条件:当波高达到水深的0.78倍时波会破碎。

2D波动方程求解器介绍

🧑
在这个求解器中点击会产生波动,这与实际的水波类似吗?
👩‍🏫
完全正确!在本质上,这正是通过2D波动方程进行数值求解的。在现实中,这样的数值模拟被称为CAE(计算机辅助工程),用于在实验前预测结构振动和波动传播。你可以通过改变"波源类型"从"点击"切换到"单缝"或"双缝",观察更多有趣的现象。
🧑
当改为双缝时,我看到了干涉图样。这真的是衍射现象吗?
👩‍🏫
正确!那正是衍射现象。在自由振动中,即使引擎芯片的迭代次数有限,仍然可能在特定频率产生共振。在此模拟器中,你可以调节频率参数,观察干涉图样如何随之改变。这种从实验难以观察的物理现象,现在可以通过数值模拟清楚地表现出来。
🧑
波遇到障碍物时会反射。这个反射现象在实时显示吗?
👩‍🏫
是的。这个求解器采用固定边界条件(Dirichlet边界条件)来设置基础障碍物。在这个工具中,你可以将波源置于不同位置,选择不同的边界条件,点击时使用不同的源位置,这会产生明显的干涉图样。请自己尝试这些设置吧!

物理模型与主要公式

此模拟器的基础是以下2D波动方程:

$$ \frac{\partial^2 u}{\partial t^2}= c^2 \left( \frac{\partial^2 u}{\partial x^2}+ \frac{\partial^2 u}{\partial y^2}\right) $$

其中,$u(x,y,t)$ 是位置$(x,y)$、时刻$t$的水面位移,$c$ 是介质中波的相速度(波速)。此微分方程通过计算机使用有限差分法(FDM, Finite Difference Method)求解,并应用时间中心差分格式(TCS)。

为了确保数值求解的稳定性,时间步长$\Delta t$与空间网格间隔$\Delta x, \Delta y$之间需要满足CFL条件(Courant-Friedrichs-Lewy条件):

$$ c \frac{\Delta t}{\Delta x}\lt \frac{1}{\sqrt{2}} $$

违反此条件会导致数值计算不稳定,波会无限增大,导致计算结果完全错误。在此模拟器中,系统会自动调整确保此条件满足,但如果波速过大而网格步长太小,求解可能会变得不稳定。同时,阻尼系数(通常为0.98-0.995)用于表示在每个时间步中物理的能量损耗,来模拟真实水的阻尼。

常见问题解答

可以。在平面上的不同位置点击会产生新的波源,多个波会同时传播。这样可以实时观察波的干涉模式,包括增强和削弱现象。
模拟器内有设置物理障碍物和缝隙的功能。通过设置不同的障碍物形状,可以在缝隙处观察到波的回折,在障碍物边界确认反射和衍射现象。
CFL条件(c·Δt/Δx < 1/√2)未满足时,数值计算会发生不稳定。模拟器虽然自动调整,但波速过大会导致需要减小时间步长Δt,这会使计算变得缓慢。在这种情况下,调整网格尺寸也可能有所帮助。
这是基于线性2D波动方程的简化模型,在小幅度扰动时表现良好。真实水波的边界条件、表面张力、底部摩擦等未包括,对于定性研究波的传播、干涉与衍射等基本现象适用,但不适用于定量的工程应用。

在工程实践中的应用

振动与应力解析:在顾问公司工具中,水面波的反射、干涉、衍射等现象的模拟可用于优化产品设计。通过数值计算可视化波动的传播模式,工程师能在设计早期发现潜在问题。在地震波分析、水下建筑防波堤设计、电子设备散热器中的流体振动等应用中,都采用类似方法。

非线性问题与参数化:在振动与应力分析中,破坏波的反弹、非线性效应的衍射等现象通过模拟确定。通过参数化分析,可获得材料特性对波动特征影响的详细信息,为材料选择和工艺优化提供指导。

声波传播:超声波传感、核磁共振、超声检测等技术中,声波在介质中的传播模式(包括散射、衍射、多重反射等)在数值模拟中被精确计算。通过改变物理参数,可评估在不同条件下的超声波信号强度。

深海波浪与海岸工程:在海洋工程中,使用波动方程模拟波的传播速度,计算不同深度下的波高变化,以及在防波堤上的反射与衍射。这些计算结果直接指导海岸防护工程设计。

常见误解与重要提醒

使用这个模拟器时,有几个关键的CAE误区值得注意。首先是"波速(c)的准确设置至关重要"——如果使用了错误的物理参数,即使数值计算完全正确,模拟结果也会完全错误。确保波速是物理上真实的参数,但CFL条件——即$c \Delta t / \Delta x < 1$——是硬性约束。例如,如果波速过大而你想使用较大的网格步长,就会出现时间步长Δt必须减小的情况,导致计算变得缓慢或不稳定,出现不同的失败形式。

第二个误区是"阻尼系数的设置"。在这个工具中,我们通过在每个时间步乘以阻尼系数来实现能量散逸,但在真实建模中选择阻尼模式有多种方式。例如,可以让阻尼与频率成正比("比例阻尼"),或让阻尼与位移成正比("刚度阻尼")等。不同的阻尼模型会导致完全不同的物理行为。此模拟器采用了简单的统一阻尼以保持计算成本低廉,但这只是对现实的近似表示。

最后,"边界条件是看不见但至关重要的"。在此模拟器中应用的是固定边界条件(即波在边界处被完全反射),但在真实工程中,自由边界(波通过)或透射边界(波部分通过、部分反射)等多种边界条件都可能存在。理解模拟结果时,必须明确地注意采用了哪种边界条件——不同的边界条件会产生截然不同的结果,这对理解数值计算的有效性至关重要。

使用指南

  1. 在波速参数范围100~500 m/s内设置波的传播速度,确定介质的声学特性
  2. 调整阻尼系数(0.0~0.1范围内),控制能量耗散程度
  3. 修改激励频率(5~50 Hz范围),改变波源的振动条件
  4. 模拟开始后,使用有限差分法在每个时间步长Δt=0.001秒处计算网格点的位移
  5. 自动检查CFL条件(Δt ≤ Δx/c),保证数值稳定性

具体计算示例

钢管(E=200 GPa)中的声波传播:波速c=250 m/s,激励频率f=20 Hz,阻尼系数α=0.05,计算区域2m×2m,网格间隔Δx=0.05m。在时刻t=0.1秒时,波面从声源传播25 cm,产生干涉图样。当Δt=0.0002秒时,CFL数=1.25,计算在稳定范围内进行。

实际应用中的注意事项

  1. 根据波速和频率计算波长λ=c/f(例:250÷20=12.5m),确保网格间隔不超过λ/10
  2. 过度设置阻尼系数会导致波快速减衰,无法再现物理现象。混凝土内超声波建议使用0.01~0.03
  3. 检查计算域边界条件设置,考虑反射波对干涉现象的影响