我没有数值建模的背景,所以这个问题相当广泛。
我感兴趣的是模拟超声波在 3d 空间中的传播。基本的 3d 波动方程对我来说很容易理解,但我不明白如何计算边界相互作用或如何准确模拟衍射等事物。
理解这些信息的一个好的起点是什么?
我没有数值建模的背景,所以这个问题相当广泛。
我感兴趣的是模拟超声波在 3d 空间中的传播。基本的 3d 波动方程对我来说很容易理解,但我不明白如何计算边界相互作用或如何准确模拟衍射等事物。
理解这些信息的一个好的起点是什么?
让我们首先考虑一维字符串。标准教科书物理学在这里考虑了三个常见的边界条件,即 Dirichlet(字符串的端点是固定的)、Neumann(端点是自由的)和 Robin 条件(例如,当端点连接到弹簧时获得)。
现在,对于真正的声波传播,这些边界条件不会完全适用,而仅用作近似值(就像物理学中的常见情况一样)。当声波撞击物体时,它可能只会被部分反射,而某个分量会被衰减。此外,这种阻尼可能取决于频率、输入方向、物体的几何形状和材料等。总的来说,这是一个非常棘手的问题。
然而,对于第一步,通常使用理想反射和使用零狄利克雷边界条件就足够了。假设是,当声波撞击墙壁时,不会导致那里发生任何振荡,因此会以 180° 的相移完全反射波。使用狄利克雷条件也是最简单的方法:在笛卡尔网格中,只要将边界平面排除在传播之外就足够了。