the reference frame glued to the lattice basis of a phase, with the point group of the crystal

Syntax

cs = crystalFrame('m-3m', [4.05, 4.05, 4.05], mineral='Aluminium', color='blue')

Point group, cell, name.

cs = crystalFrame('2/m', [8.6, 13, 7.2], [90, 116, 90], 'X||a', mineral='Orthoclase')

Angles and alignment.

cs = crystalFrame('cubic')

By the crystal system, or ‘O’, ‘432’, …

cs = crystalFrame(LaueId=9)

By the number of the Laue class.

cs = crystalFrame(spaceId=153)

By the number of the space group.

cs = crystalFrame('I4/mmm', [3.3, 3.3, 5.8])

By the space group, the centring kept.

cs = crystalFrame('432', rotAxes=rot)

The axes turned by a rotation.

cs = crystalFrame([1, 2, 3], [70, 80, 120], 'Z||a*')

By the cell alone, no group.

cs = crystalFrame(axes, name='Forsterite')

By the axes themselves.

cs = crystalFrame(rot)

The group generated by rotations.

cs = crystalFrame(otherFrame)

The trivial group, carrying that frame.

Description

The basis is the crystal axes a, b, c in Euclidean coordinates, with their lengths; how the Cartesian axes are aligned to them, X||a* and Z||c by default, belongs to the frame, not to the point group. A frame is a handle compared by identity: the constructor answers with the session’s frame of the same lattice, group and name where there is one (intern=False keeps it apart). The name, the mineral, is the frame’s identity in a phase list.

Positional strings are the point group and alignments, ‘X||a’, ‘Z||c*’, ‘EDAX’; everything else is a keyword. The axis angles are in radians, or in degree when one exceeds 2 pi. A space group symbol gives the point group and the centring of the lattice, P, A, B, C, I, F or R, which centering also sets.

Input

symbol the point group in international or Schoenflies notation, a crystal system, or a space group symbol
abc the lengths of the crystal axes a, b, c
abg the angles alpha, beta, gamma between the crystal axes
axes vector3d, the three crystal axes
rot rotation, the generators of the group
otherFrame crystalFrame whose lattice the new frame takes, without its group

Keywords

keyword default description
mineral   the name of the phase, the frame’s identity
name   the same as mineral
color   the colour of the phase in a map
alignment   the alignment of the Cartesian axes to the crystal axes, ‘X||a’, ‘Y||b*’, ‘EDAX’, …, as a string or a list of them
rotAxes   rotation turning the crystal axes against the Cartesian ones
pointId   the point group by its number, 1 to 32
LaueId   the Laue class by its number, 1 to 11
laueId   the same as LaueId
spaceId   the point group of the space group of this number, 1 to 230
how2plot   the plottingConvention of the frame, by default the one of its crystal system
intern   unify with the session’s frame of the same lattice, group and name
density   the mass density of the phase, kept in cs.opt[‘density’]
axesNames   the names of the three axes
check   check that the cell agrees with the lattice of the point group
centering   the centring of the lattice: ‘P’, ‘A’, ‘B’, ‘C’, ‘I’, ‘F’ or ‘R’

Output

cs crystalFrame

Example

Define cubic aluminium and hexagonal magnesium frames using lattice lengths in angstroms. The Miller direction belongs to the frame in which it was constructed.

from mtex import crystalFrame, Miller

al = crystalFrame('m-3m', [4.05, 4.05, 4.05], mineral='Aluminium')
mg = crystalFrame('6/mmm', [3.20927, 3.20927, 5.21033], mineral='Magnesium')
cAxis = Miller(0, 0, 0, 1, mg, 'UVTW')
print(al)
print(mg)
print(cAxis)

The point group describes symmetry; the lattice lengths and alignment determine how indices become Cartesian vectors. The magnesium c-axis above uses four direct-lattice indices.

Aluminium
Magnesium
<0001>

See also

specimenFrame, referenceFrame, Miller, orientation, CrystalSymmetries, CrystalReferenceSystem

Members

aAxis the a axis as the Miller direction [100] of the frame
aAxisRec the reciprocal axis a* as the Miller plane normal (100) of the frame
abc the axis lengths a, b, c
abg the axis angles alpha, beta, gamma in radians
alignment the alignment of the Euclidean axes to the crystal axes as strings, e.g
alignment the alignment of the Euclidean axes to the crystal axes as strings, e.g
alpha the angle alpha between the b and c axes, in radians
axes the crystal axes a, b, c in Euclidean coordinates, the basis
axesDual the reciprocal axes a, b, c*, MATLAB’s axesDual
basisDual return the reciprocal lattice basis a*, b*, c* as Cartesian vectors
bAxis the b axis as the Miller direction [010] of the frame
bAxisRec the reciprocal axis b* as the Miller plane normal (010) of the frame
beta the angle beta between the c and a axes, in radians
byElements the crystal frame of the group generated by the rotations
cAxis the c axis as the Miller direction [001] of the frame
cAxisRec the reciprocal axis c* as the Miller plane normal (001) of the frame
centering the centring of the lattice: P primitive, A, B, C one face, I the body, F every face, R rhombohedral in the hexagonal cell
char the mineral name of the frame, or the symbol of its point group
conventionChar the plotting convention in crystal directions, e.g
crystalFrame the reference frame glued to the lattice basis of a phase, with the point group of the crystal
crystalSymmetry the reference frame glued to the lattice basis of a phase, with the point group of the crystal
gamma the angle gamma between the a and b axes, in radians
load construct a registered crystal frame from a CIF structure file
plotHKL the low index directions <100>, <110>, <111> of a crystal with all their symmetric equivalents, labelled by their indices
primitiveAxes the axes of a primitive cell of the lattice, the conventional axes where it is primitive
transformationMatrix between crystal frames the axes are first re-paired by nearest length when the cells disagree, which is how the monoclinic settings 121 and 112 relate
transformationMatrix between crystal frames the axes are first re-paired by nearest length when the cells disagree, which is how the monoclinic settings 121 and 112 relate

Used on

CrystalDirections, CrystalOperations, CrystalReferenceSystem, CrystalShapeSmorf, CrystalSymmetries, FundamentalSector, LatticeMetric, SymmetryAlignment, MTEXvsBungeConvention, OrientationEmbeddings, OrientationFibre, OrientationFundamentalRegion

MATLAB’s crystalFrame_index

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/crystalFrame_index_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.