GPUMD Insight is an independent open-source community tool for the GPUMD ecosystem and extended XYZ trajectories. It combines a Streamlit workspace with an interactive WebGL molecular viewport powered by a vendored 3Dmol.js build.
- Interactive 3D rotation, zoom, pan, lighting, atom picking, animation, and unit-cell display.
- Single-structure and synchronized two-trajectory comparison workspaces.
- Periodic-boundary-aware bonds and distances through ASE neighbor lists.
- Ball-and-stick, space-filling, and framework representations.
- Element and atom selection, local-environment views, custom pair cutoffs, and analysis curves.
- A plugin interface for domain-specific analysis without coupling the generic viewer to one material system.
- Local processing: uploaded files stay in the running Streamlit process and are not sent to a project server.
The bundled T04/T08 Pt/Al-MFI trajectories are visualization examples, not the application's data model. Their energy and force fields have been removed. They illustrate exploratory model-generated dynamics and must not be interpreted as a validated scientific comparison.
Python 3.10 or newer is recommended.
git clone https://github.com/sunshine2005630/gpumd-insight.git
cd gpumd-insight
python -m venv .venvActivate the environment:
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# macOS or Linux
source .venv/bin/activateInstall and run:
python -m pip install -r requirements.txt
streamlit run app.pyOpen http://127.0.0.1:8501. Select the bundled examples or upload one or two multi-frame .xyz files.
GPUMD Insight reads structures with ASE. The primary tested format is multi-frame extended XYZ with optional Lattice, pbc, and Time metadata. Time is interpreted as femtoseconds and displayed as picoseconds.
The current MVP keeps trajectories in memory, prepares frames for browser playback, and displays one periodic cell. Very large trajectories should be reduced before upload.
This repository is independently developed for users of the open-source GPUMD ecosystem. It is not maintained, endorsed, or officially affiliated with the GPUMD developers.
GPUMD Insight does not redistribute, modify, or link against the GPUMD executable. It reads trajectory files and can also visualize compatible extended XYZ files produced by other tools. GPUMD itself is distributed under GPL-3.0; GPUMD Insight is released separately under MIT. Research performed with GPUMD should cite the relevant GPUMD and NEP publications recommended by the official project.
app.py Streamlit frontend
gpumd_insight/models.py frontend-independent trajectory and selection models
gpumd_insight/bonding.py periodic geometry, selections, and ASE bonds
gpumd_insight/plugins.py generic and Pt/Al-MFI analysis plugins
gpumd_insight/renderers/ renderer protocol and local 3Dmol.js implementation
gpumd_insight/visualization.py Plotly analysis figures
examples/ sanitized demonstration trajectories
tests/ parser, analysis, periodic-boundary, and security tests
The core does not depend on Streamlit, making future PySide6, PyVista, Jupyter, or other frontends possible.
python -m pip install -r requirements-dev.txt
python -m pytest -qTests cover the bundled trajectories, time conversion, linked playback, minimum-image distances, non-Pt structures, fallback element styles, cross-boundary bonds, and safe serialization of hostile filenames and comments.
GPUMD Insight visualizes and analyzes trajectories. It does not run GPUMD or NEP training, provide cloud compute, certify a potential, or turn model-generated trajectories into validated scientific conclusions. Quantitative studies still require suitable reference data, convergence tests, uncertainty checks, and independent validation.
- Optional desktop frontend.
- Larger-than-memory and streaming trajectory support.
- More trajectory formats and supercell controls.
- Exportable figures, clips, and reproducible analysis reports.
- Additional analysis plugins for catalysis and materials simulations.
The project is released under the MIT License. The vendored 3Dmol.js asset retains its upstream license; see third-party notices.
