0 前言
实现声波方程的数值模拟,常见的方法包括有限差分法(Finite Difference Method-FDM)、伪谱法(Pseudo-spectral Method-PSM)、有限单元法(Finite Element Method-FEM),我们前面已经通过有限差分法求解了声波方程,可参照以下链接:
坦荡的小平胸:有限差分法(FDM)实现声波方程数值模拟zhuanlan.zhihu.com在这一篇文章中,我将为大家介绍如何使用伪谱法实现声波方程数值模拟。
1 模型建立
同样的,首先引入我们需要求解的声波方程表达式:
我们就先不使用非均匀介质模拟,假设介质是均匀且各向同性的(homogenous and isotropic),即波的传播速度
不变。
1.1 伪谱法求解原理及实现
伪谱法的求解本质上是利用了傅里叶变换来帮助我们求解偏微分方程,将含有偏导数的项转化为傅里叶正反变换。对于方程(1)中的未知量
,我们对其进行傅里叶变换:
上式中,如果我们对
求关于
的二阶偏导
,并对这个二阶偏导求它的傅里叶变换的话,根据傅里叶变换的性质可以得到:
可以发现,通过傅里叶变换,我们将原本很复杂的偏微分项转化成了一种很简洁的表达性质,对上面的公式做一次傅里叶反变换就可以得到:
显然我们利用
的这种形式去计算是更加容易的。
同样的道理,我们也能够得到