Files
dynamics/examples/case05/Readme.md
T
admin 131f52fe19 docs: case05纵波 + case06横波一维原子链
- case05 Readme.md 更新为纵波模拟描述
- case05 run_dynamics.py 注释更新
- case06 创建为一维原子链横波模拟
  - coord.txt: fix_x=1, fix_y=1, fix_z=0 (z方向自由)
  - driver.txt: amp_z=0.5, freq_z=0.1, phi_z=90°
  - input.txt: 横波配置 + step_plot_wave
  - Readme.md + doc/index.html + run_dynamics.py
- 模拟验证通过 (50000步/30s)
2026-06-11 13:27:43 +08:00

1.2 KiB
Raw Blame History

case05: 一维原子链纵波模拟

60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受 x 方向驱动力作用,产生沿链传播的纵波。

物理设定

参数
原子数 60
排列 沿 x 轴等间距排列,间距为 1
约束 原子沿 x 方向自由振动fix_x=0, fix_y=1, fix_z=1),y, z 锁定
弹簧 劲度系数 k=1.0,原长 L₀=1.0
重力
万有引力
阻尼
驱动力 原子 1x 方向驱动)
算法 leapfrog(蛙跳法,能量守恒)

驱动力

原子 1 的位置由 input/driver.txt 中的驱动力公式决定:

x(t) = A_x \cdot \cos(2\pi f_x t + \phi_x)

当前参数:A_x = 0.5, f_x = 1.0 Hz, φ_x = 0°, period = all(全程驱动)。

动力学行为

原子 1 沿 x 方向的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的纵波(压缩波/疏密波)。由于 x 方向的弹簧力是线性的(F ≈ k·Δx),纵波的传播速度较快,能量沿链高效传递。

使用方法

cd examples/case05
python run_dynamics.py

配置参数详见 input/input.txt,驱动力定义见 input/driver.txt,完整文档见 doc/index.html