【问题标题】:Calculating rms Radius of a Globular Cluster计算球状星团的 rms 半径
【发布时间】:2021-02-04 22:55:07
【问题描述】:

我正在用 python 编写一个球状簇的模拟,从相同质量的粒子开始,并且 0 随机球形分布中的初始速度。我正在尝试调查系统随时间的均方根半径,并尝试查看此 R_rms 需要多长时间才能停止收缩并达到平衡状态。但是,由于近距离接触,我遇到了恒星以非常高的速度被抛出系统的问题,这完全支配了我的 R_rms 计算。在我的计算中忽略这些粒子的最佳方法是什么?

我考虑过在以下情况下忽略它们:

  • 与原点的距离在原始生成范围之外,但存在集群作为一个整体移动到生成范围之外的问题。
  • 如果粒子的速度大于系统的逃逸速度,则忽略它们。这似乎是最合理的方式,但是,我担心会忽略速度大于逃逸速度但后来遇到将其保留在系统中的粒子。

这是随时间变化的粒子位置图,您可以看到几个粒子已被抛出。

【问题讨论】:

  • 我不知道你模拟的细节,但你确定忽略它们是最好的做法吗?换句话说,这些粒子是真的存在还是因为时间步长过大或其他数值问题而被抛出?
  • 是的,这是一个很好的提出点,也是我考虑过的。随着时间的推移失去恒星是球状星团的本质,所以这是可以预料的。然而,对于我只有 100 个物体的小型模拟,我认为这些星星只是由于彼此靠得太近而被抛出,但我不确定如何在我的代码中解释这一点。我试图将碰撞包括在内,并在这里就您的观点提出了另一个问题:stackoverflow.com/questions/66026268/…
  • 好的,我认为可以通过使用减少的单位来解决(或至少减轻)这个问题,这样您就不会在模拟中使用太大(或太小)的数字。如果我有时间,我会尝试写一个完整的答案。
  • 那太好了,谢谢!

标签: python simulation astronomy


【解决方案1】:

一旦一颗恒星达到系统的逃逸速度,就可以认为它不再是系统的一部分。一颗处于逃逸速度的恒星再次遭遇并重新进入星团的几率非常低。

你的星团中有多少颗恒星,有多少颗正在被抛射?如果它是很大一部分,可能是由于数值不稳定性,您可以实施一种称为“引力平滑”的方法,以防止恒星以不切实际的速度喷射。请参阅here 的“软化”部分,或this paper 的等式 (4)。基本上,您所做的是以这种方式更改模拟中恒星之间的距离“r”(在计算力/加速度时): r -> sqrt(r^2 + epsilon^2) 其中 epsilon 是一个很小的值,例如几倍于恒星的半径。

不过,那些被喷出的恒星可能是真实的结果;恒星偶尔会从星团中弹出!

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2011-04-12
    • 2020-08-25
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多