From b50c55d0a37bca4ca59c79f00d23fde2f21c48e7 Mon Sep 17 00:00:00 2001 From: Ying-Li Niu <64801511@qq.com> Date: Sun, 21 Jun 2026 17:05:19 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20examples/Readme.html=20v2.1=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=BC=95=E6=93=8E=20DLL=20=E6=9E=B6=E6=9E=84=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/Readme.html | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/examples/Readme.html b/examples/Readme.html index 8443a78..83501f2 100644 --- a/examples/Readme.html +++ b/examples/Readme.html @@ -169,7 +169,7 @@
-

Dynamics 示例案例 v2.0

+

Dynamics 示例案例 v2.1

10 个从简单到复杂的物理模拟案例,展示分子动力学模拟框架的多种应用场景

📋 案例总览

@@ -412,7 +412,12 @@

配置

每个案例的 input/input.txt 可配置物理参数、力开关、算法、引擎、渲染方式等。 - 从 case06 起支持 save_trajectory 开关、摄像机初始位置、display_amp 视觉放大等高级功能。 +

+ +

引擎架构

+

+ 外部引擎(C / C++ / Fortran)以 DLL 方式 运行,主程序通过 ctypes 在进程内直接调用,不启动子进程。DLL 预编译在 engines/release/ 中,源码位于 engines/src/{c,cpp,fortran}/。重新编译: + cd engines/src/c && make dll

@@ -421,10 +426,18 @@
 dynamics/
 ├── dynamics.py          # 统一运行入口
-├── compute.py           # Python 物理引擎
+├── compute.py           # 物理引擎 + 显示数据生成
 ├── draw.py              # VisPy 3D 动画
 ├── plot_wave.py         # 波形能量图
-├── engines/             # C / C++ / Fortran 引擎
+├── .gitattributes       # DLL/二进制文件保护
+├── engines/
+│   ├── engine_dll.py    # DLL 加载器(ctypes)
+│   ├── python/          # Python 引擎(dynamics_lib.py)
+│   ├── release/         # 预编译 DLL(C / C++ / Fortran)
+│   └── src/             # 引擎源码
+│       ├── c/           # C 源码 + Makefile → dynamics_c.dll
+│       ├── cpp/         # C++ 源码 + Makefile → dynamics_cpp.dll
+│       └── fortran/     # Fortran 源码 + Makefile → dynamics_f90.dll
 ├── examples/            # 案例目录
 │   ├── case01/  ~  case10/
 └── output/              # 默认输出目录