Open Source Ecosystem
Repositories, foundational algorithms, and SDKs published by VOLT Labs.
The platform depends on a set of open-source repositories that cover 3D model assembly, headless rendering, LAMMPS parsing, the cluster daemon, the SDK, and the foundational scientific algorithms behind the bundled plugins.
VOLT Labs Ecosystem
| Repository | Description | Links |
|---|---|---|
| SpatialAssembler | Volt's 3D model assembler. Also available on npm: npm install @voltstack/spatial-assembler | GitHub · npm |
| HeadlessRasterizer | Rasterize GLB models without a browser! Also available on npm: npm install @voltstack/headless-rasterizer | GitHub · npm |
| CoreToolkit | Core C++ library providing math primitives (Vector3, Matrix3, Quaternion), spatial data structures (KD-trees, octrees), simulation cell handling, and parallel a… | GitHub |
| LammpsIO | High-performance parser & utilities for LAMMPS trajectory frames. Also available on npm: npm install @voltstack/lammps-io | GitHub · npm |
| VoltSDK | The SDK to interact with the Volt APIs. Available on npm: npm install @voltstack/voltclient and PyPI: pip install voltsdk | GitHub · npm · PyPI |
| ClusterDaemon | The compute node for your Volt Team! Also available on npm: npm install @voltstack/daemon-cluster-client | GitHub · npm |
| Volt | The next-generation platform designed for high-performance research teams and enthusiastic materials scientists! | GitHub |
| docs.voltcloud.dev | Docs for VOLT Labs Open-Source Software Ecosystem. | GitHub |
Foundational Algorithms
| Repository | Description | Links |
|---|---|---|
| OpenDXA | A modified DXA! Supports multiple structure identification methods including PTM, CNA, and Diamond structure analysis. Identifies dislocation lines, computes Bu… | GitHub |
| GrainSegmentation | Algorithms for detects and segments grain boundaries in polycrystalline materials. Identifies individual grains, computes grain orientations, and extracts grain… | GitHub |
| ElasticStrain | Computes elastic strain tensors by mapping local atomic environments to reference crystal structures. Separates elastic from plastic deformation and calculates … | GitHub |
| DisplacementsAnalysis | Calculates atomic displacement vectors between reference and deformed configurations. Tracks atom movements, identifies displaced atoms, and computes displaceme… | GitHub |
| CoordinationAnalysis | Computes coordination numbers and nearest neighbor statistics for each atom. Analyzes local atomic environments and detects under/over-coordinated atoms indicat… | GitHub |
| CentrosymmetryParameter | Calculates the centrosymmetry parameter (CSP) for each atom to detect point defects, surfaces, and dislocation cores. Useful for visualizing crystal defects in … | GitHub |
| AtomicStrain | Computes per-atom strain tensors from atomic configurations. Calculates Green-Lagrangian strain, von Mises strain, and principal strains for deformation analysi… | GitHub |
| StructureIdentification | Algorithms for crystal structure identification in atomistic simulations. Classifies atoms by local structural environment to detect BCC, FCC, HCP, diamond cubi… | GitHub |
| ClusterAnalysis | Groups particles into clusters based on distance cutoff or bond topology. Identifies connected components, computes cluster sizes, centers of mass, and gyration… | GitHub |
Comparison with OVITO
When a team is created, a set of plugins is automatically uploaded to one of its clusters. Each plugin executes one of the Foundational Algorithms under the hood.
OVITO is the most widely used and cited tool for analyzing LAMMPS simulations and serves as a reference for result comparison. The Foundational Algorithms — and the plugins built on them — are independent implementations.
For algorithms like CoordinationAnalysis, VOLT and OVITO produce identical results. For more complex algorithms such as OpenDXA or ElasticStrain, results may differ for the following reasons:
- Independent implementations. VOLT's algorithms are not 1:1 replicas of OVITO's.
- Compiler optimization flags. Release builds can introduce small numerical differences.
- Undefined behavior risk. When the numerical difference under (2) is significant, it may indicate UB. During OpenDXA development, UB was caused by compiler optimizations applied to technically correct code.
- Different parallelization stacks. Repeated runs of the same algorithm may produce non-deterministic results within small tolerances.
- Complex algorithms are sensitive. In GrainSegmentation, OpenDXA, or structure identification methods like CNA and PTM, single-line changes can produce large divergence. The current cluster construction in OpenDXA differs from OVITO's DislocationAnalysisEngine: results are nearly identical with CNA but not guaranteed to match with PTM or other structure identification algorithms.
Benchmarks comparing VOLT and OVITO results on the same timestep are planned.
Contributing
- Fork the relevant repository.
- Create a branch for the change.
- Submit a pull request with a clear description.
Refer to CONTRIBUTING.md in each repository for repository-specific guidelines.
AI-powered agents are available in the .github directory of the Volt repository for feature work and bug fixes. Do not use AI for the Foundational Algorithms — these are non-trivial algorithms, and current models tend to hallucinate when working with them.
License
VOLT Labs open-source projects are released under the MIT License unless otherwise specified in the repository.