创建您自己的纳维-斯托克斯谱法流体模拟Navier-Stokes Spectral Method Fluid Simulation(使用 Python)

在今天的娱乐性编码练习中,我们求解不可压缩粘性流体的纳维-斯托克斯方程。为此,我们将实施光谱方法。纳维-斯托克斯方程近似描述水等流体的运动。这些方程可以捕捉湍流现象。该系统在数学上也很有趣,因为它是 3D 解的存在性和平滑性的一般证明,是开放的千年奖问题之一。

在深入研究之前,下面是运行模拟的 gif:
请添加图片描述

纳维-斯托克斯方程

我们将考虑粘度为ν的不可压缩流体的速度场v(x)的演化,由纳维-斯托克斯方程控制:
在这里插入图片描述
其中P是流体压力。不可压缩流体的压力场很特殊:它不是随时间演变的单独变量(与可压缩流体的情况不同)。相反,压力是保持速度场无发散的解(第二个方程)。速度场经历平流(第一个方程左侧的非线性项),这可能会导致压缩。由于粘度系数ν,流体也会经历扩散。粘度系数越大,流体就越“粘”,就像蜂蜜一样。

光谱法

谱方法将偏微分方程的数值解表示为全局基函数的总和,其中系数作为要求解的未知数。在这里,我们将考虑傅立叶基,它非常适合表示周期域上的连续解。然后,这种方法可以使用快速傅立叶变换(FFT)算法将物理域x上的解变换到傅立叶空间,其中该解成为每个由波数k描述的波的和。我们在之前求解瞬态薛定谔方程的教程中已经看到了这种方法。我们使用“帽子”符号来描述速度

猜你喜欢

转载自blog.csdn.net/iCloudEnd/article/details/132198878