二维平流方程的有限差分格式

计算科学 有限差分 平流
2021-12-21 08:54:50

我正在尝试用有限差分法研究具有空间相关流动的二维平流方程。取一个函数f(x,y,t)方程的解:

tf+(vf)=0

在哪里v已知无散度:

v=a[yx]
在哪里a是一个给定的常数。最后,要研究的方程采用以下形式:

tf+a[yxf+xyf]=0

作为第一次尝试,我尝试通过离散化实现一个非常幼稚的中心显式方案x=qΔx,y=pΔy,t=nΔtf(x,y,t)=fqpn在哪里(q,p)[2,K1]2n[1,N]

fqpn+1=fqpn+aΔt2[p(fq+1pnfq1pn)+q(fqp+1nfqp1n)]

我们去的地方Δx=Δy=h为简单起见。

我将边界条件固定为零通量条件,我不知道这是否正确,因为我正在研究的问题不应该有边界。

我试图对这个方案进行冯诺依曼稳定性分析,但它似乎在任何情况下都是不稳定的。但事实上该方案不依赖于h困惑我,我认为它无处可去......

问题 :

计算科学对我来说很新,我想知道我的思考是否正确:

  • 我应该尝试隐式方法还是 Crank-Nicolson 方法?在稳定性方面应该更好吗?
  • 关于边界条件,既然我的系统不应该有任何边界,我应该尝试实现吸收边界条件吗?
  • 是否有任何通用方法来数值研究这种方程,例如在更高维度或附加项(如扩散项)?
  • 有什么文献可以帮助我完成这项研究吗?
1个回答

您已经使用前向时间差和居中空间差对平流方程进行了离散化。您已经正确推断出这是一个不稳定的离散化;事实上,即使对于一维的常系数平流,它也是不稳定的。您可以使用许多稳定的离散化;最常见(也是最简单的)是切换到一个居中的时间差。要了解其他离散化,我推荐LeVeque 的有限差分文本的第 10 章。还有很多其他很好的参考资料。

我不建议对这个或大多数其他双曲线问题使用隐式方法。隐式方法更昂贵(每个时间步长)且更难以实现,对于此类问题,隐式方法不允许您采用更大的时间步长,而不会严重扩散(涂抹)解决方案或引入振荡。

对流实际上没有“吸收边界条件”这样的东西,因为没有反射。您可以(并且应该)做的就是沿着边界处的传入特征指定解决方案值。这些取决于您未指定的初始数据。

我应该补充一点,使用Clawpack解决此类问题也很容易,它(但是)使用有限体积方法。