我写了一个 二体 模拟程序, 大伙来看看吧

Posted ksongking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我写了一个 二体 模拟程序, 大伙来看看吧相关的知识,希望对你有一定的参考价值。

项目地址 :            https://github.com/kelin-xycs/Two-Body    ,

 

项目只有一个 文件   TwoBody.html ,   用 浏览器 打开 就可以 运行 了 。    用 Html 5 + javascript 写的, 现在的 浏览器 应该都可以运行  。

 

大家可以 修改 参数 试试 不同参数 下 的 二体 运动状况,      比如  两个 质点 的 初始位置,  初始速度,  质量,  万有引力常量 等等  。     

 

可以发现,    二体 也是 没有 周期性解 的,    这一点 和 三体 一样 。     二体 和 三体 有 一些 周期性 的 特例,  但是 大部分 情况 是  非周期性 的  。

 

不过 二体 如果 没有 相撞 也没有 形成 双星系统 的 话,  通常 会 相背而行,   各自 向 远方 飞去 。   当 时间 t 趋于 无穷 时,  两个 质点 的 速度 存在 极限,  两个 质点 的 速度 分别 趋于 各自的 极限  。    不知 这种情况 算不算 周期性 ?

 

要 形成 稳定 的 双星系统,  依赖于 下面 2 个 条件 的 任意一个 :

1      一个 质点 的 质量 远远 大于 另一个 质点,   比如 太阳 和 地球

2      特定 的 初始条件,   比如     地球 和 月球

 

月球直径大约是地球的四分之一,质量大约是地球的八十一分之一 ,     地球 的 质量 并不  “远远大于”  月球 质量,  这种情况下,  地球 和 月球 能成为 双星系统,  需要 特定 的 初始条件 。

 

这个 二体 模拟程序 是 按 直角坐标系 + 牛顿第二定律  的 模型 写 的,     课本上的 二体解法 是 用 极坐标 + 质心系 + 约化质量 + 机械能守恒(动能势能守恒) 解 的 。

 

程序 本身 也  体现 了  二体 在 直角坐标系 + 牛顿第二定律 下 的 微积分 模型,

大家 可以 想一下,   二体 在 直角坐标系 + 牛顿第二定律 下 的 微分方程 能不能 求解,  或者说,  能不能 推导出 积分 的 代数 表达式  。

 

为什么 要 研究 二体  ?

研究 二体 的 意义 是 ,    二体 是 最基本 的 一个 动力学 问题,    研究 二体 可以 认识 数学 在 物理学 中 的 能力 和 地位 。

更简单 的 一种 二体 是 用 弹簧 把 两个 质点 连起来 ,     拉住 两个 质点,  把 弹簧 拉长 一段 距离,   松开质点,    让 质点 自由运动 。

当然 ,  质点 可以有 初始速度  。

 

弹簧 的 弹力 和 弹簧拉伸长度 成 正比,   比 万有引力 的 平方反比  简单  。       但  弹簧二体 的 微分方程 能否 求解 ?

再简化一点,    两个 质点 在 一条直线 上 运动,    弹簧 也 在 这条 直线 上,   这样 问题 就 简化为 一维 的,   微分方程 能否 求解 ?

 

如果 弹簧 上 只有一个 质点,   这就是 简谐振动,   位移 和 时间 的 函数 是一个 正弦函数,   这就是 简谐运动 的 微分方程 的 解,  也就是说,  当 弹簧 上的 质点 只有一个,  且 沿 弹簧 所在的 直线 自由运动 时,   这个 问题 的 微分方程 是 可以解出来的,   这 算是 “一体”  ?

 

但是,     当 弹簧 上 的 质点 变成 2 个,  虽然 仍然 沿 弹簧 所在的 直线 自由运动,  是 一维问题,  但此时   微分方程  从 一个方程 变成了 二个方程 的 方程组, 这个 方程组 能否 求解  ?

 

以上是关于我写了一个 二体 模拟程序, 大伙来看看吧的主要内容,如果未能解决你的问题,请参考以下文章

我写了个下载程序,用Java写的,但是写完以后发现下载大文件的时候报错,内存溢出,能看看是哪的问题么?

我写了一个BAT脚本获取指定网卡的IP地址,但是一直不成功,求大佬帮我看看

macos安装失败一直重启 快来看看吧

大神们 看看 这个 微分方程 怎么解

简单几行代码看两个机器人尬聊

在 R 中存储模拟结果