VOLT
Open Source Ecosystem

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

RepositoryDescriptionLinks
SpatialAssemblerVolt's 3D model assembler. Also available on npm: npm install @voltstack/spatial-assemblerGitHub · npm
HeadlessRasterizerRasterize GLB models without a browser! Also available on npm: npm install @voltstack/headless-rasterizerGitHub · npm
CoreToolkitCore C++ library providing math primitives (Vector3, Matrix3, Quaternion), spatial data structures (KD-trees, octrees), simulation cell handling, and parallel a…GitHub
LammpsIOHigh-performance parser & utilities for LAMMPS trajectory frames. Also available on npm: npm install @voltstack/lammps-ioGitHub · npm
VoltSDKThe SDK to interact with the Volt APIs. Available on npm: npm install @voltstack/voltclient and PyPI: pip install voltsdkGitHub · npm · PyPI
ClusterDaemonThe compute node for your Volt Team! Also available on npm: npm install @voltstack/daemon-cluster-clientGitHub · npm
VoltThe next-generation platform designed for high-performance research teams and enthusiastic materials scientists!GitHub
docs.voltcloud.devDocs for VOLT Labs Open-Source Software Ecosystem.GitHub

Foundational Algorithms

RepositoryDescriptionLinks
OpenDXAA modified DXA! Supports multiple structure identification methods including PTM, CNA, and Diamond structure analysis. Identifies dislocation lines, computes Bu…GitHub
GrainSegmentationAlgorithms for detects and segments grain boundaries in polycrystalline materials. Identifies individual grains, computes grain orientations, and extracts grain…GitHub
ElasticStrainComputes elastic strain tensors by mapping local atomic environments to reference crystal structures. Separates elastic from plastic deformation and calculates …GitHub
DisplacementsAnalysisCalculates atomic displacement vectors between reference and deformed configurations. Tracks atom movements, identifies displaced atoms, and computes displaceme…GitHub
CoordinationAnalysisComputes coordination numbers and nearest neighbor statistics for each atom. Analyzes local atomic environments and detects under/over-coordinated atoms indicat…GitHub
CentrosymmetryParameterCalculates the centrosymmetry parameter (CSP) for each atom to detect point defects, surfaces, and dislocation cores. Useful for visualizing crystal defects in …GitHub
AtomicStrainComputes per-atom strain tensors from atomic configurations. Calculates Green-Lagrangian strain, von Mises strain, and principal strains for deformation analysi…GitHub
StructureIdentificationAlgorithms for crystal structure identification in atomistic simulations. Classifies atoms by local structural environment to detect BCC, FCC, HCP, diamond cubi…GitHub
ClusterAnalysisGroups 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:

  1. Independent implementations. VOLT's algorithms are not 1:1 replicas of OVITO's.
  2. Compiler optimization flags. Release builds can introduce small numerical differences.
  3. 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.
  4. Different parallelization stacks. Repeated runs of the same algorithm may produce non-deterministic results within small tolerances.
  5. 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

  1. Fork the relevant repository.
  2. Create a branch for the change.
  3. 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.

On this page