A periodic lattice admits only two-, three-, four- and sixfold rotation axes - no other order tiles space. Quasicrystals nevertheless show long-range order with five- or tenfold symmetry, which no translational lattice can carry. Their symmetry groups are therefore not among the 32 point groups, and MTEX has to be told their elements rather than their name.
plottingConvention.default('y↑→x');Building a Group From its Generators
crystalSymmetry.byElements closes a set of rotations into a group. The icosahedral group, the symmetry of the dodecahedron, is generated by one fivefold and one threefold axis.
a5 = normalize(vector3d(0,2/(1+sqrt(5)),1));
rot5 = rotation.byAxisAngle(a5,72*degree);
a3 = normalize(vector3d(2/(3+sqrt(5)),0,1));
rot3 = rotation.byAxisAngle(a3,120*degree);
cs = crystalSymmetry.byElements([rot5,rot3])cs = crystalSymmetry (⊙c→a)
symmetry : unknown
elements : 60
a, b, c : 1, 1, 1
alpha, beta, gamma: 90°, 90°, 90°
reference frame :Two generators, 60 elements: six fivefold axes, ten threefold ones and fifteen twofold ones, which the plot shows as pentagons, triangles and lenses.
plot(cs,'symbolSize',0.5,'projection','eangle','grid','on')
What Still Works
Most of MTEX asks a symmetry only for its elements, so the machinery built on crystallographic groups carries over. The fundamental sector is one sixtieth of the sphere, bounded by three great circles as the cubic one is.
hold on
plot(cs.fundamentalSector,'color','red')
hold off
The fundamental region in orientation space is a dodecahedron - twelve faces, one per neighbouring copy of the region.
oR = cs.fundamentalRegion;
plot(oR)
axis off
And an inverse pole figure colour key can be built on the sector, which is what an EBSD map of a quasicrystalline phase would be coloured by.
ipfKey = ipfHSVKey(cs);
plot(ipfKey,'complete','upper','resolution',0.5*degree,'noLabel')
hold on
plot(cs,'SymbolSize',0.6,'linewidth',1)
hold off
A Different Setup
As for any symmetry, how the axes sit with respect to the Cartesian frame is a choice. Here the fivefold axis is put along \(\vec z\), with the threefold axis at the angle the two enclose, \(37.38^\circ\).
rot5 = rotation.byAxisAngle(vector3d.Z,72*degree);
rot3 = rotation.byAxisAngle(vector3d.byPolar(37.377*degree,0),120*degree);
cs = crystalSymmetry.byElements([rot5,rot3])
plot(cs,'symbolSize',0.5,'projection','eangle','grid','on')cs = crystalSymmetry (⊙c→a)
symmetry : unknown
elements : 60
a, b, c : 1, 1, 1
alpha, beta, gamma: 90°, 90°, 90°
reference frame :
The same group, seen down its fivefold axis.
Adding the Inversion
Many commonly studied icosahedral quasicrystals are centrosymmetric, so the group of interest often includes inversion - 120 elements instead of 60.
cs = crystalSymmetry.byElements([rot5,rot3,rotation.inversion])
ipfKey = ipfHSVKey(cs);
plot(ipfKey,'complete','upper','resolution',0.5*degree,'noLabel')
hold on
plot(cs,'symbolSize',0.6,'linewidth',2)
hold offcs = crystalSymmetry (⊙c→a)
symmetry : unknown
elements : 120
a, b, c : 1, 1, 1
alpha, beta, gamma: 90°, 90°, 90°
reference frame :
The colour key now repeats on the lower hemisphere as it does on the upper, since the inversion identifies each direction with its opposite, see Axes and Antipodal Symmetry.
Next
The crystallographic groups and what distinguishes them are Crystal Symmetries, and the sector this page plots is Fundamental Sector.