![e3578bc4d64564ad722ea6908122f9df.png](https://i-blog.csdnimg.cn/blog_migrate/c2fc901ca07f970ba438c1c576a214ac.jpeg)
0. 前言
实现声波方程的数值模拟,常见的方法包括有限差分法(Finite Difference Method-FDM)、伪谱法(Pseudo-spectral Method-PSM)、有限单元法(Finite Element Method-FEM),这里先介绍如何使用FDM-2、FDM-4(即三点有限差分法和五点有限差分法)求解声波方程,在之后的文章中在逐一介绍其他方法。
1. 模型建立
声波方程的一般形式如公式(1)所示,可以发现方程中存在对波动u的二阶时间偏导,以及对空间坐标x,y的二阶偏导。要直接求解(1)的解析解是比较困难的,我们常常会使用各种近似的数值解来逼近解析解。
![76f23fd373e7a1c7cf78f52864e2fd12.png](https://i-blog.csdnimg.cn/blog_migrate/f358ae8269bcbc5dc1b6e9df993121b4.png)
有限差分法便是其中常用的一种数值计算方法,FDM的基本原理类似于我们求解斜率的方法,其本质上是使用了泰勒级数展开并略去高阶项,这里就不展开讲了。
- 1.1 偏微分项的处理
对于时间项的二阶偏导,使用三点差分格式:
![385b02fbbc3d21708ab72a875d6763c0.png](https://i-blog.csdnimg.cn/blog_migrate/18a9625c877e18b26148ac77e9ec3920.png)
我们在这里约定u的下角标代表空间上的离散点索引(index),上标代表时间上的差分索引,k时刻代表当前时刻,k+1代表下一时刻,k-1代表前一时刻。
对于空间上,在x和y方向上进行离散,我们假设在x和z方向上离散点的间距相同,即
![2fe08514a338115c09c1c8b0877f47a5.png](https://i-blog.csdnimg.cn/blog_migrate/a0d1b9570ee02fc6e9a396d2af725e35.png)