Antipodal Symmetry

MTEX allows to identify antipodal directions to model axes and to identify misorientations with opposite rotational angle. The later is required when working with misorientations between grains of the same phase and the order of the grains is arbitrary.

On this page ...
Directions vs. Axes
The Angle between Directions and Axes
Antipodal Symmetry in Experimental Pole Figures
Antipodal Symmetry in Recalculated Pole Figures
Antipodal Symmetry in Inverse Pole Figures
EBSD Colocoding

Directions vs. Axes

In MTEX it is possible to consider three dimensional vectors either as directions or as axes. The key option to distinguish between both interpretations is antipodal.

Consider a pair of vectors

v1 = vector3d(1,1,2);
v2 = vector3d(1,1,-2);

and plots them in a spherical projection

plot([v1,v2],'label',{'v_1','v_2'})

These vectors will appear either on the upper or on the lower hemisphere. In order to treat these vectors as axes, i.e. in order to assume antipodal symmetry - one has to use the keyword antipodal.

plot([v1,v2],'label',{'v_1','v_2'},'antipodal')

Now the direction v_2 is identified with the direction -v_2 which plots at the upper hemisphere.

The Angle between Directions and Axes

Another example, where antipodal symmetry matters is the angle between two vectors. In the absence of antipodal geometry we have

angle(v1,v2) / degree
ans =
  109.4712

whereas, if antipodal symmetry is assumed we obtain

angle(v1,v2,'antipodal') / degree
ans =
   70.5288

Antipodal Symmetry in Experimental Pole Figures

Due to Friedel's law experimental pole figures always provide antipodal symmetry. One consequence of this fact is that MTEX plots pole figure data always on the upper hemisphere. Moreover if you annotate a certain direction to pole figure data, it is always interpreted as an axis, i.e. projected to the upper hemisphere if necessary

mtexdata dubna

% plot the first pole figure
plot(pf({1}))

% annotate a axis on the souther hemisphere
annotate(vector3d(1,0,-1),'labeled','backgroundColor','w')
 loading data ...
 saving data to /home/hielscher/mtex/master/data/dubna.mat

Antipodal Symmetry in Recalculated Pole Figures

However, in the case of pole figures calculated from an ODF antipodal symmetry is in general not present.

% some prefered orientation
o = orientation.byEuler(20*degree,30*degree,0,'ZYZ',CS);

% define an unimodal ODF
odf = unimodalODF(o);

% plot pole figures
plotPDF(odf,[Miller(1,2,2,CS),-Miller(1,2,2,CS)])

Hence, if one wants to compare calculated pole figures with experimental ones, one has to add antipodal symmetry.

plotPDF(odf,Miller(1,2,2,CS),'antipodal')

Antipodal Symmetry in Inverse Pole Figures

The same reasoning as above holds true for inverse pole figures. If we look at complete, inverse pole figures they do not posses antipodal symmetry in general

plotIPDF(odf,[yvector,-yvector],'complete')

However, if we add the keyword antipodal, antipodal symmetry is enforced.

plotIPDF(odf,yvector,'antipodal','complete')

Notice how MTEX, automatically reduces the fundamental region of inverse pole figures in the case that antipodal symmetry is present.

plotIPDF(odf,yvector)
plotIPDF(odf,yvector,'antipodal')

EBSD Colocoding

Antipodal symmetry effects also the colocoding of ebsd plots. Let's first import some data.

mtexdata forsterite

Now we plot these data with a colorcoding according to the inverse (100) pole figure. If we use the Laue group for inverse pole figure color coding we add antipodal symmetry to the inverse pole figure

ipfKey = ipfColorKey(ebsd('fo').CS.Laue);

% plot the color key
plot(ipfKey)

Here the colorized data

plot(ebsd('fo'),ipfKey.orientation2color(ebsd('fo').orientations))

If we use the point group of proper rotations this antipodal symmetry is not present and a larger region of the inverse pole figure is colorized

ipfKey = ipfColorKey(ebsd('fo').CS.properGroup);

% the colorcode
plot(ipfKey)

Here the colorized data

plot(ebsd('fo'),ipfKey.orientation2color(ebsd('fo').orientations))