Open Matlab File in the Editor MTEX

Specimen Directions - The MTEX Class vector3d

Definition

v = vector3d (1 ,0 ,0)                      % Cart . coordinates
v = vector3d('polar', 20*degree, 10*degree) % polar coordinates
v = xvector                                 % predefined vector
 
v = vector3d  
 size: 1 x 1
  x y z
  1 0 0
 
v = vector3d  
 size: 1 x 1
         x         y         z
  0.336824 0.0593912  0.939693
 
v = vector3d  
 size: 1 x 1
  x y z
  1 0 0

Calculations

v = [xvector, yvector]; w = v(1);
v = 2*xvector - yvector;

Basic Functions

angle(v, w)
norm(v)
dot(v ,w)
cross(v, w)
[theta, rho] = polar(v)
ans =
    0.4636
ans =
    2.2361
ans =
     2
 
ans = vector3d  
 size: 1 x 1
  x y z
  0 0 1
theta =
    1.5708
rho =
    5.8195

plotting

close all
plot([v,w])

Rotations

Definition

rot = rotation('Euler',10*degree,20*degree,30*degree);
rot = rotation('axis',xvector,'angle',30*degree);
rot = rotation('map',xvector,yvector,vector3d(0,1,1),zvector);
rot = rotation('quaternion',0.5,0.5,0.5,0.5);
rot = reflection(zvector)
 
rot = rotation  
  size: 1 x 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   180    0    0    1
 
 

Calculations

v = rot * xvector
rot \ v
rot2 = rot * rot
 
v = vector3d  
 size: 1 x 1
  x y z
  1 0 0
 
ans = vector3d  
 size: 1 x 1
  x y z
  1 0 0
 
rot2 = rotation  
  size: 1 x 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   360    0    0    0
 
 

Basic Functions

angle(rot)
axis(rot)
angle(rot, rot2)
inv(rot)
[alpha, beta ,gamma] = Euler(rot)
ans =
    3.1416
 
ans = vector3d  
 size: 1 x 1
  x y z
  0 0 1
ans =
    3.1416
 
ans = rotation  
  size: 1 x 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   180    0    0    1
 
 
alpha =
    3.1416
beta =
     0
gamma =
     0

Crystal and Specimen Symmetries

Definition

S = crystalSymmetry('triclinic',[1.1 1.3 2.3],[80 110 120]*degree);
CS = crystalSymmetry('-3m',[2,2,1],'X||a','mineral','iron');
SS = specimenSymmetry ('mmm');

% load from a cif file
CS = loadCIF('quartz')
 
CS = crystalSymmetry  
 
  mineral        : Quartz            
  symmetry       : 321               
  a, b, c        : 4.9, 4.9, 5.4     
  reference frame: X||a*, Y||b, Z||c*
 

Basic Functions

symmetrise(xvector,SS)
symmetrise(rotation('Euler',0,0,0),CS,SS)
rotation(CS)
[alpha_max,bet_max,gamma_max] = getFundamentalRegion(CS,SS)
 
ans = vector3d  
 size: 2 x 1
   x  y  z
   1  0  0
  -1  0  0
 
ans = rotation  
  size: 24 x 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   180    0    0    0
   180    0    0    1
    15  180  195    0
    15  180  195    1
   195  180  315    0
   195  180  315    1
     0  180  240    0
     0  180  240    1
   360  180   60    0
   360  180   60    1
    15  180  315    0
    15  180  315    1
   195  180  195    0
   195  180  195    1
   240    0    0    0
   240    0    0    1
   120    0    0    0
   120    0    0    1
   300    0    0    0
   300    0    0    1
    60    0    0    0
    60    0    0    1
   360    0    0    0
   360    0    0    1
 
 
 
ans = rotation  
  size: 2 x 3
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
     0    0    0    0
    15  180   75    0
   120    0    0    0
    15  180  195    0
   240    0    0    0
    15  180  315    0
 
 
alpha_max =
    1.5708
bet_max =
    1.5708
gamma_max =
    2.0944

plotting

plot(CS)
close all

Crystal directions - the class Miller

Definition

h = Miller(v,CS);
h1 = Miller(1,0,0,CS);
h2 = [Miller(1,1,-2,3,CS),Miller(0,1,-1,0,CS)]
 
h2 = Miller  
 size: 1 x 2
 mineral: Quartz (321, X||a*, Y||b, Z||c*)
  h  1  0
  k  1  1
  i -2 -1
  l  3  0

Basic Functions

eq(h1,h2)
angle(h1,h2,'antipodal')
symmetrise(h)
plot([h1,h2],'all','labeled','backGroundColor','w')
ans =
     0     1
ans =
    1.0333         0
 
ans = Miller  
 size: 6 x 1
 mineral: Quartz (321, X||a*, Y||b, Z||c*)
  h  4.2574  4.2574 -4.2574 -4.2574       0       0
  k       0 -4.2574  4.2574       0 -4.2574  4.2574
  i -4.2574       0       0  4.2574  4.2574 -4.2574
  l       0       0       0       0       0       0

Orientations

Definition

ori = orientation(rot,CS,SS)
ori = orientation('Euler',alpha,beta,gamma,CS,SS)
ori = orientation('brass',crystalSymmetry('cubic'))
ori = orientation('Miller',[1 0 0],[1 1 1],CS,SS)
 
ori = orientation  
  size: 1 x 1
  crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
  specimen symmetry: mmm
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   180    0    0    1
 
 
 
ori = orientation  
  size: 1 x 1
  crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
  specimen symmetry: mmm
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
   180    0    0    0
 
 
 
ori = orientation  
  size: 1 x 1
  crystal symmetry : m-3m
  specimen symmetry: 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
    35   45    0    0
 
 
 
ori = orientation  
  size: 1 x 1
  crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
  specimen symmetry: mmm
 
  Bunge Euler angles in degree
     phi1     Phi    phi2    Inv.
  335.547      90      90       0
 
 

Calculations

r = ori * h
h = ori \ r
ori2 = rot * ori
 
r = vector3d  
 size: 1 x 1
  x y z
  0 0 1
 
h = Miller  
 size: 1 x 1
 mineral: Quartz (321, X||a*, Y||b, Z||c*)
  h  4.2574
  k       0
  i -4.2574
  l       0
 
ori2 = orientation  
  size: 1 x 1
  crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
  specimen symmetry: mmm
 
  Bunge Euler angles in degree
     phi1     Phi    phi2    Inv.
  155.547      90      90       1
 
 

Basic Functions

eq(ori,ori2)
angle(ori,ori2)
symmetrise(ori)
angle(ori)
[alpha,beta,gamma]  = Euler(ori)
ans =
     1
ans =
   4.2147e-08
 
ans = orientation  
  size: 48 x 1
  crystal symmetry : Quartz (321, X||a*, Y||b, Z||c*)
  specimen symmetry: mmm
 
ans =
    1.5731
alpha =
    5.8564
beta =
    1.5708
gamma =
    1.5708

Plotting

plotPDF([ori,ori2],Miller(1,0,0,CS))

Exercises

1) Consider trigonal crystal symmetry.

a) Find all crystallographic directions symmetrically equivalent to h = (1, 0, -1, 0) (Miller indices)!

CS = crystalSymmetry('-3m')
h = Miller(1,0,-1,0,CS);
symmetrise(h)
 
CS = crystalSymmetry  
 
  symmetry       : -3m1              
  a, b, c        : 1, 1, 1           
  reference frame: X||a*, Y||b, Z||c*
 
 
ans = Miller  
 size: 6 x 1
 symmetry: -3m1, X||a*, Y||b, Z||c*
  h  1  1 -1 -1  0  0
  k  0 -1  1  0 -1  1
  i -1  0  0  1  1 -1
  l  0  0  0  0  0  0

b) Find crystallographic directions such that the number of their crystallographic equivalent directions on the upper hemisphere (without equator) is 1, 3, or 6 when including antipodal symmetry?

h1 = Miller(0,0,0,1,CS);
h2 = Miller(1,1,-2,1,CS);
h3 = Miller(1,0,-1,1,CS);

plot([h1 h2 h3],'all','antipodal')

c) Consider the orientation given by the Euler angles 30, 90, 90 degree. Give the Euler angles of all symmetrically equivalent orientations!

ori = orientation('Euler',30*degree,90*degree,90*degree,CS);
symmetrise(ori)
 
ans = orientation  
  size: 1 x 1
  crystal symmetry : -3m1, X||a*, Y||b, Z||c*
  specimen symmetry: 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
    30   90   90    0
 
 

d) Which positions in the (0,0,0,1) - pole figure correspond to above defined orientation. Which crystal direction is rotated by this orientation to the specimen direction (0,0,1)?

ori * symmetrise(Miller(0,0,0,1,CS))

ori \ zvector
 
ans = vector3d  
 size: 1 x 2
     x         y         z
   0.5 -0.866025         0
  -0.5  0.866025         0
 
ans = Miller  
 size: 1 x 1
 symmetry: -3m1, X||a*, Y||b, Z||c*
  h  0.866
  k      0
  i -0.866
  l      0

e) Construct an orientation that rotates the crystallographic directions and onto the specimen directions and , respectively. Check your result and describe the rotation by axis and angle.

h1 = Miller(0,0,0,1,CS);
h2 = Miller(2,-1,-1,0,CS);
r1 = xvector;
r2 = yvector;

ori = orientation('map',h1,r1,h2,r2,CS)

ori * [h1,h2]
 
ori = orientation  
  size: 1 x 1
  crystal symmetry : -3m1, X||a*, Y||b, Z||c*
  specimen symmetry: 1
 
  Bunge Euler angles in degree
  phi1  Phi phi2 Inv.
    90   90   30    0
 
 
 
ans = vector3d  
 size: 1 x 2
  x y z
  1 0 0
  0 2 0