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)
This commit is contained in:
2026-06-11 13:27:43 +08:00
parent 80520590d1
commit 131f52fe19
10 changed files with 119 additions and 99 deletions
+7 -9
View File
@@ -1,6 +1,6 @@
# case05: 一维原子链驱动力学模拟
# case06: 一维原子链横波模拟
60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受驱动力作用
60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受 z 方向驱动力作用,产生沿链传播的横波
## 物理设定
@@ -8,12 +8,12 @@
|---|---|
| 原子数 | 60 |
| 排列 | 沿 x 轴等间距排列,间距为 1 |
| 约束 | 原子**沿 z 方向**振动fix_x=1, fix_y=1, fix_z=0 |
| 约束 | 原子**沿 z 方向自由振动**fix_x=1, fix_y=1, fix_z=0x, y 锁定 |
| 弹簧 | 劲度系数 k=1.0,原长 L₀=1.0 |
| 重力 | 无 |
| 万有引力 | 无 |
| 阻尼 | 无 |
| 驱动力 | 原子 1详见 driver.txt |
| 驱动力 | 原子 1z 方向驱动 |
| 算法 | leapfrog(蛙跳法,能量守恒) |
## 驱动力
@@ -24,18 +24,16 @@
z(t) = A_z \cdot \cos(2\pi f_z t + \phi_z)
```
当前参数:A_z = 5.0, f_z = 1.0 Hz, φ_z = 90°(全程驱动)。
受驱原子完全忽略 coord.txt 中的初始坐标和 fix 约束,位置/速度由驱动力解析确定。
当前参数:A_z = 0.5, f_z = 0.1 Hz, φ_z = 90°, period = all(全程驱动)。
## 动力学行为
原子 1 的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的横波。由于横向振动的几何非线性(弹簧张力主要在 x 方向z 方向有效刚度低,波速较慢,呈现 FPU 型非线性动力学特征
原子 1 沿 z 方向的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的**横波**。由于 z 方向的振动是横向的,弹簧大部分张力在 x 方向,z 方向有效刚度是非线性的——等效于一个三次方恢复力(FPU 型非线性),因此波速较慢
## 使用方法
```bash
cd examples/case05
cd examples/case06
python run_dynamics.py
```