diff --git a/examples/case05/Readme.md b/examples/case05/Readme.md index 2422398..2fd6bc0 100644 --- a/examples/case05/Readme.md +++ b/examples/case05/Readme.md @@ -1,6 +1,6 @@ -# case05: 一维原子链驱动力学模拟 +# case05: 一维原子链纵波模拟 -60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受驱动力作用。 +60 个原子沿 x 轴排列,相邻原子用弹簧连接。原子 1 受 x 方向驱动力作用,产生沿链传播的纵波。 ## 物理设定 @@ -8,12 +8,12 @@ |---|---| | 原子数 | 60 | | 排列 | 沿 x 轴等间距排列,间距为 1 | -| 约束 | 原子**只沿 z 方向**振动(fix_x=1, fix_y=1, fix_z=0) | +| 约束 | 原子**沿 x 方向自由振动**(fix_x=0, fix_y=1, fix_z=1),y, z 锁定 | | 弹簧 | 劲度系数 k=1.0,原长 L₀=1.0 | | 重力 | 无 | | 万有引力 | 无 | | 阻尼 | 无 | -| 驱动力 | 原子 1(详见 driver.txt) | +| 驱动力 | 原子 1(x 方向驱动) | | 算法 | leapfrog(蛙跳法,能量守恒) | ## 驱动力 @@ -21,16 +21,14 @@ 原子 1 的位置由 `input/driver.txt` 中的驱动力公式决定: ```math -z(t) = A_z \cdot \cos(2\pi f_z t + \phi_z) +x(t) = A_x \cdot \cos(2\pi f_x t + \phi_x) ``` -当前参数:A_z = 5.0, f_z = 1.0 Hz, φ_z = 90°(全程驱动)。 - -受驱原子完全忽略 coord.txt 中的初始坐标和 fix 约束,位置/速度由驱动力解析确定。 +当前参数:A_x = 0.5, f_x = 1.0 Hz, φ_x = 0°, period = all(全程驱动)。 ## 动力学行为 -原子 1 的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的横波。由于横向振动的几何非线性(弹簧张力主要在 x 方向),z 方向有效刚度低,波速较慢,呈现 FPU 型非线性动力学特征。 +原子 1 沿 x 方向的受迫振动通过弹簧逐次传递给相邻原子,形成沿链传播的**纵波**(压缩波/疏密波)。由于 x 方向的弹簧力是线性的(F ≈ k·Δx),纵波的传播速度较快,能量沿链高效传递。 ## 使用方法 diff --git a/examples/case05/run_dynamics.py b/examples/case05/run_dynamics.py index 37c77d2..ead580b 100644 --- a/examples/case05/run_dynamics.py +++ b/examples/case05/run_dynamics.py @@ -1,5 +1,5 @@ """ -Case runner for Dynamics case05 — 1D atomic chain. +Case runner for Dynamics case05 — 1D atomic chain (longitudinal wave). This script keeps program and data separated: - program: ../../dynamics.py diff --git a/examples/case06/Readme.md b/examples/case06/Readme.md index 2422398..84c0703 100644 --- a/examples/case06/Readme.md +++ b/examples/case06/Readme.md @@ -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=0),x, y 锁定 | | 弹簧 | 劲度系数 k=1.0,原长 L₀=1.0 | | 重力 | 无 | | 万有引力 | 无 | | 阻尼 | 无 | -| 驱动力 | 原子 1(详见 driver.txt) | +| 驱动力 | 原子 1(z 方向驱动) | | 算法 | 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 ``` diff --git a/examples/case06/doc/index.html b/examples/case06/doc/index.html index 7aa9e48..34cad81 100644 --- a/examples/case06/doc/index.html +++ b/examples/case06/doc/index.html @@ -3,7 +3,7 @@
-