使用 Crank-Nicolson 方法求解空间和时间方程

计算科学 pde 有限差分 算法 曲柄尼科尔森
2021-12-05 17:36:42

假设我有以下方程(光在方向上传播通过物质): 其中是一个复波。这个等式中的时间尺度是 我知道如何使用 Crank-Nicolson 算法来解决这个等式:我可以用 得到方程 可以使用线性代数求解。z

idzu+dr2u=0
u(z,r)
ttlabzn0/c
zumn+12=umn+1umndz
r2umn+12=r2umn+1+r2umn2
[1idz2r2]umn+1=[1+idz2r2]umn

但是,如果我添加时间相关性,使第一个方程变为 会发生什么?之后,我该如何从上面重新制定我的方法还是我必须使用完全不同的方法?

idzu+dr2u+dt2u=0
u(z,r,t)dt=dzn0/c

1个回答

这个问题令人困惑。一开始你说的是稳态方程,突然你说的是时间尺度……

我将尝试澄清以下内容。从数值 PDE 的角度来看,您可以将物理现象分类为与时间相关的或与时间无关的LeVeque 的书是这方面的可靠参考。通常,与时间无关的现象是通过椭圆偏微分方程 (PDE) 来描述的,它可以被离散化,从而产生一个方程组,其解表示模拟系统在时间快照中的状态的近似值。

两个注意事项:

  1. 当在频域中表述时,时间周期相关性会产生时间无关性。
  2. 如果 PDE 是线性/非线性的,那么产生的方程组将是线性/非线性的……在后者中,显然“线性代数”方法是不够的。

时间相关问题需要时间积分。Crank-Nicolson 方法通常用于与时间相关的问题。在时间相关问题中,系统行为在时间上的快照是逐步求解的,它们的时间演化以时间积分方法为指导。

您的问题似乎是在混合时间依赖性概念。如果您有一个椭圆 PDE(假设它是线性的),那么您必须使用任何面向空间的离散化方法进行离散化。这将产生一个线性方程组,您可以利用这些属性来选择求解它的方法。非周期性的时间相关偏微分方程,例如抛物线偏微分方程,将需要时间积分方法。然而,时间积分方法可以是式的也可以是隐式的,并且必须确保它们的数值稳定性。显式与隐式的选择取决于确保这种数值稳定性的难度。其他方面也很重要:色散、依赖于物理的网格细化条件和数值精度等。

在您的情况下,我将首先专注于解决椭圆问题。一旦你理解了这一点,就可以继续介绍时间依赖性,并研究哪种时间积分方法会产生最好的结果。