12.26. Compute Twin Boundaries
Group (Subgroup)
Statistics (Crystallography)
Description
This Filter identifies twin boundaries on a Triangle Geometry surface mesh. A twin boundary is a special type of grain boundary where two grains share a specific crystallographic relationship – their crystal lattices are mirror images of each other across the boundary plane.
What is a Twin Boundary?
Twins are grains that share a highly symmetric orientation relationship. The most common type is the Σ3 twin, where the two grains are related by a 60-degree rotation about the <111> crystal direction. Twin boundaries are significant because they tend to have very low energy and distinct mechanical properties compared to general grain boundaries. They are particularly common in FCC metals such as copper, nickel, and austenitic stainless steel.
How This Filter Works
For each Triangle on the grain boundary mesh, the filter computes the misorientation between the two Features on either side using their average orientations.
If the misorientation axis and angle match the Σ3 twin relationship within the user-defined tolerances, the Triangle is flagged as a twin boundary.
If Compute Coherence is enabled, the filter additionally measures the incoherence – the angle (in degrees) between the boundary plane normal and the misorientation axis, both expressed in the crystal reference frame. A perfectly coherent twin has an incoherence of 0 degrees, meaning the boundary plane is exactly the twin plane. Higher incoherence values indicate a boundary that has the correct misorientation but is not on the ideal twin plane.
Note
Only boundaries between Features of the same phase are evaluated.
Output Type for Twin Boundaries Array
boolean [0]: Stores the result as true/false
uint8 [1]: Stores the result as 1/0
Required Input Sources
This filter operates on a grain-boundary surface mesh and requires the following upstream steps:
Face Labels – produced by a surface meshing filter such as Quick Surface Mesh.
Face Normals (only when Find Coherence is enabled) – produced by Compute Triangle Normals.
Average Quaternions – produced by Compute Average Orientations.
Feature Phases – produced by Compute Feature Phases.
Crystal Structures – ensemble-level array read from EBSD data or created by Create Ensemble Info.
Algorithm Modifiers
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Find Coherence |
Bool |
If true, compute the coherence between the Face normal and the misorientation axis |
|
Axis Tolerance (Degrees) |
Scalar Value |
Float32 |
Degree of tolerance for angular distance from the [111] axis |
Angle Tolerance (Degrees) |
Scalar Value |
Float32 |
Degree of tolerance for angular deviation from 60 degrees |
Output Type for Twin Boundaries Array |
Choices |
The Twin Boundaries Array is essentially a mask; This allows for determining how the mask is stored; uint8 recommended. |
Input Face Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Face Labels |
Array Selection |
Allowed Types: int32 Comp. Shape: 2 |
Specifies to which Feature each Face of Triangle belongs to |
Face Normals |
Array Selection |
Allowed Types: float64 Comp. Shape: 3 |
Specifies the Normal of each face. Only required if Find Coherence is checked |
Input Feature Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Average Quaternions |
Array Selection |
Allowed Types: float32 Comp. Shape: 4 |
Specifies the average orientation of the Feature in quaternion representation |
Feature Phases |
Array Selection |
Allowed Types: int32 Comp. Shape: 1 |
Specifies to which Ensemble each Feature belongs |
Input Ensemble Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Crystal Structures |
Array Selection |
Allowed Types: uint32 Comp. Shape: 1 |
Specifies the crystal structure for each phase (in enumeration representation) |
Output Face Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
|---|---|---|---|
Twin Boundaries Array name |
DataObjectName |
The name of the array that will act as a mask for which triangles do make up a twin boundary (true) |
|
Twin Boundaries Incoherence Array name |
DataObjectName |
The name of array that contains the crystal direction parallel to the Face normal determined relative to the misorientation; values are 180 by default |
Example Pipelines
License & Copyright
Please see the description file distributed with this Plugin
DREAM3D-NX Help
If you need help, need to file a bug report or want to request a new feature, please head over to the DREAM3DNX-Issues GitHub site where the community of DREAM3D-NX users can help answer your questions.