Misorientation describe the relative orientation of two crystal with respect to each other. Those crystal may be of the same phase or of different phases. Misorientation are used to describe orientation relationships at grain boundaries, orientation relationships during phase transformations or twinning and orientation gradients within grains.
Misorientations within the same phase
Misorientation describes the relative orientation of two grains with respect to each other. Important concepts are twinning and CSL (coincidence site lattice) misorientations. To illustrate this concept at a practical example let us first import some Magnesium EBSD data.
mtexdata twins silent
% use only proper symmetry operations
ebsd('M').CS = ebsd('M').CS.properGroup;
% compute grains
grains = calcGrains(ebsd('indexed'),'threshold',5*degree,'minPixel',5);
grains = smooth(grains,5);
CS = grains.CS; % extract crystal symmetry
Next we plot the grains together with their mean orientation and highlight grain 43 and grain 52
plot(grains,grains.meanOrientation,'micronbar','off')
hold on
plot(grains([43,52]).boundary,'edgecolor','w','linewidth',2)
hold off
text(grains([43,52]),{'1','2'})

After extracting the mean orientation of grain 43 and 52
ori1 = grains(43).meanOrientation;
ori2 = grains(52).meanOrientation;
we may compute the misorientation angle between both orientations by
angle(ori1, ori2) ./ degree
ans =
85.7299
Note that the misorientation angle is computed by default modulo crystal symmetry, i.e., the angle is always the smallest angles between all possible pairs of symmetrically equivalent orientations. In our example this means that symmetrisation of one orientation has no impact on the angle
angle(ori1, ori2.symmetrise) ./ degree
ans =
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
85.7299
The misorientation angle neglecting crystal symmetry can be computed by
angle(ori1, ori2.symmetrise,'noSymmetry')./ degree
ans =
107.9164
100.9195
94.2719
136.6059
107.7043
179.5740
140.0724
137.3989
179.8286
101.4708
140.3882
85.7299
We see that the smallest angle indeed coincides with the angle computed before.
Misorientations
Remember that both orientations ori1
and ori2
map crystal coordinates onto specimen coordinates. Hence, the product of an inverse orientation with another orientation transfers crystal coordinates from one crystal reference frame into crystal coordinates with respect to another crystal reference frame. This transformation is called misorientation
mori = inv(ori1) * ori2
mori = misorientation (Magnesium → Magnesium)
Bunge Euler angles in degree
phi1 Phi phi2
149.583 94.2717 150.165
In the present case the misorientation describes the coordinate transform from the reference frame of grain 52 into the reference frame of crystal 43. Take as an example the plane \(\{11\bar{2}0\}\) with respect to the grain 85. Then the plane in grain 43 which aligns parallel to this plane can be computed by
round(mori * Miller(1,1,-2,0,CS))
ans = Miller (Magnesium)
h k i l
2 -1 -1 0
Conversely, the inverse of mori
is the coordinate transform from crystal 43 to grain 52.
round(inv(mori) * Miller(2,-1,-1,0,CS))
ans = Miller (Magnesium)
h k i l
1 1 -2 0
Coincident lattice planes
The coincidence between major lattice planes may suggest that the misorientation is a twinning misorientation. Lets analyze whether there are some more alignments between major lattice planes.
%m = Miller({1,-1,0,0},{1,1,-2,0},{1,-1,0,1},{0,0,0,1},CS);
m = Miller({1,-1,0,0},{1,1,-2,0},{-1,0,1,1},{0,0,0,1},CS);
% cycle through all major lattice planes
close all
for im = 1:length(m)
% plot the lattice planes of grains 52 with respect to the
% reference frame of grain 43
plot(mori * m(im).symmetrise,'MarkerSize',10,...
'DisplayName',char(m(im)),'figSize','large','noLabel','upper','textBelowMarker')
hold on
end
hold off
% mark the corresponding lattice planes in the twin
mm = round(unique(mori*m.symmetrise,'noSymmetry'),'maxHKL',6);
annotate(mm,'labeled','MarkerSize',5,'figSize','large','textBelowMarker')
% show legend
legend({},'location','SouthEast','FontSize',13);

we observe an almost perfect match for the lattice planes \(\{11\bar{2}0\}\) to \(\{\bar{2}110\}\) and \(\{1\bar{1}01\}\) to \(\{\bar1101\}\) and good coincidences for the lattice plane \(\{1\bar100\}\) to \(\{0001\}\) and \(\{0001\}\) to \(\{0\bar661\}\). Lets compute the angles explicitly
angle(mori * Miller(1,1,-2,0,CS),Miller(2,-1,-1,0,CS)) / degree
angle(mori * Miller(1,0,-1,-1,CS),Miller(1,-1,0,1,CS)) / degree
angle(mori * Miller(0,0,0,1,CS) ,Miller(1,0,-1,0,CS),'noSymmetry') / degree
angle(mori * Miller(1,1,-2,2,CS),Miller(1,0,-1,0,CS)) / degree
angle(mori * Miller(1,0,-1,0,CS),Miller(1,1,-2,2,CS)) / degree
ans =
0.4592
ans =
0.1766
ans =
59.6768
ans =
2.6341
ans =
2.5686
Twinning misorientations
Lets define a misorientation that makes a perfect fit between the \(\{11\bar20\}\), \(\{2\bar1\bar10\}\) lattice planes and the \([0001]\), \([01\bar10]\) lattice directions.
mori = orientation.map(Miller(1,1,-2,0,CS),Miller(2,-1,-1,0,CS),...
Miller(0,0,0,1,CS,'uvw'),Miller(0,1,-1,0,CS,'uvw'))
% the rotational axis
round(mori.axis)
% the rotational angle
mori.angle / degree
mori = misorientation (Magnesium → Magnesium)
(0001) || (01-10) [1-100] || [0001]
ans = Miller (Magnesium)
h k i l
1 1 -2 0
ans =
90
and plot the same figure as before with the exact twinning misorientation.
% cycle through all major lattice planes
close all
for im = 1:length(m)
% plot the lattice planes of grains 52 with respect to the
% reference frame of grain 43
plot(mori * m(im).symmetrise,'MarkerSize',10,...
'DisplayName',char(m(im)),'figSize','large','noLabel','upper')
hold on
end
hold off
% mark the corresponding lattice planes in the twin
mm = round(unique(mori*m.symmetrise,'noSymmetry'),'maxHKL',6);
annotate(mm,'labeled','MarkerSize',5,'figSize','large')
% show legend
legend({},'location','NorthWest','FontSize',13);

Highlight twinning boundaries
It turns out that in the previous EBSD map many grain boundaries have a misorientation close to the twinning misorientation we just defined. Lets Lets highlight those twinning boundaries
% consider only Magnesium to Magnesium grain boundaries
gB = grains.boundary('Mag','Mag');
% check for small deviation from the twinning misorientation
isTwinning = angle(gB.misorientation,mori) < 7.5*degree;
% plot the grains and highlight the twinning boundaries
plot(grains,grains.meanOrientation,'micronbar','off')
hold on
plot(gB(isTwinning),'edgecolor','w','linewidth',2)
hold off

From this picture we see that large fraction of grain boundaries are twinning boundaries. To make this observation more evident we may plot the boundary misorientation angle distribution function. This is simply the angle distribution of all boundary misorientations and can be displayed with
close all
plotAngleDistribution(gB.misorientation)

From this we observe that we have about 50 percent twinning boundaries. Analogously we may also plot the axis distribution
plotAxisDistribution(gB.misorientation,'contour')

which emphasizes a strong portion of rotations about the \((\bar12\bar10)\) axis.
Phase transitions
Misorientations may not only be defined between crystal frames of the same phase. Lets consider the phases Magnetite and Hematite.
CS_Mag = loadCIF('Magnetite')
CS_Hem = loadCIF('Hematite')
CS_Mag = crystalSymmetry
mineral : Magnetite
symmetry: m-3m
elements: 48
a, b, c : 8.4, 8.4, 8.4
CS_Hem = crystalSymmetry
mineral : Hematite
symmetry : -3m1
elements : 12
a, b, c : 5, 5, 14
reference frame: X||a*, Y||b, Z||c*
The phase transition from Magnetite to Hematite is described in literature by \(\{111\}_m\) parallel \(\{0001\}_h\) and \{\bar101}_m\( parallel \)\{10\bar10\}_h$. The corresponding misorientation is defined in MTEX by
Mag2Hem = orientation.map(...
Miller(1,1,1,CS_Mag),Miller(0,0,0,1,CS_Hem),...
Miller(-1,0,1,CS_Mag),Miller(1,0,-1,0,CS_Hem))
Mag2Hem = misorientation (Magnetite → Hematite)
(01-1) || (0-110) [111] || [0001]
Assume a Magnetite grain with orientation
ori_Mag = orientation.byEuler(0,0,0,CS_Mag)
ori_Mag = orientation (Magnetite → xyz)
Bunge Euler angles in degree
phi1 Phi phi2
0 0 0
Then we can compute all variants of the phase transition by
symmetrise(ori_Mag) * inv(Mag2Hem)
ans = orientation (Hematite → xyz)
size: 48 x 1
and the corresponding pole figures by
plotPDF(symmetrise(ori_Mag) * inv(Mag2Hem),...
Miller({1,0,-1,0},{1,1,-2,0},{0,0,0,1},CS_Hem))
