VOLT
Plugins

MultiSOM

Unsupervised structural identification that clusters atoms with a multilayer Self-Organizing Map over features from selected feature plugins.

Parameters

ParameterTypeDefaultDescription
feature_pluginspluginReferenceFeature plugins whose per-atom outputs train the map. Choose from coordination-analysis, centrosymmetry-parameter, steinhardt-order-parameters. Multiple selection.
layerslist2 layersSOM layers. Each layer has label, features (a subset of the selected feature plugins' properties), scaling (normal/standard/robust), f (training fraction, 1), sigma (neighborhood width, 0.5), eta (learning rate, 0.5), N (output neurons / sub-clusters, 5), batched (true), and batch_size (100).
trainingstringreferencereference trains on the first selected frame and relabels the rest for stable cluster IDs across the trajectory; per_frame retrains each frame.
mappingstringlinearCluster ID mapping scheme. Options: linear, godel, default.
seedint1982Random seed for reproducible training.

Output

The plugin writes two parquet files per frame.

{outputBase}_multisom.parquet

Summary statistics for the frame, stored as a single JSON payload column.

interface MultiSomOutput {
    main_listing: {
        total_atoms: int;
        num_clusters: int;
        num_layers: int;
        features: string[];
    };
    sub_listings: {
        clusters: Array<{
            cluster_id: int;
            count: int;
        }>;
    };
}

{outputBase}_atoms.parquet

Per-atom data in AtomisticExporter format, consumed by the VOLT viewer for 3D rendering. Atoms are grouped into Cluster_<id> buckets, one per SOM cluster. Each atom carries the identity fields plus one float column per SOM layer (layer_1, layer_2, …) holding that layer's group assignment.

interface Atom {
    atom_index: int;
    id: int;
    x: float;
    y: float;
    z: float;
    bucket: string;
    structure_id: int;
    structure_name: string;
    cluster_id: int;
    // one column per SOM layer, e.g. layer_1, layer_2
    [layer: string]: float;
}

interface AtomsOutput {
    export: {
        AtomisticExporter: {
            [bucketName: string]: Atom[];
        };
    };
}

Surfaced in VOLT as the MultiSOM Model exposure and exported as a .glb scene.

See Also

On this page