python 画y=0_用 python 学哈密顿力学 (1)

本文介绍了使用Python求解哈密顿系统的运动方程,以谐振子问题为例,探讨了从哈密顿量到运动方程的转换,以及如何利用scipy.odeint解决常微分方程。讨论了显式欧拉法的局限性和辛格式的重要性,并展示了保辛的辛欧拉格式如何改善长时间模拟的稳定性。
摘要由CSDN通过智能技术生成

48e38ae720dc77acd39a71252cefb120.png

这一节介绍用 Python 解哈密顿系统的运动方程。

学习目标:

  1. 哈密顿系统,运动方程,相流与辛群
  2. 用 scipy.odeint 解常微分方程,举例:谐振子问题,开普勒问题和分子动力学问题

谐振子

165330df170fde42fd98c9965dab64ca.png

先来考虑最简单的谐振子系统的哈密顿量,

其中

  • 是方块儿的动量,
  • 是其质量,
  • 是弹簧的弹性系数,
  • 是广义坐标,表示方块儿位移(弹簧拉伸或压缩的长度),有时也用
    表示。

哈密顿量可以看做是给定系统状态下的能量,等于动能

加势能

除到右边,上面方程表现出很奇特的性质,

,
上面的方程变为,

这是一个椭圆的轨迹方程。

即坐标和动量

在相空间中是一个等能量的椭圆曲线(一维流形)。

下面先画一下方块儿的相空间(坐标,动量)轨迹,选择两个不同的

f826038f4691561b4bdd683783694c6b.png
(q, p) 表示方块儿的位移与动量,对于不同的弹簧弹性系数,相空间轨迹是不同的椭圆。上面这两个相空间轨迹分别对应能量 E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值