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: 48 x 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 = rotation size: 48 x 1 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: 12 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 210 90 150 0 30 90 210 0 210 90 270 0 30 90 330 0 210 90 30 0 30 90 90 1 210 90 150 1 30 90 210 1 210 90 270 1 30 90 330 1 210 90 30 1
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
MTEX 4.0.4 |