VOLT

Plugin catalog

Every analysis plugin published in the VOLT registry, what it computes, which platforms it has builds for, and how plugins feed each other.

These are the analysis plugins published in the public registry at registry.voltcloud.dev under @voltlabs. Install them from the Marketplace in the app (see Plugins in the app), then add them as stages to a trajectory's pipeline in the canvas.

Each plugin page lists what the plugin computes, what it needs from earlier stages, every argument with its default, and the results it produces.

Catalog

The Name in VOLT column is the name the app shows in the Installed list and in the canvas's Add modification… menu.

Structure identification

PluginName in VOLTVersionWhat it doesBuilds
polyhedral-template-matchingPolyhedral Template Matching2.4.2Classifies each atom's crystal structure by template matching and gives its lattice orientation; shares the crystal clusters OpenDXA needs.Linux, macOS, Windows, browser
adaptive-common-neighbor-analysisAdaptive Common Neighbor Analysis2.1.1Classifies the structures of a chosen crystal family (FCC/HCP, BCC or diamond) with adaptive CNA; shares the crystal clusters OpenDXA needs.Linux, macOS, Windows, browser
pattern-structure-matchingPattern Structure Matching2.1.0Matches atoms against lattice patterns defined in YAML files; ships patterns for FCC, BCC, HCP, diamond, L1₂, ω, 9R and more.Linux, macOS, Windows, browser
ackland-jonesAckland-Jones Analysis1.1.1Bond-angle classification of FCC, HCP, BCC and ICO with no cutoff.Linux, macOS, Windows, browser
identify-diamondIdentify Diamond Structure1.1.1Finds cubic and hexagonal diamond and their first and second neighbor shells.Linux, macOS, Windows, browser
chill-plusChill+ Ice & Hydrate Classifier1.1.1Classifies water into hexagonal ice, cubic ice, interfacial ice, clathrate hydrate and interfacial hydrate.Linux, macOS, Windows, browser

Local environment

PluginName in VOLTVersionWhat it doesBuilds
coordination-analysisCoordination Analysis2.1.1Coordination number per atom, the radial distribution function and partial RDFs per type pair.Linux, macOS, Windows, browser
centrosymmetry-parameterCentrosymmetry Parameter2.0.3Centrosymmetry parameter per atom, to find dislocation cores, stacking faults and surfaces.Linux, macOS, Windows
steinhardt-order-parametersSteinhardt Order Parameters1.0.4Bond-orientational order parameters q_l, w_l and w_l_hat per atom.Linux, macOS, Windows
voronoi-analysisVoronoi Analysis1.1.1Voronoi cell of each atom: volume, coordination, cavity radius and Voronoi index.Linux, macOS, Windows, browser
cluster-analysisCluster Analysis2.1.1Groups atoms into connected clusters by distance, with optional centers of mass and radii of gyration.Linux, macOS, Windows, browser

Deformation and strain

PluginName in VOLTVersionWhat it doesBuilds
atomic-strainAtomic Strain2.1.1Strain of each atom relative to a reference frame: deformation gradient, strain tensor, von Mises shear strain, D²min.Linux, macOS, Windows, browser
elastic-strainElastic Strain2.1.0Elastic lattice strain of each crystalline atom relative to the ideal crystal, with no reference frame.Linux, macOS, Windows, browser
displacements-analysisDisplacements Analysis2.1.1Displacement of each atom from a reference frame, and the slip vector.Linux, macOS, Windows, browser

Defects and microstructure

PluginName in VOLTVersionWhat it doesBuilds
opendxaDislocation Analysis (Experimental)2.5.1Extracts dislocation lines with their Burgers vectors, the defect surface mesh and network statistics.Linux, macOS, Windows, browser
line-reconstruction-dxaLine Reconstruction DXA2.2.0An experimental DXA that reconstructs dislocation lines from the crystal clusters.Linux, macOS, Windows, browser
grain-segmentationGrain Segmentation2.1.0Splits a polycrystal into grains from local PTM orientations.Linux, macOS, Windows, browser
ildaInterfacial Line Defect Analysis1.1.1Finds interface dislocations and disconnections (Burgers vector and step height) between two grains.Linux, macOS, Windows, browser
wigner-seitz-defect-analysisWigner-Seitz Defect Analysis1.1.1Counts vacancies, interstitials and antisites against a reference lattice.Linux, macOS, Windows, browser

Clustering and machine learning

PluginName in VOLTVersionWhat it doesBuilds
multisomMultiSOM1.1.0Unsupervised structure identification with a multilayer self-organizing map over features from other plugins. Version 1.1.0 can't complete a run in VOLT; see its page.Linux, macOS, Windows
kmeans-clusteringK-means Clustering1.1.0Separates crystal atoms from grain-boundary atoms by K-means clustering of stress, energy and volume.Linux, macOS, Windows

Builds

A plugin is published once per platform. A machine that runs plugins asks the registry for the build that matches the platform it reports:

Column aboveRegistry platformMachines that use it
Linuxlinux-x86_64A cluster daemon on 64-bit x86 Linux
macOSdarwin-arm64A cluster daemon on an Apple silicon Mac
Windowswindows-x86_64A cluster daemon on 64-bit x86 Windows
browserwasm-wasm32The stack that runs in a browser tab or in the desktop app (see Run in the browser and Desktop app)

A plugin without a wasm-wasm32 build can't be installed when your team's machine runs in the browser or the desktop app. How a plugin gets onto a machine explains the install in detail.

How plugins feed each other

A pipeline runs its stages in order, one frame at a time, on a single working copy of the frame. Two things carry results from one stage to the next:

  • The per-atom table. After a stage finishes, its per-atom table is merged into the working frame. Polyhedral Template Matching, Adaptive Common Neighbor Analysis and Pattern Structure Matching write an annotated copy of the frame with a structure_type column, and that copy becomes the working frame instead. Later stages read those columns. For example, after Polyhedral Template Matching, Displacements Analysis finds the structure column and groups its 3D model by structure.
  • Shared outputs. Some plugins publish named files for later stages, and some plugins have arguments marked to be filled in from them. Those arguments never appear in the stage's form. When the stage runs, VOLT passes each one the file an earlier stage shared under the same name.
PluginArguments filled in from earlier stagesPlugins that share them
OpenDXAclusters_table, clusters_transitions, neighbor_latticePolyhedral Template Matching, Adaptive Common Neighbor Analysis
Elastic Strainclusters_table, clusters_transitions, neighbor_latticePolyhedral Template Matching, Adaptive Common Neighbor Analysis
Line Reconstruction DXAclusters-table, clusters-transitions, neighbor_latticePolyhedral Template Matching, Adaptive Common Neighbor Analysis
ILDAgrains, grain-atomsGrain Segmentation

Names match with dashes and underscores treated alike, so clusters-table takes the file shared as clusters_table.

If no earlier stage shared a file, the stage fails with Pipeline stage requires shared exposure "<name>" but no upstream stage produced it. Put the structure identification stage first.

OpenDXA, Elastic Strain and Line Reconstruction DXA also list Pattern Structure Matching as a source, and OpenDXA lists Reference Crystal Matching and Generalized Template Matching. Those two aren't in the registry yet. Pattern Structure Matching 2.1.0 shares only neighbor_lattice, so on its own it doesn't give these plugins the cluster tables they need.

MultiSOM works differently: you pick its feature plugins (Coordination Analysis, Centrosymmetry Parameter, Steinhardt Order Parameters) in its own form, and its workflow runs them inside its own stage. See MultiSOM.

Writing your own

Plugins are workflows you can open and edit in the Plugin Builder. To write one, see Writing plugins and VPM, the plugin CLI.

On this page