VOLT
Plugins

OpenDXA

A modified Dislocation Extraction Algorithm pipeline for reconstructing dislocation networks from atomistic data.

Parameters

ParameterTypeDefaultDescription
crystalStructurestringBCCReference crystal structure. Options: BCC, FCC, HCP, SC, CUBIC_DIAMOND, HEX_DIAMOND.
identificationModestringCNAStructure identification mode. Options: CNA, PTM, DIAMOND.
rmsdfloat0.1RMSD threshold for PTM classification.
maxTrialCircuitSizeint14Maximum Burgers circuit size.
circuitStretchabilityint9Circuit stretchability factor.
lineSmoothingLevelfloat1.0Dislocation line smoothing level.
linePointIntervalfloat2.5Point interval on dislocation lines.
onlyPerfectDislocationsboolfalseRestrict the result to perfect dislocations.
markCoreAtomsboolfalseHistorical parameter. Core-atom export is currently not emitted by the implementation.

Output

type Vec3 = [float, float, float];
type Mat3x3 = [Vec3, Vec3, Vec3];

type Quaternion = [float, float, float, float];

{outputBase}_dislocations.msgpack

interface DislocationSegment {
    segment_id: int;
    points: Vec3[];
    length: float;
    num_points: int;
    burgers_vector: Vec3;
    magnitude: float;
    fractional: string;
}

interface JunctionInformation {
    total_junctions: int;
    junction_arm_distribution: Record<int, int>;
}

interface CircuitInformation {
    total_circuits: int;
    dangling_circuits: int;
    blocked_circuits: int;
    average_edge_count: float;
    edge_count_range: {
        min: int;
        max: int;
    };
}

interface NetworkStatistics {
    total_network_length: float;
    segment_count: int;
    junction_count: int;
    dangling_segments: int;
    average_segment_length: float;
    density: float;
    total_segments_including_degenerate: int;
}

interface DislocationsOutput {
    main_listing: {
        dislocations: int;
        total_points: int;
        average_segment_length: float;
        max_segment_length: float;
        min_segment_length: float;
        total_length: float;
    };
    sub_listings: {
        dislocation_segments: DislocationSegment[];
        junction_information: JunctionInformation;
        circuit_information: CircuitInformation;
        network_statistics: NetworkStatistics;
    };
}

{outputBase}_defect_mesh.msgpack

interface MeshPoint {
    index: int;
    position: Vec3;
}

interface MeshFacet {
    vertices: [int, int, int];
}

interface MeshOutput {
    main_listing: {
        total_nodes: int;
        total_facets: int;
    };
    sub_listings: {
        points: MeshPoint[];
        facets: MeshFacet[];
    };
    topology?: {
        euler_characteristic: int;
        is_completely_good: boolean;
        is_completely_bad: boolean;
    };
}

{outputBase}_interface_mesh.msgpack

Same schema as MeshOutput.

{outputBase}_simulation_cell.msgpack

interface LatticeVector {
    x: float;
    y: float;
    z: float;
}

interface SimulationCellOutput {
    matrix: Mat3x3;
    volume: float;
    is_2d: boolean;
    lattice_vectors: {
        a: LatticeVector;
        b: LatticeVector;
        c: LatticeVector;
    };
    lattice_parameters: {
        a_length: float;
        b_length: float;
        c_length: float;
    };
    periodic_boundary_conditions: {
        x: boolean;
        y: boolean;
        z: boolean;
    };
    angles: {
        alpha: float;
        beta: float;
        gamma: float;
    };
    reciprocal_lattice: {
        matrix: Mat3x3;
        volume: float;
    };
    dimensionality: {
        is_2d: boolean;
        effective_dimensions: 2 | 3;
    };
}

{outputBase}_ptm_data.msgpack

Only exported when identificationMode is PTM.

interface PTMPerAtomProperties {
    id: int;
    correspondences: int;
    structure_type?: int;
    orientation: Quaternion;
}

interface PTMDataOutput {
    main_listing: {
        total_atoms: int;
        include_structure_type: boolean;
    };
    "per-atom-properties": PTMPerAtomProperties[];
}

{outputBase}_atoms.msgpack

Atoms grouped by identified structure type name.

interface Atom {
    id: int;
    pos: Vec3;
}

interface AtomsOutput {
    export: {
        AtomisticExporter: Record<string, Atom[]>;
    };
}

{outputBase}_structure_analysis_stats.msgpack

This file contains both summary statistics and per-atom structural information.

interface StructureAnalysisStatsOutput {
    main_listing: {
        total_atoms: int;
        analysis_method: string;
        [key: `${string}_count`]: int;
        [key: `${string}_percentage`]: float;
        total_identified: int;
        total_unidentified: int;
        identification_rate: float;
        unique_structure_types: int;
    };
}

See Also

On this page