目录
完全匹配层(Perfectly Matched Layer)
大家好,欢迎来到这次的博客文章。今天我们将介绍在波场模拟中应用的两个关键技术:交错网格(Staggered Grid)和完全匹配层(Perfectly Matched Layer,PML)。我们将尽力将复杂的理论知识用简洁明了的语言呈现,同时穿插一些代码片段帮助理解。
交错网格(Staggered Grid)
交错网格方法是有限差分法的一种改进形式,使得不同的物理量在不同的网格位置被定义。这种方式在处理某些偏微分方程时更为精确,尤其是在计算物理中模拟波动方程时。我们来看一个更详细的例子,这次我们将模拟一维波动方程。
首先,定义一些参数:
import numpy as np
import matplotlib.pyplot as plt
# 定义参数
N = 200 # 网格数
c = 1.0 # 波速
dt = 0.01 # 时间步长
dx = 0.1 # 空间步长
t_steps = 100 # 时间步数
创建交错网格:
# 创建网格
x = np.arange(N)*dx
pressure = np.zeros(N) # 在整数点定义压力
velocity = np.zeros(N+1) # 在半整数点定义