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

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

 

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

 

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

 

可以看到,   二体运动 具有 周期性 。     除了 碰撞 和 逃逸,  二体运动 是 周期性 的 。

从 模拟 中 可以看到,   2 个 质点 相互环绕,   呈 周期性 。  相对于 第三方 参照系,   2 个 质点 在 相互环绕 的 同时,  2 个 质点 组成 的 二体系统 整体 上 还会 移动  。

 

如果 以 一个 质点 作为 参照系 观察 另一个 质点, 则 另一个 质点 的 轨迹 是 椭圆 。

相对于 第三方 参照系,   因为 二体系统 整体 上 在 移动,  所以 质点 的 轨迹 是 存在 进动 的 类椭圆 环线 。

 

二体 如果 没有 相撞 也没有 形成 双星系统 的 话,  会 各自 向 远方 飞去 。   当 时间 t 趋于 无穷 时,  两个 质点 的 速度 存在 极限,  两个 质点 的 速度 分别 趋于 各自的 极限  。    这称为 逃逸 。

 

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

 

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

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

 

为什么 要 研究 二体  ?

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

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

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

 

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

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

 

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

 

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

 

posted on 2019-09-24 23:25  凯特琳  阅读(686)  评论(0编辑  收藏  举报

导航