如何在Molecular Dynamics中检查粒子之间的重叠

时间:2017-04-13 10:28:52

标签: python physics montecarlo

假设我有10个粒子,每个粒子有三个坐标。我想随机放置它们,使得两个粒子之间的距离总是大于某个值(比如1)。 不知道怎么做。

1 个答案:

答案 0 :(得分:0)

由于你没有提到粒子被限制在某个体积中,即它们可以在R ^ 3中的任何位置,你可以随便引入随机数

n = 10
pos = np.random.random(3*n).reshape(n,3)

然后计算所有成对距离,请参阅this question有关如何有效地执行此操作,然后将整个数组pos除以最小距离(如果您使用值1是没有两个粒子应该少于的距离。