【发布时间】:2021-02-04 22:55:07
【问题描述】:
我正在用 python 编写一个球状簇的模拟,从相同质量的粒子开始,并且 0 随机球形分布中的初始速度。我正在尝试调查系统随时间的均方根半径,并尝试查看此 R_rms 需要多长时间才能停止收缩并达到平衡状态。但是,由于近距离接触,我遇到了恒星以非常高的速度被抛出系统的问题,这完全支配了我的 R_rms 计算。在我的计算中忽略这些粒子的最佳方法是什么?
我考虑过在以下情况下忽略它们:
- 与原点的距离在原始生成范围之外,但存在集群作为一个整体移动到生成范围之外的问题。
- 如果粒子的速度大于系统的逃逸速度,则忽略它们。这似乎是最合理的方式,但是,我担心会忽略速度大于逃逸速度但后来遇到将其保留在系统中的粒子。
这是随时间变化的粒子位置图,您可以看到几个粒子已被抛出。
【问题讨论】:
-
我不知道你模拟的细节,但你确定忽略它们是最好的做法吗?换句话说,这些粒子是真的存在还是因为时间步长过大或其他数值问题而被抛出?
-
是的,这是一个很好的提出点,也是我考虑过的。随着时间的推移失去恒星是球状星团的本质,所以这是可以预料的。然而,对于我只有 100 个物体的小型模拟,我认为这些星星只是由于彼此靠得太近而被抛出,但我不确定如何在我的代码中解释这一点。我试图将碰撞包括在内,并在这里就您的观点提出了另一个问题:stackoverflow.com/questions/66026268/…
-
好的,我认为可以通过使用减少的单位来解决(或至少减轻)这个问题,这样您就不会在模拟中使用太大(或太小)的数字。如果我有时间,我会尝试写一个完整的答案。
-
那太好了,谢谢!
标签: python simulation astronomy