docs: 更新 case05 Readme.md —— 驱动力描述、使用说明
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# case05: 一维原子链(60原子)
|
# case05: 一维原子链驱动力学模拟
|
||||||
|
|
||||||
60个原子沿 x 轴排列,相邻原子用弹簧连接。
|
60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受驱动力作用。
|
||||||
|
|
||||||
## 物理设定
|
## 物理设定
|
||||||
|
|
||||||
@@ -13,16 +13,30 @@
|
|||||||
| 重力 | 无 |
|
| 重力 | 无 |
|
||||||
| 万有引力 | 无 |
|
| 万有引力 | 无 |
|
||||||
| 阻尼 | 无 |
|
| 阻尼 | 无 |
|
||||||
|
| 驱动力 | 原子 1(详见 driver.txt) |
|
||||||
| 算法 | leapfrog(蛙跳法,能量守恒) |
|
| 算法 | leapfrog(蛙跳法,能量守恒) |
|
||||||
|
|
||||||
## 初始条件
|
## 驱动力
|
||||||
|
|
||||||
- 所有原子初始速度为零
|
原子 1 的位置由 `input/driver.txt` 中的驱动力公式决定:
|
||||||
- **第1个原子**在 z 方向有初始位移,位移量 = 1
|
|
||||||
- 其余原子初始 z=0
|
```math
|
||||||
|
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 约束,位置/速度由驱动力解析确定。
|
||||||
|
|
||||||
## 动力学行为
|
## 动力学行为
|
||||||
|
|
||||||
初始时刻第1个原子的 z 位移拉伸了它和第2个原子之间的弹簧,产生一个沿 z 方向的扰动。该扰动将以波的形式沿一维原子链传播,在链的两端反射,形成驻波叠加。
|
原子 1 的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的横波。由于横向振动的几何非线性(弹簧张力主要在 x 方向),z 方向有效刚度低,波速较慢,呈现 FPU 型非线性动力学特征。
|
||||||
|
|
||||||
由于无阻尼,系统总能量守恒。
|
## 使用方法
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd examples/case05
|
||||||
|
python run_dynamics.py
|
||||||
|
```
|
||||||
|
|
||||||
|
配置参数详见 `input/input.txt`,驱动力定义见 `input/driver.txt`,完整文档见 `doc/index.html`。
|
||||||
|
|||||||
Reference in New Issue
Block a user