跟踪晶格上 2D 振荡的速度

计算科学 模拟 蒙特卡洛 计算物理学
2021-12-14 15:48:02

我在离散晶格(具有周期性边界条件)上编写了二维 Lotka-Volterra 模型的蒙特卡罗模拟。可以在此处找到我制作的视频(在一定数量的蒙特卡罗步骤后对系统进行成像)我想知道,从一个视频帧到下一帧,跟踪两个物种在晶格上的振荡空间“速度”的最佳方法是什么?

我的模型使用以下速率完成,其中表示格上的捕食者节点,表示格上的猎物节点,表示格上的空白空间:AB

A+BλA+A,(predatorconsumingprey)B+σB+B,(preygrowingintoemptyadjacentspaces)Aμ,(predatorsdyingoff)

对于每个 Monte Carlo 步骤,我随机选择格子上的一个空间,执行 cumsum(每个邻居的比率。/sum(邻居的比率)),然后生成一个随机数来决定将完成上述三个反应中的哪一个。在我的视频中,λ=1.6σ=50μ=0.1

我不确定是否应该尝试跟踪每一帧中的某个形状并测量其变形,或者是否应该尝试使用其他类型的空间度量。需要明确的是,每个视频帧的数据都存储在 N×N 矩阵中(值为 0 表示空,1 表示捕食者,2 表示猎物),所以我不限于对我提供的视频进行分析,它只是为了解释。我的这个项目的源代码可以在这里找到。

解决此类问题的典型方法是什么,也许有人可以提供参考?

谢谢。

0个回答
没有发现任何回复~