跳到主要内容
Sandbox Physics

M084 · Hamilton / 数值几何

Hamilton 相空间与积分器实验室

并排运行 Euler、RK4、辛 Euler 与 Verlet。比较长期相图或轨道精度、能量漂移、局部正则映射几何与可逆性;将步长减半,挑战快速变化的开普勒近日点。

交互模型Hamilton 相空间与积分器实验室
回放无量纲时间Pending\text{Pending}
实际恒定步长Pending\text{Pending}
每种方法的总步数Pending\text{Pending}
选中方法Pending\text{Pending}
当前相对能量误差Pending\text{Pending}
最大绝对能量误差Pending\text{Pending}
当前状态误差Pending\text{Pending}
末个保留状态误差Pending\text{Pending}
局部完整映射行列式Pending\text{Pending}
局部辛性误差Pending\text{Pending}
单步反演误差Pending\text{Pending}
参考构造Pending\text{Pending}
参考细化差异Pending\text{Pending}
选中方法记录Pending\text{Pending}
保留记录结束时间Pending\text{Pending}
正则维数Pending\text{Pending}

物理教程

数值映射既有几何也有局部阶数

背景数值方法用离散正则映射替代连续 Hamilton 运动。

为什么值得理解几何数值积分研究离散方法保持哪些结构,以及它们对长期运动的影响。

先抓重点

核心问题
很小的能量误差能否掩盖错误轨迹?
一句话直觉
精度、能量行为、辛性和可逆性相互关联,却是不同测量。

核心数学模型

正则流

q˙=p,p˙=−∇V,H=∣p∣22+V\dot{\mathbf q}=\mathbf p,\qquad\dot{\mathbf p}=-\nabla V,\qquad H=\frac{|\mathbf p|^2}{2}+V

单位质量与无量纲单位使三个保守系统可直接比较;谐振频率与开普勒引力参数均为一。

先踢再漂移

pj+1=pj−h∇V(qj),qj+1=qj+hpj+1\mathbf p_{j+1}=\mathbf p_j-h\nabla V(\mathbf q_j),\qquad\mathbf q_{j+1}=\mathbf q_j+h\mathbf p_{j+1}

辛 Euler 是一阶方法;漂移使用更新后的动量,使其区别于显式 Euler。

对称 Verlet 步

pj+1/2=pj−h2∇V(qj),qj+1=qj+hpj+1/2,pj+1=pj+1/2−h2∇V(qj+1)\mathbf p_{j+1/2}=\mathbf p_j-\frac h2\nabla V(\mathbf q_j),\quad\mathbf q_{j+1}=\mathbf q_j+h\mathbf p_{j+1/2},\quad\mathbf p_{j+1}=\mathbf p_{j+1/2}-\frac h2\nabla V(\mathbf q_{j+1})

两个半踢构成二阶可逆映射,这并不令真实 Hamilton 量精确守恒,也不使未解析的近日点变得准确。

检验完整辛几何

DΦhTJDΦh=J,J=(0I−I0)D\Phi_h^{\mathsf T}J D\Phi_h=J,\qquad J=\begin{pmatrix}0&I\\-I&0\end{pmatrix}

读数通过中心差分报告最大逐元素误差。四维中的单位行列式条件更弱,开普勒斑块是二维投影,不作为完整体积测量。

能量与状态是不同误差

ϵH=Hj−H0max⁡(∣H0∣,10−6),ϵz=∥zj−zref(tj)∥2\epsilon_H=\frac{H_j-H_0}{\max(|H_0|,10^{-6})},\qquad\epsilon_z=\|\mathbf z_j-\mathbf z_{\rm ref}(t_j)\|_2

全部步进参与最大能量误差,绘图每种方法保留约 600 个样本;稳定能量曲线可以掩盖积累的相位误差。已停止记录没有预测延续。

读取对数坐标

yH=sgn⁡(ϵH)log⁡10(1+∣ϵH∣10−8),yz=log⁡10(1+ϵz10−8)y_H=\operatorname{sgn}(\epsilon_H)\log_{10}\left(1+\frac{|\epsilon_H|}{10^{-8}}\right),\qquad y_z=\log_{10}\left(1+\frac{\epsilon_z}{10^{-8}}\right)

共同对数变换同时显示微小与巨大误差,保留能量漂移符号。摆参考比较每个粗步中 32 与 64 个 RK4 子步。标称周期与实际时间由控件及读数给出。

常见难点

能量不是完整轨迹

容易误解很小的能量误差保证正确轨道。

正确理解相位误差可在近似守恒能量时积累;比较相同时刻的参考状态。

辛性不表示精确能量

容易误解辛方法每一步守恒精确 Hamilton 量。

正确理解步长充分解析时常出现有界振荡能量误差,而真实能量并不精确。

解析近日点

容易误解保持几何能修复大步长。

正确理解快速近中心经过仍需短步长;将步长减半并比较轨道误差,而非只看行列式。

投影不是正则体积

容易误解开普勒投影斑块面积证明辛性。

正确理解开普勒相空间为四维,完整矩阵检验提供相关局部证据。

动手实验

  1. 01

    比较全部方法

    回看完整谐振记录并切换选中方法。

    应该观察到: 各色共享相同步长,能量增长、漂移和有界振荡不同。
  2. 02

    步长减半

    使用长期 RK4 记录,再将恒定步长减半。

    应该观察到: 状态误差与能量漂移随分辨率变化,高局部阶数不是唯一标准。
  3. 03

    离开小角度极限

    比较大振幅往返摆和旋转摆预设。

    应该观察到: 数值参考明确经过细化,而非用谐振近似代替。
  4. 04

    挑战开普勒近日点

    比较已解析与未解析近日点,检查完整映射误差并减半步长。

    应该观察到: 辛映射可以保持其几何,同时产生较差轨迹。