VOLT
Plugins

Interfacial Line Defect Analysis

Extract interfacial dislocations and disconnections at a semi-coherent interface as line segments annotated with Burgers vector and step height.

Parameters

This plugin consumes the per-atom and per-grain tables produced by an upstream Grain Segmentation step (inferred from context).

ParameterTypeDefaultDescription
grain-atomsstringinferredPer-atom annotated parquet (grain id, structure type, orientation) from the upstream grain-segmentation step.
grainsstringinferredPer-grain table (structure type, orientation) from the upstream grain-segmentation step.
atomAint0Atom A particle identifier.
atomBint0Atom B particle identifier.
aAfloat1.0Lattice constant a (Grain A).
cAfloat0.0Lattice constant c (Grain A).
aBfloat1.0Lattice constant a (Grain B).
cBfloat0.0Lattice constant c (Grain B).
typeAint-1Structure type A (-1 = derive).
typeBint-1Structure type B (-1 = derive).
Rspherefloat10.0Probe sphere radius.
htolfloat0.5Step height tolerance.
btolfloat0.01Burgers length tolerance.
angtolfloat5.0Burgers angular tolerance (deg).
distFfloat10.0Interface skin distance.
cis_tolfloat0.0Co-incidence site tolerance.
rmsdfloat0.1PTM RMSD cutoff.
estimateFbooltrueEstimate the coherent reference frame.
single_circuitboolfalseTrace a single circuit.
extract_linesboolfalseExtract line segments.
selection_onlyboolfalseUse only selected particles.
print_resultsboolfalsePrint a results summary.
circuitAtom1int0Single-circuit atom 1.
circuitAtom2int0Single-circuit atom 2.
ntuple0, 0, 1Interface plane normal (x, y, z).
xAtuple0, 0, 0Orientation x (Grain A); used when estimateF is false.
yAtuple0, 0, 0Orientation y (Grain A); used when estimateF is false.
xBtuple0, 0, 0Orientation x (Grain B); used when estimateF is false.
yBtuple0, 0, 0Orientation y (Grain B); used when estimateF is false.
EcohAlistCoherency strain (Grain A, 3x3 rows); used when estimateF is false.
EcohBlistCoherency strain (Grain B, 3x3 rows); used when estimateF is false.

Output

The plugin writes two parquet files per frame.

{outputBase}_bonds.parquet

Per-segment line model in BondExporter format, consumed by the VOLT viewer for 3D rendering. Each row is one interfacial line segment between two interface nodes, annotated with its Burgers vector and step height.

interface LineSegment {
    id: int;
    atom_a: int;
    atom_b: int;
    distance: float;
    burgers_vector: [float, float, float];
    terrace_plane: [float, float, float];
    color: [float, float, float];
    burgers_id: int;
    magnitude: float;
    step_height: float;
    ideal_step_height_a: float;
    ideal_step_height_b: float;
    length: float;
}

Surfaced in VOLT as the Line Defects exposure and exported as a .glb scene.

{outputBase}_disconnection_summary.parquet

Per-mode summary of the distinct disconnection modes (and their variants) found across the interface.

interface DisconnectionVariant {
    ID: int;
    Variant: int;
    Length: float;
    "Avg b": float;
    "Avg bx": float;
    "Avg by": float;
    "Avg bz": float;
    "Std bx": float;
    "Std by": float;
    "Std bz": float;
    "Ideal hA": float;
    "Ideal hB": float;
    "Avg h": float;
}

interface DisconnectionSummaryOutput {
    main_listing: {
        disconnection_modes: int;
        variants: int;
        total_line_length: float;
    };
    sub_listings: {
        disconnection_modes: DisconnectionVariant[];
    };
}

Surfaced in VOLT as the Disconnection Modes exposure (listing only — no 3D or chart artifact).

See Also

  • Grain Segmentation — required upstream step that produces the per-atom and per-grain tables
  • OpenDXA — DXA-style dislocation-network reconstruction in the bulk
  • Polyhedral Template Matching — local structure and orientation labeling used to build the reference frame

On this page