docs: 更新 examples/Readme.md 并新增 Readme.html
- 覆盖全部 10 个案例(原 Readme 只到 case06) - 新增案例选择指南表格 - Readme.html 为深色主题独立 HTML 页面 (含卡片布局、标签分类、代码高亮、响应式设计) - 各案例详情对齐最新配置参数
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
bond_name k rest_length
|
||||
k1 500.0 1.0
|
||||
@@ -0,0 +1,120 @@
|
||||
n1 n2 bond_name
|
||||
1 2 k1
|
||||
2 3 k1
|
||||
3 4 k1
|
||||
4 5 k1
|
||||
5 6 k1
|
||||
6 7 k1
|
||||
7 8 k1
|
||||
8 9 k1
|
||||
9 10 k1
|
||||
10 11 k1
|
||||
11 12 k1
|
||||
12 13 k1
|
||||
13 14 k1
|
||||
14 15 k1
|
||||
15 16 k1
|
||||
16 17 k1
|
||||
17 18 k1
|
||||
18 19 k1
|
||||
19 20 k1
|
||||
20 21 k1
|
||||
21 22 k1
|
||||
22 23 k1
|
||||
23 24 k1
|
||||
24 25 k1
|
||||
25 26 k1
|
||||
26 27 k1
|
||||
27 28 k1
|
||||
28 29 k1
|
||||
29 30 k1
|
||||
30 31 k1
|
||||
31 32 k1
|
||||
32 33 k1
|
||||
33 34 k1
|
||||
34 35 k1
|
||||
35 36 k1
|
||||
36 37 k1
|
||||
37 38 k1
|
||||
38 39 k1
|
||||
39 40 k1
|
||||
40 41 k1
|
||||
41 42 k1
|
||||
42 43 k1
|
||||
43 44 k1
|
||||
44 45 k1
|
||||
45 46 k1
|
||||
46 47 k1
|
||||
47 48 k1
|
||||
48 49 k1
|
||||
49 50 k1
|
||||
50 51 k1
|
||||
51 52 k1
|
||||
52 53 k1
|
||||
53 54 k1
|
||||
54 55 k1
|
||||
55 56 k1
|
||||
56 57 k1
|
||||
57 58 k1
|
||||
58 59 k1
|
||||
59 60 k1
|
||||
60 61 k1
|
||||
61 62 k1
|
||||
62 63 k1
|
||||
63 64 k1
|
||||
64 65 k1
|
||||
65 66 k1
|
||||
66 67 k1
|
||||
67 68 k1
|
||||
68 69 k1
|
||||
69 70 k1
|
||||
70 71 k1
|
||||
71 72 k1
|
||||
72 73 k1
|
||||
73 74 k1
|
||||
74 75 k1
|
||||
75 76 k1
|
||||
76 77 k1
|
||||
77 78 k1
|
||||
78 79 k1
|
||||
79 80 k1
|
||||
80 81 k1
|
||||
81 82 k1
|
||||
82 83 k1
|
||||
83 84 k1
|
||||
84 85 k1
|
||||
85 86 k1
|
||||
86 87 k1
|
||||
87 88 k1
|
||||
88 89 k1
|
||||
89 90 k1
|
||||
90 91 k1
|
||||
91 92 k1
|
||||
92 93 k1
|
||||
93 94 k1
|
||||
94 95 k1
|
||||
95 96 k1
|
||||
96 97 k1
|
||||
97 98 k1
|
||||
98 99 k1
|
||||
99 100 k1
|
||||
100 101 k1
|
||||
101 102 k1
|
||||
102 103 k1
|
||||
103 104 k1
|
||||
104 105 k1
|
||||
105 106 k1
|
||||
106 107 k1
|
||||
107 108 k1
|
||||
108 109 k1
|
||||
109 110 k1
|
||||
110 111 k1
|
||||
111 112 k1
|
||||
112 113 k1
|
||||
113 114 k1
|
||||
114 115 k1
|
||||
115 116 k1
|
||||
116 117 k1
|
||||
117 118 k1
|
||||
118 119 k1
|
||||
119 120 k1
|
||||
@@ -0,0 +1,121 @@
|
||||
n mass radius x y z vx vy vz fix_x fix_y fix_z
|
||||
1 1 0.1 0 0 0 0 0 0 0 1 0
|
||||
2 1 0.1 1 0 0 0 0 0 0 1 0
|
||||
3 1 0.1 2 0 0 0 0 0 0 1 0
|
||||
4 1 0.1 3 0 0 0 0 0 0 1 0
|
||||
5 1 0.1 4 0 0 0 0 0 0 1 0
|
||||
6 1 0.1 5 0 0 0 0 0 0 1 0
|
||||
7 1 0.1 6 0 0 0 0 0 0 1 0
|
||||
8 1 0.1 7 0 0 0 0 0 0 1 0
|
||||
9 1 0.1 8 0 0 0 0 0 0 1 0
|
||||
10 1 0.1 9 0 0 0 0 0 0 1 0
|
||||
11 1 0.1 10 0 0 0 0 0 0 1 0
|
||||
12 1 0.1 11 0 0 0 0 0 0 1 0
|
||||
13 1 0.1 12 0 0 0 0 0 0 1 0
|
||||
14 1 0.1 13 0 0 0 0 0 0 1 0
|
||||
15 1 0.1 14 0 0 0 0 0 0 1 0
|
||||
16 1 0.1 15 0 0 0 0 0 0 1 0
|
||||
17 1 0.1 16 0 0 0 0 0 0 1 0
|
||||
18 1 0.1 17 0 0 0 0 0 0 1 0
|
||||
19 1 0.1 18 0 0 0 0 0 0 1 0
|
||||
20 1 0.1 19 0 0 0 0 0 0 1 0
|
||||
21 1 0.1 20 0 0 0 0 0 0 1 0
|
||||
22 1 0.1 21 0 0 0 0 0 0 1 0
|
||||
23 1 0.1 22 0 0 0 0 0 0 1 0
|
||||
24 1 0.1 23 0 0 0 0 0 0 1 0
|
||||
25 1 0.1 24 0 0 0 0 0 0 1 0
|
||||
26 1 0.1 25 0 0 0 0 0 0 1 0
|
||||
27 1 0.1 26 0 0 0 0 0 0 1 0
|
||||
28 1 0.1 27 0 0 0 0 0 0 1 0
|
||||
29 1 0.1 28 0 0 0 0 0 0 1 0
|
||||
30 1 0.1 29 0 0 0 0 0 0 1 0
|
||||
31 1 0.1 30 0 0 0 0 0 0 1 0
|
||||
32 1 0.1 31 0 0 0 0 0 0 1 0
|
||||
33 1 0.1 32 0 0 0 0 0 0 1 0
|
||||
34 1 0.1 33 0 0 0 0 0 0 1 0
|
||||
35 1 0.1 34 0 0 0 0 0 0 1 0
|
||||
36 1 0.1 35 0 0 0 0 0 0 1 0
|
||||
37 1 0.1 36 0 0 0 0 0 0 1 0
|
||||
38 1 0.1 37 0 0 0 0 0 0 1 0
|
||||
39 1 0.1 38 0 0 0 0 0 0 1 0
|
||||
40 1 0.1 39 0 0 0 0 0 0 1 0
|
||||
41 1 0.1 40 0 0 0 0 0 0 1 0
|
||||
42 1 0.1 41 0 0 0 0 0 0 1 0
|
||||
43 1 0.1 42 0 0 0 0 0 0 1 0
|
||||
44 1 0.1 43 0 0 0 0 0 0 1 0
|
||||
45 1 0.1 44 0 0 0 0 0 0 1 0
|
||||
46 1 0.1 45 0 0 0 0 0 0 1 0
|
||||
47 1 0.1 46 0 0 0 0 0 0 1 0
|
||||
48 1 0.1 47 0 0 0 0 0 0 1 0
|
||||
49 1 0.1 48 0 0 0 0 0 0 1 0
|
||||
50 1 0.1 49 0 0 0 0 0 0 1 0
|
||||
51 1 0.1 50 0 0 0 0 0 0 1 0
|
||||
52 1 0.1 51 0 0 0 0 0 0 1 0
|
||||
53 1 0.1 52 0 0 0 0 0 0 1 0
|
||||
54 1 0.1 53 0 0 0 0 0 0 1 0
|
||||
55 1 0.1 54 0 0 0 0 0 0 1 0
|
||||
56 1 0.1 55 0 0 0 0 0 0 1 0
|
||||
57 1 0.1 56 0 0 0 0 0 0 1 0
|
||||
58 1 0.1 57 0 0 0 0 0 0 1 0
|
||||
59 1 0.1 58 0 0 0 0 0 0 1 0
|
||||
60 1 0.1 59 0 0 0 0 0 0 1 0
|
||||
61 1 0.1 60 0 0 0 0 0 0 1 0
|
||||
62 1 0.1 61 0 0 0 0 0 0 1 0
|
||||
63 1 0.1 62 0 0 0 0 0 0 1 0
|
||||
64 1 0.1 63 0 0 0 0 0 0 1 0
|
||||
65 1 0.1 64 0 0 0 0 0 0 1 0
|
||||
66 1 0.1 65 0 0 0 0 0 0 1 0
|
||||
67 1 0.1 66 0 0 0 0 0 0 1 0
|
||||
68 1 0.1 67 0 0 0 0 0 0 1 0
|
||||
69 1 0.1 68 0 0 0 0 0 0 1 0
|
||||
70 1 0.1 69 0 0 0 0 0 0 1 0
|
||||
71 1 0.1 70 0 0 0 0 0 0 1 0
|
||||
72 1 0.1 71 0 0 0 0 0 0 1 0
|
||||
73 1 0.1 72 0 0 0 0 0 0 1 0
|
||||
74 1 0.1 73 0 0 0 0 0 0 1 0
|
||||
75 1 0.1 74 0 0 0 0 0 0 1 0
|
||||
76 1 0.1 75 0 0 0 0 0 0 1 0
|
||||
77 1 0.1 76 0 0 0 0 0 0 1 0
|
||||
78 1 0.1 77 0 0 0 0 0 0 1 0
|
||||
79 1 0.1 78 0 0 0 0 0 0 1 0
|
||||
80 1 0.1 79 0 0 0 0 0 0 1 0
|
||||
81 1 0.1 80 0 0 0 0 0 0 1 0
|
||||
82 1 0.1 81 0 0 0 0 0 0 1 0
|
||||
83 1 0.1 82 0 0 0 0 0 0 1 0
|
||||
84 1 0.1 83 0 0 0 0 0 0 1 0
|
||||
85 1 0.1 84 0 0 0 0 0 0 1 0
|
||||
86 1 0.1 85 0 0 0 0 0 0 1 0
|
||||
87 1 0.1 86 0 0 0 0 0 0 1 0
|
||||
88 1 0.1 87 0 0 0 0 0 0 1 0
|
||||
89 1 0.1 88 0 0 0 0 0 0 1 0
|
||||
90 1 0.1 89 0 0 0 0 0 0 1 0
|
||||
91 1 0.1 90 0 0 0 0 0 0 1 0
|
||||
92 1 0.1 91 0 0 0 0 0 0 1 0
|
||||
93 1 0.1 92 0 0 0 0 0 0 1 0
|
||||
94 1 0.1 93 0 0 0 0 0 0 1 0
|
||||
95 1 0.1 94 0 0 0 0 0 0 1 0
|
||||
96 1 0.1 95 0 0 0 0 0 0 1 0
|
||||
97 1 0.1 96 0 0 0 0 0 0 1 0
|
||||
98 1 0.1 97 0 0 0 0 0 0 1 0
|
||||
99 1 0.1 98 0 0 0 0 0 0 1 0
|
||||
100 1 0.1 99 0 0 0 0 0 0 1 0
|
||||
101 1 0.1 100 0 0 0 0 0 0 1 0
|
||||
102 1 0.1 101 0 0 0 0 0 0 1 0
|
||||
103 1 0.1 102 0 0 0 0 0 0 1 0
|
||||
104 1 0.1 103 0 0 0 0 0 0 1 0
|
||||
105 1 0.1 104 0 0 0 0 0 0 1 0
|
||||
106 1 0.1 105 0 0 0 0 0 0 1 0
|
||||
107 1 0.1 106 0 0 0 0 0 0 1 0
|
||||
108 1 0.1 107 0 0 0 0 0 0 1 0
|
||||
109 1 0.1 108 0 0 0 0 0 0 1 0
|
||||
110 1 0.1 109 0 0 0 0 0 0 1 0
|
||||
111 1 0.1 110 0 0 0 0 0 0 1 0
|
||||
112 1 0.1 111 0 0 0 0 0 0 1 0
|
||||
113 1 0.1 112 0 0 0 0 0 0 1 0
|
||||
114 1 0.1 113 0 0 0 0 0 0 1 0
|
||||
115 1 0.1 114 0 0 0 0 0 0 1 0
|
||||
116 1 0.1 115 0 0 0 0 0 0 1 0
|
||||
117 1 0.1 116 0 0 0 0 0 0 1 0
|
||||
118 1 0.1 117 0 0 0 0 0 0 1 0
|
||||
119 1 0.1 118 0 0 0 0 0 0 1 0
|
||||
120 1 0.1 119 0 0 0 0 0 1 1 1
|
||||
@@ -0,0 +1,3 @@
|
||||
n amp_x amp_y amp_z freq_x freq_y freq_z phi_x phi_y phi_z period
|
||||
1 0 0 0.1 0 0 0.01333 0 0 90 all
|
||||
120 0 0 0.1 0 0 0.01333 0 0 90 all
|
||||
@@ -0,0 +1,114 @@
|
||||
# 物理模拟参数配置
|
||||
# 格式:YAML
|
||||
# 用法:python run_dynamics.py
|
||||
|
||||
# ── 流程控制 ──────────────────────────────────
|
||||
# 每步用 0/1 单独开关,1=执行,0=跳过
|
||||
# 依赖关系:抽帧依赖模拟结果,绘图依赖模拟+抽帧
|
||||
step_simulate: 1 # 运行物理模拟 → output/display.txt(引擎直接抽帧)
|
||||
step_sample: 0 # (旧版)从 trajectory.txt 重新抽帧,默认0=不执行
|
||||
step_plot: 0 # 绘制轨迹/能量图 → output/trajectory_plots.png
|
||||
step_animation: 0 # 自动播放 VisPy 3D 动画窗口(需安装 vispy)
|
||||
step_plot_wave: 1 # 绘制波形能量动画
|
||||
force_calc: 1 # 强制重新计算:1=跳过缓存强算,0=自动使用已有输出
|
||||
plot_wave_save_gif: 0 # 输出波形 GIF(需 step_plot_wave=1)
|
||||
plot_wave_save_mp4: 0 # 输出波形 MP4(需 step_plot_wave=1)
|
||||
|
||||
# ── 文件保存 ──────────────────────────────────
|
||||
save_trajectory: 0 # 0=不保留完整轨迹文件, 1=保留 trajectory.txt(用于后续单独抽帧)
|
||||
|
||||
# ── 计算引擎 ──────────────────────────────────
|
||||
# 可选: python, c, cpp, fortran, java
|
||||
engine: c # 默认使用 python 引擎
|
||||
|
||||
# ── 盒子 ──────────────────────────────────────
|
||||
box_a: 300.0 # 立方体半边长,粒子被限制在 [-box_a, box_a]³ 内
|
||||
|
||||
# ── 初始构型 ──────────────────────────────────
|
||||
# 坐标文件格式:
|
||||
# 第一行:n mass radius x y z vx vy vz fix_x fix_y fix_z
|
||||
# 后续行:原子序号 质量 半径 x y z vx vy vz fix_x fix_y fix_z
|
||||
coord_file: input/coord.txt
|
||||
connection_file: input/connection.txt
|
||||
bond_file: input/bond.txt
|
||||
driver_file: input/driver.txt # 驱动力定义文件(driving_force=1 时生效)
|
||||
|
||||
# 绘图/动画展示的原子序号(对应 coord_file 第一列 n)
|
||||
plot_atom: 1
|
||||
|
||||
# ── 物理参数 ──────────────────────────────────
|
||||
# 三个方向分量分别对应 x, y, z
|
||||
G: [0.000, 0.000, 0.000] # 重力场分量 (m/s²)
|
||||
B: [0.005, 0.000, 0.005] # 阻尼分量
|
||||
|
||||
# ── 力开关(0=关闭, 1=开启)──────────────────
|
||||
gravity_field: 0 # 均匀重力场 (G)
|
||||
gravity_interaction: 0 # 原子间万有引力
|
||||
elastic_force: 1 # 弹簧键力
|
||||
damping_force: 1 # 阻尼 (B)
|
||||
driving_force: 1 # 驱动力(需 driver_file 定义)
|
||||
#
|
||||
gravity_strength: 1.0 # 万有引力强度(仅 gravity_interaction=1 时有效)
|
||||
|
||||
# ── 数值算法 ──────────────────────────────────
|
||||
# 可选:
|
||||
# explicit_euler 显式欧拉法
|
||||
# implicit_euler 隐式欧拉法
|
||||
# midpoint 中点法
|
||||
# leapfrog 蛙跳法
|
||||
method: leapfrog
|
||||
|
||||
# ── 步骤控制 ──────────────────────────────────
|
||||
# 以下参数控制哪些步骤被执行和保存
|
||||
|
||||
# 预热步数:模拟开始时跳过不保存的步数(用于稳定初始状态)
|
||||
warmup_steps: 0 # 默认 0(立即开始记录)
|
||||
|
||||
# 总模拟时间(秒),程序自动计算 NT = T_total / DT
|
||||
# 如果同时指定了 NT,以 NT 为准
|
||||
T_total: 1000.0
|
||||
|
||||
# 抽帧间隔(每 NSTEP 步取一帧用于动画)
|
||||
NSTEP: 500
|
||||
|
||||
# ── 时间步长 ──────────────────────────────────
|
||||
DT: 0.001 # 时间步长 (s)
|
||||
|
||||
# 抽帧范围:只保存 [sample_start, sample_end) 区间内的帧
|
||||
sample_start: null # null 表示从头开始(帧索引从 0 起)
|
||||
sample_end: null # null 表示到末尾
|
||||
|
||||
|
||||
|
||||
# ── 渲染方式 ──────────────────────────────────
|
||||
# 3D 动画中原子渲染方式:
|
||||
# 0 = Sphere (网格球体,效果精细,原子数少时推荐)
|
||||
# 1 = Marker (GPU 实例化点,原子数多时性能更佳)
|
||||
use_marker: 1
|
||||
|
||||
# ── 显示参数 ──────────────────────────────────
|
||||
# 盒子透明度:单个数值(统一)或 6 个数的数组,按 [-x,+x,-y,+y,-z,+z] 顺序
|
||||
alpha: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
||||
|
||||
# 小球颜色
|
||||
# 小球半径从 coord_file 的 radius 列读取
|
||||
ball_color_r: 0.20 # R 分量 (0~1)
|
||||
ball_color_g: 0.60 # G 分量
|
||||
ball_color_b: 0.90 # B 分量
|
||||
|
||||
# 盒子面颜色
|
||||
box_color_r: 0.80
|
||||
box_color_g: 0.80
|
||||
box_color_b: 0.85
|
||||
|
||||
# ── 摄像机初始位置 ────────────────────────────
|
||||
camera_distance: 120.0 # 摄像机到场景中心的距离
|
||||
camera_elevation: 0.0 # 俯仰角(度),负值=俯视
|
||||
camera_azimuth: 0.0 # 方位角(度)
|
||||
camera_center_x: 60.0 # 摄像机注视点 x
|
||||
camera_center_y: 0.0 # 摄像机注视点 y
|
||||
camera_center_z: 0.0 # 摄像机注视点 z
|
||||
move_camera: 0 # 0=固定视角, 1=按 move_camera.txt 运动
|
||||
|
||||
# ── 视觉放大 ──────────────────────────────────
|
||||
display_amp: [1.0, 1.0, 10.0] # x/y/z 方向视觉位移放大倍数(不影响物理)
|
||||
@@ -0,0 +1,9 @@
|
||||
# move_camera.txt — 摄像机速度段驱动
|
||||
# 格式: start-end vx=f vy=f vz=f rx=d ry=d rz=d
|
||||
# vx/vy/vz: 平移速度(每帧移动单位)
|
||||
# rx/ry/rz: 旋转速度(每帧度数)
|
||||
# rx → elevation(俯仰), ry → azimuth(方位), rz → (预留)
|
||||
#
|
||||
# 示例:前60帧向右平移+绕x旋转,30-90帧向上平移+绕y绕z旋转
|
||||
all vx=0.02
|
||||
# 30-90 vy=0.02 ry=1 rz=1
|
||||
Reference in New Issue
Block a user