Skip to content

轨迹与分子动力学

播放、分析并导出多种文件格式的分子动力学轨迹。

Source: src/lib/trajectory/

支持的格式

格式扩展名说明
XYZ.xyz多帧 XYZ(帧之间用 header 分隔)
Extended XYZ.extxyz包含晶格和属性的多帧格式
ASE Trajectory.trajASE 原生二进制格式
XDATCARXDATCARVASP 分子动力学输出
HDF5.hdf5, .h5层次化数据格式(多帧)

核心函数

加载

typescript
// Load trajectory from file
load_trajectory_file(content, filename): Trajectory

// Validate trajectory data
validate_trajectory(trajectory): ValidationResult

// Get trajectory metadata
get_trajectory_stats(trajectory): TrajectoryStats

流式读取与索引

对于大型轨迹文件(>100 MB),该模块支持索引访问:

typescript
// Build index for random frame access (avoids reading entire file)
build_frame_index(content, format): FrameIndex[]

// FrameIndex contains byte offsets for fast seeking
interface FrameIndex {
  byte_offset: number
  estimated_size: number
}

组件

组件说明
Trajectory.svelte带动画控制的主轨迹播放器
TrajectoryInfoPane.svelte帧数、时长和属性元数据
TrajectoryExportPane.svelte导出单帧或帧范围
TrajectoryError.svelte无效轨迹的错误显示

播放控制

  • 播放/暂停 — 按帧播放动画
  • 帧滑块 — 拖动到任意帧
  • FPS 控制 — 调整播放速度
  • 前进/后退一步 — 单帧步进
  • 循环模式 — 连续循环播放

可视化模式

轨迹查看器可以与分析图并排显示:

  • 结构 + 散点图 — 三维结构与逐帧属性散点图
  • 结构 + 直方图 — 三维结构与属性分布直方图

可绘制的属性包括:

  • 每帧能量
  • 力(最大值、平均值)
  • 温度
  • 应力/压力
  • 自定义逐帧属性(来自 EXTXYZ)

设置

设置项类型默认值说明
trajectory_fpsnumber10播放速度(帧/秒)
trajectory_auto_playbooleanfalse加载后自动播放
trajectory_display_modestring"structure"显示布局模式

性能

  • 帧索引支持随机访问 GB 级轨迹文件
  • 二进制格式(.traj.h5)比文本格式(.xyz)更节省内存
  • 对 gzip 压缩轨迹进行懒解压
  • 只把当前帧的原子位置发送到 GPU

基于 AGPL-3.0-or-later 许可证发布。