Python教程之创建您自己的格子玻尔兹曼模拟,晶格上的流体动力学

对于今天的休闲编码练习,我们使用格子玻尔兹曼方法模拟流经圆柱体的流体。这是一种非常酷且简单的模拟流体流动的技术:不是直接演化流体(纳维-斯托克斯)方程,而是通过流动和碰撞过程来模拟晶格上的微观粒子。该方法的强大之处在于将微观物理的高维性降低到自由度有限的晶格上。

1_wqcb10sKNKP_B_ihsfS8Tw.gif

晶格上的流体动力学

我们将从对晶格上的流体进行微观描述开始。在本练习中,我们将考虑一个二维晶格,每个晶格位置有 9 个可能的速度 (D2Q9)。有 4 个连接向北、南、东、西延伸,4 个对角线连接,以及 1 个从节点到自身的连接代表零速度。每个格点也有一个与之关联的权重wᵢ :

image.png

组成流体的微观粒子可以用分布函数f( x,v )来描述,该函数描述了以速度v行进的位置x处的流体的相空间密度。

粒子会做两件事。流动和碰撞。这种行为可以通过 BGK 近似来捕获:

image.png

其中左侧代表流,右侧近似碰撞。在这个近似中,τ是碰撞发生的时间尺度,结果分

猜你喜欢

转载自blog.csdn.net/iCloudEnd/article/details/132219031
今日推荐