Interfacial Line Defect Analysis
Find interface dislocations and disconnections between two grains, as line segments with their Burgers vector and step height.
Interfacial Line Defect Analysis (ILDA) characterizes the line defects in a semi-coherent interface between two grains or phases. In such an interface, misfit is taken up by interface dislocations, and steps in the interface plane combine with them into disconnections, defects with both a Burgers vector b and a step height h. ILDA finds them and reports each segment with its b and h. Use it on bicrystals, coherent precipitates and phase boundaries to identify the disconnection modes that carry interface migration and misfit.
| Key | Version | Builds |
|---|---|---|
ilda | 1.1.1 | Linux, macOS, Windows, browser |
How it works
- Grains. It reads the grains of an earlier Grain Segmentation stage and takes grain A and grain B as the grains of two atoms you name (Atom A and Atom B). Lattice constants and structure types describe each grain's crystal.
- Coincident sites. After running PTM on the frame, it finds the coincident interface sites (CIS): interface atoms whose positions fit both lattices, within Co-incidence site tolerance.
- Coherent reference frame. It estimates the coherent reference state of the two lattices from the atoms within Interface skin distance of the interface.
- Lines. With Extract lines on, it builds a surface mesh over the CIS atoms with a probe sphere of radius Probe sphere radius, runs Burgers circuits on it, and keeps the circuits whose Burgers vector and step height match a disconnection mode within the tolerances. With Single circuit on, it instead runs one circuit between two CIS atoms you name and logs its b and ideal step heights.
Inputs
- An earlier Grain Segmentation stage in the same pipeline. Its shared
grainsandgrain_atomsfill in this plugin's hidden arguments. - The particle identifiers of one atom in each of the two grains.
Arguments
| Argument | Type | Default | Allowed values | Description |
|---|---|---|---|---|
Atom A (Particle Identifier) atomA | number | 0 | ≥ 0, step 1 | The identifier of an atom in grain A. |
Atom B (Particle Identifier) atomB | number | 0 | ≥ 0, step 1 | The identifier of an atom in grain B. It must be in another grain than Atom A. |
Lattice constant a (Grain A) aA | number | 1.0 | ≥ 0, step 0.001 | Lattice constant a of grain A. |
Lattice constant c (Grain A) cA | number | 0.0 | ≥ 0, step 0.001 | Lattice constant c of grain A, for hexagonal crystals. |
Lattice constant a (Grain B) aB | number | 1.0 | ≥ 0, step 0.001 | Lattice constant a of grain B. |
Lattice constant c (Grain B) cB | number | 0.0 | ≥ 0, step 0.001 | Lattice constant c of grain B, for hexagonal crystals. |
Structure type A (-1 = derive) typeA | number | -1 | step 1 | Structure type of grain A. -1 takes it from the grains table. |
Structure type B (-1 = derive) typeB | number | -1 | step 1 | Structure type of grain B. -1 takes it from the grains table. |
Probe sphere radius Rsphere | number | 10.0 | ≥ 0, step 0.1 | Radius of the probe sphere that builds the surface mesh over the CIS atoms. |
Step height tolerance htol | number | 0.5 | ≥ 0, step 0.01 | Tolerance when matching a circuit's step height to a disconnection mode. |
Burgers length tolerance btol | number | 0.01 | ≥ 0, step 0.001 | Tolerance on the length of the Burgers vector. |
Burgers angular tolerance (deg) angtol | number | 5.0 | 0 to 360, step 0.5 | Tolerance on the direction of the Burgers vector, in degrees. |
Interface skin distance distF | number | 10.0 | ≥ 0, step 0.1 | Distance from the interface within which atoms are used to estimate the coherent reference frame. |
Co-incidence site tolerance cis_tol | number | 0.0 | ≥ 0, step 0.01 | Tolerance for an atom to count as a coincident site. |
PTM RMSD cutoff rmsd | number | 0.1 | ≥ 0, step 0.001 | RMSD cutoff of the PTM step. |
Estimate coherent reference frame estimateF | boolean | true | Estimate the coherent reference frame from the atoms. When off, the orientation and coherency strain fields below define it. | |
Single circuit single_circuit | boolean | false | Run one Burgers circuit between Single-circuit atom 1 and Single-circuit atom 2. | |
Extract lines extract_lines | boolean | false | Run the full line extraction and write the line defects. | |
Use only selected particles selection_only | boolean | false | Use only the selected particles. | |
Print results summary print_results | boolean | false | Print a results summary to the log. | |
Single-circuit atom 1 circuitAtom1 | number | 0 | ≥ 0, step 1 | Identifier of the first CIS atom of the single circuit. |
Single-circuit atom 2 circuitAtom2 | number | 0 | ≥ 0, step 1 | Identifier of the second CIS atom of the single circuit. |
Interface plane normal n | tuple | {x: 0, y: 0, z: 1} | X, Y, Z numbers, step 0.1 | Normal of the interface plane. |
Orientation x (Grain A) xA | tuple | {x: 0, y: 0, z: 0} | X, Y, Z numbers, step 0.1 | Grain A's crystal direction along x. Shown when Estimate coherent reference frame is off. |
Orientation y (Grain A) yA | tuple | {x: 0, y: 0, z: 0} | X, Y, Z numbers, step 0.1 | Grain A's crystal direction along y. Shown when the estimate is off. |
Orientation x (Grain B) xB | tuple | {x: 0, y: 0, z: 0} | X, Y, Z numbers, step 0.1 | Grain B's crystal direction along x. Shown when the estimate is off. |
Orientation y (Grain B) yB | tuple | {x: 0, y: 0, z: 0} | X, Y, Z numbers, step 0.1 | Grain B's crystal direction along y. Shown when the estimate is off. |
Coherency strain (Grain A, 3x3 rows) EcohA | list | (none) | Rows of Row X, Row Y, Row Z numbers, step 0.0001 | Grain A's coherency strain matrix, one row per item. Shown when the estimate is off. |
Coherency strain (Grain B, 3x3 rows) EcohB | list | (none) | Rows of Row X, Row Y, Row Z numbers, step 0.0001 | Grain B's coherency strain matrix. Shown when the estimate is off. |
These arguments are filled in from the Grain Segmentation stage and don't appear in the form:
| Argument | Type | Shared by |
|---|---|---|
Grain Atoms grain-atoms | string | Grain Segmentation (as grain_atoms) |
Grains grains | string | Grain Segmentation |
Three things to know in version 1.1.1:
- Atom A and Atom B default to
0. Set both to real particle identifiers in different grains, or the stage fails withInvalid Particle Identifier for atomAoratomA and atomB are both part of the same grain. - Extract lines is off by default. Without it (or Single circuit), the plugin only detects CIS atoms and writes no line defects.
- Turning off Estimate coherent reference frame has no effect. VOLT passes a boolean argument to this plugin only when it is on, and the program estimates the frame unless told otherwise, so the orientation and coherency strain fields aren't used.
Outputs
| Exposure | What you get |
|---|---|
| Line Defects | A listing, and the defect segments drawn as 3D bonds. Written with Extract lines. |
| Disconnection Modes | A listing of the disconnection modes found, their variants and the total line length. Written with Extract lines. |
Each segment of Line Defects carries the properties the workflow declares: burgers_id (Burgers ID), magnitude (Burgers magnitude), step_height, ideal_step_height_a, ideal_step_height_b, length (Segment length), atom_a and atom_b (Node A and Node B) and distance.
Reference
The defects ILDA reports are those of the topological model of interfaces: J. P. Hirth, R. C. Pond, "Steps, dislocations and disconnections as interface defects relating to structure and phase transformations", Acta Mater. 44, 4749 (1996).