A twin is a part of a crystal whose lattice has a special mirrored orientation relative to its host. The crystallographic relation between the two orientations is the twin law.
Deformation twins form in magnesium and other hexagonal metals when slip alone cannot accommodate the imposed strain. Their abundance and geometry can therefore help to reconstruct what happened to a specimen.
This page infers a candidate twin law from a repeated misorientation in an EBSD map. It then selects the boundary segments that match the complete relationship. Twinning takes the complementary route and starts from a known crystallographic law.
The example assumes familiarity with grain reconstruction and misorientation symmetry. Misorientations at Grain Boundaries introduces the boundary properties used below.
close all;
% load the example in its specimen plotting frame
plottingConvention.default('y↑→x');
mtexdata twins silent
% reconstruct and smooth the grains
[grains,ebsd] = calcGrains(ebsd,'angle',5*degree,'minPixel',3);
grains = smoothBoundary(grains,5);
% compute the colours explicitly to keep the published output quiet
colorKey = ipfColorKey(grains);
grainColor = colorKey.orientation2color(grains.meanOrientation);
plot(grains,grainColor)
% store the crystal symmetry of magnesium
CS = grains.CS;
The narrow lamellae cross several larger grains and have a contrasting mean orientation. That morphology suggests twinning, but it does not prove a twin mechanism. The following analysis identifies the repeated lattice relationship between each lamella and its host.
Select Same-Phase Boundaries
A grain boundary is one segment between neighboring EBSD measurements that belong to different grains. The summary splits the complete network by the phases on either side.
gB = grains.boundarygB = grainBoundary (y↑→x)
Segments length mineral 1 mineral 2
607 182 µm notIndexed Magnesium
2696 717 µm Magnesium MagnesiumOf these segments, some are boundaries against the edge of the scan, where a grain is cut off and has no neighbour. MTEX reports the missing neighbour as notIndexed; this map contains no notIndexed grains of its own.
Only segments with magnesium grains on both sides have the same-phase misorientations needed here. The object summary reports their number and total trace length. Segment count is controlled by boundary sampling and is not a count of physical twins.
gB_MgMg = gB('Magnesium','Magnesium')gB_MgMg = grainBoundary (y↑→x)
Segments length mineral 1 mineral 2
2696 717 µm Magnesium MagnesiumFind the Repeated Misorientation
Colour each segment by its disorientation angle.
close all;
plot(gB_MgMg,gB_MgMg.misorientation.angle./degree,'linewidth',2)
mtexColorbar('title','misorientation angle in degree')
The connected yellow traces near 86 degrees outline most of the narrow lamellae. Cooler colours mark boundaries spread over lower angles.
The histogram makes the concentration explicit. The narrow peak just below 90 degrees dominates a background spread over many angles.
close all;
histogram(gB_MgMg.misorientation.angle./degree,40)
xlabel('misorientation angle (degree)')
Isolate the 85--87 degree peak and print its share of the boundary segments. About one third of all magnesium-to-magnesium segments lie in this two-degree interval. A concentration this sharp is not expected from a random population; it points to one relationship repeated across the map.
inPeak = gB_MgMg.misorientation.angle > 85*degree & ...
gB_MgMg.misorientation.angle < 87*degree;
mori = gB_MgMg.misorientation(inPeak);
peakSummary = table(length(mori),100*length(mori)/length(gB_MgMg),...
'VariableNames',{'segments','percentOfMgMgSegments'})peakSummary =
1×2 table
segments percentOfMgMgSegments
________ _____________________
917 34.013Identify the Relationship
Angle alone does not identify a misorientation. Plot the peak in the full axis--angle space.
close all;
scatter(mori)
The points form one tight cluster rather than several clusters with similar angles. This compact cloud is the evidence for one complete relationship.
The robust mean locates the centre without giving isolated measurements undue influence. round2Miller then finds low-index planes and directions that the measured mean makes parallel.
moriMean = mean(mori,'robust');
round2Miller(moriMean)plane parallel direction parallel fit
(011̅1) || (101̅1̅) [11̅01] || [011̅1] 0.451°The fit is within half a degree. Use those low-index correspondences to define the ideal relationship without the small experimental deviation of the measured mean.
twinning = orientation.map(Miller(1,-1,0,1,CS),Miller(1,0,-1,-1,CS),...
Miller(0,1,-1,1,CS,'uvw'),Miller(1,-1,0,1,CS,'uvw'))twinning = misorientation (Magnesium → Magnesium)
(101̅1̅) || (011̅1) [011̅1] || [11̅01]Two Equivalent Descriptions
By default MTEX returns the disorientation: the symmetry-equivalent representative with the smallest rotation angle. For this magnesium twin law it is 86.3 degrees about the (11-20) crystal axis.
twinDisorientationAxis = round(twinning.axis)
twinDisorientationAngle = twinning.angle ./ degreetwinDisorientationAxis = Miller (Magnesium)
h k i l
1 1 -2 0
twinDisorientationAngle =
86.2992The same twin law also has a 180 degree representative about a twin axis. The max option of angle and axis selects that representative.
twinOperationAngle = angle(twinning,'max') ./ degree
twinOperationAxis = round(Miller(axis(twinning,'max'),'UVTW'))twinOperationAngle =
180
twinOperationAxis = Miller (Magnesium)
U V T W
2 0 -2 1Both descriptions belong to the same misorientation under magnesium crystal symmetry. The 86.3 degrees reported for the disorientation and the 180 degrees quoted for the twin operation are therefore not in conflict. An angle and its axis must always be read from the same representative.
Select Candidate Twin Boundaries
Compare every boundary misorientation with the complete ideal law, not only with its 86.3 degree angle. A boundary has no intrinsic first side, so its misorientation carries grain-exchange symmetry: the law and its inverse are treated as the same relationship. See Grain Exchange Symmetry.
A five-degree tolerance admits the experimental spread in this map. It is an analyst choice rather than a universal property of the twin law, and it should reflect orientation uncertainty and the purpose of the analysis.
twinDeviation = angle(gB_MgMg.misorientation,twinning);
isTwinning = twinDeviation < 5*degree;
twinBoundary = gB_MgMg(isTwinning)
% report the fraction of trace length rather than only segment count
candidateTracePercent = 100 * sum(twinBoundary.segLength) ./ ...
sum(gB_MgMg.segLength)twinBoundary = grainBoundary (y↑→x)
Segments length mineral 1 mineral 2
1406 356 µm Magnesium Magnesium
candidateTracePercent =
49.6556The two object summaries show how many magnesium-to-magnesium segments pass the test. They account for about half of the total trace length.
close all;
plot(grains,grainColor)
hold on
plot(twinBoundary,'linecolor','w','linewidth',4,...
'displayName','candidate twin boundary')
hold off
The white traces follow the lamellae seen in the first figure. This spatial agreement checks that the relationship inferred from the peak is the one repeated in the map.
What the Selection Establishes
The selected objects are candidate twin-boundary segments, not a count of physical twins. Consecutive segments can belong to one lamella, and boundary smoothing changes their number. Trace length is less sensitive to resampling, but it still does not count twin domains.
A misorientation match also does not identify which side is the parent or prove that deformation twinning produced the boundary. A two-dimensional EBSD map supplies the boundary trace, not the full interface-plane orientation; Tilt and Twist Boundaries develops that limitation. Morphology, loading, and evidence for later slip, detwinning, or secondary twinning may be needed for a mechanistic interpretation.
References
- Th. Hahn and H. Klapper, Twinning of Crystals, International Tables for Crystallography, Vol. D, ch. 3.3, pp. 413--487, 2013. This chapter defines twin laws, equivalent operations, and twin boundaries.
- J. W. Christian and S. Mahajan, Deformation Twinning, Progress in Materials Science 39 (1995), 1--157. This review covers deformation-twin crystallography and mechanisms.
- Y. Zhang et al., A General Method to Determine Twinning Elements, Journal of Applied Crystallography 43 (2010), 1426--1430. This paper connects an observed relationship with classical twinning elements.
- V. Randle, Application of EBSD to the Analysis of Interface Planes: Evolution over the Last Two Decades, Journal of Microscopy 230 (2008), 406--413. This review explains what two-dimensional and stereological EBSD measurements reveal about boundary planes.
Next
If the twin law is known in advance, Twinning shows how to construct it directly. The next reconstruction step is often to restore parent-grain footprints by merging across the selected boundaries; see Merging Grains.
Citing this page.
This page is part of the documentation of
MTEX, a free and open
source MATLAB toolbox for analyzing and modeling crystallographic textures.
It was written by The MTEX Developers and is published at
https://mtex-toolbox.github.io/TwinningBoundaries.html.
If you use MTEX, or reuse text or figures from this page, in your research,
please cite
F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63
BibTeX
@article{bachmann2010mtex,
author = {F. Bachmann and R. Hielscher and H. Schaeben},
title = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
journal = {Solid State Phenomena},
volume = {160},
pages = {63-68},
year = {2010},
doi = {10.4028/www.scientific.net/SSP.160.63},
url = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}
Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.