VOLT
Plugins

Atomic Strain

Measure local deformation by comparing atomic neighborhoods against a reference configuration.

Parameters

ParameterTypeDefaultDescription
cutofffloat3.0Cutoff radius for neighbor search.
referenceframeReference frame to compare against. If omitted, the current frame is used, which usually produces near-zero strain.
eliminate_cell_deformationboolfalseEliminate cell deformation before the local fit.
assume_unwrappedboolfalseAssume coordinates are already unwrapped.
calc_deformation_gradientbooltrueCompute deformation gradient F.
calc_strain_tensorsbooltrueCompute strain tensors.
calc_d2minbooltrueCompute D2min, the non-affine residual.

Output

{outputBase}_atomic_strain.parquet

Summary statistics for the analysis run.

interface AtomicStrainOutput {
    main_listing: {
        cutoff: float;
        num_invalid_particles: int;
        average_shear_strain: float;
        average_volumetric_strain: float;
        max_shear_strain: float;
    };
    is_failed: boolean;
}

{outputBase}_atoms.parquet

Per-atom data in the canonical AtomisticExporter format consumed by the VOLT viewer. Atoms are partitioned into VALID and INVALID buckets.

type StrainTensor = [float, float, float, float, float, float];
type DeformationGradient = [float, float, float, float, float, float, float, float, float];

interface AtomRecord {
    // Base fields (always present)
    id: int;
    pos: [float, float, float];
    structure_id: int;
    structure_name: string;
    cluster_id: int;
    // Plugin-specific fields
    shear_strain: float;
    volumetric_strain: float;
    invalid: boolean;
    strain_tensor?: StrainTensor;       // present when calc_strain_tensors is true
    deformation_gradient?: DeformationGradient; // present when calc_deformation_gradient is true
    D2min?: float;                      // present when calc_d2min is true (key absent when disabled)
}

interface AtomsOutput {
    main_listing: {
        total_atoms: int;
        structure_count: int;
    };
    sub_listings: {
        structures: Array<{
            structure_id: int;
            structure_name: string;
            atom_count: int;
        }>;
    };
    export: {
        AtomisticExporter: {
            VALID: AtomRecord[];
            INVALID: AtomRecord[];
        };
    };
}

The atoms.parquet result is also exported to a renderable GLB model via AtomisticExporter for 3D viewing in the VOLT client.

See Also

On this page