为了账号安全,请及时绑定邮箱和手机立即绑定

galpy 中的轨道积分,无需指定时间步长数组

galpy 中的轨道积分,无需指定时间步长数组

一只萌萌小番薯 2024-01-15 15:33:25
我刚刚发现了 galpy,并花了一整天的时间查看文档和示例,但我仍然对在不指定时间集的情况下整合轨道的可能性感到有点困惑。文档中的一个简单示例如下:from galpy import potentialimport numpyts= numpy.linspace(0,100,10000)o= Orbit([1.,0.1,1.1,0.,0.1,0.])o.integrate(ts,potential.MWPotential2014)但我问是否可以使用整合方法而不指定整个时间数组,而仅指定适当单位的时间量。例如:t = 100o.integrate(t, potential.MWPotential2014)谢谢。
查看完整描述

1 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

如果文档没有说存在这样的接口,您可能会认为它不存在,但快速查看代码可以证实这一点。无论如何,即使存在这样的捷径,积分器函数本身仍然需要一系列时间步长来积分,所以这只是一个捷径。


即使您只想指定“一段时间”,您仍然需要提供一个时间步长,尽管您也可以有一个默认时间步长。您可以编写自己的快捷函数,例如:


def integrate_orbit(orbit, pot, t, dt=0.01):

    t = np.arange(0, t, dt)

    return orbit.integrate(t, pot)


查看完整回答
反对 回复 2024-01-15
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信