任何人都可以编写一个 Python 实现一组粒子根据短程粒子-粒子力在 2D 中相互作用并在 Metropolis 算法下随时间演化,该算法随机选择一个粒子并提出随机空间移动?我可以使用更新与已提议移动的给定单元相关联的所有粒子-粒子相互作用能量的幼稚方法编写这样的实现,但希望看到使用Verlet List或KD Tree的实现,我当粒子数量很大(比如 100-1000)时,希望至少可以快一个数量级。
在我的特定问题中一个额外的复杂性是粒子复制并死亡,但将其合并到 Verlet/KD 树方法中将是次要目标。
谢谢你尽你所能的帮助。