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

  1. For each Triangle on the grain boundary mesh, the filter computes the misorientation between the two Features on either side using their average orientations.

  2. If the misorientation axis and angle match the Σ3 twin relationship within the user-defined tolerances, the Triangle is flagged as a twin boundary.

  3. 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:

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

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.