具有源项的声/标量(非均匀)波动方程的解析解

计算科学 有限差分 波传播
2021-12-24 21:44:38

二维声波方程为

2t2p(x,z,t)=c(x,z)2[2x2p(x,z,t)+2z2p(x,z,t)]+s(x,z,t).

任何人都可以对上述问题给出分析解决方案,而不用担心边界条件(假设无限边界)?

  • p是标量场(压力)
  • c是速度(一个标量值),在域中的任何地方都相同。
  • s(x,z,t)或源函数仅在域中的一个点(在 2D / 3D 域的中心)。

此代码的有限差分 IPython 片段是

# it is the time step number.
# dt is the time step size.
# src is the source

f0 = 100.0    # dominant frequency of source (Hz)
T = 1.0 / f0  # dominant period
ist = 100     # shifting of source time function
src[it] = exp(-1.0 / T ** 2 * ((it - ist) * dt) ** 2)   # This is a Gaussian source
# Take the first derivative to finally define the source function.
src = np.diff(src) / dt

绿色的功能对我来说有点复杂。

鉴于此,如何重新定义/适应我们的有限差分情况: https ://en.wikipedia.org/wiki/Acoustic_wave_equation#Cartesian_coordinates

2个回答

您可以使用制造解法 (PDF)为这个方程组成任意数量的解。您是否有理由只关注这种特殊情况,或者您可以使用任何解决方案/强制功能对?

我知道你想解微分方程

2u1c22ut2=f(t)δ(r),

对于无界域,是位置向量,并且r

f(t)=2(tt0)T2e(tt0)2T2,

虽然,我们不需要显式地编写这个函数。

然后我们计算方程的傅里叶变换,即

2u+k2u=f^(ω)δ(r),

k2=ω2/c2, 和f^(ω)的傅里叶变换f(t)上面写着

f^(ω)=iωTeω2T24iωt02.

而且,您的问题的解决方案看起来像

u(t)=i42πH0(1)(k|r|)f^(ω)eiωtdω.

您应该阅读有关亥姆霍兹方程傅里叶变换卷积的解以了解该过程。