如何检查分子动力学中粒子之间的重叠

How to check overlap between to particle in Molecular Dynamics

假设我有10个粒子,每个粒子有三个坐标。我想随机放置它们,使两个粒子之间的距离始终大于某个值(比如 1)。 知道如何做到这一点。

因为你没有提到粒子被限制在某个体积内,即它们可以在 R^3 中的任何地方,你可以只引入随机数

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

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