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 |
None |
the name of the phase, the frame’s identity |
name |
None |
the same as mineral |
color |
None |
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 |
None |
rotation turning the crystal axes against the Cartesian ones |
pointId |
None |
the point group by its number, 1 to 32 |
LaueId |
None |
the Laue class by its number, 1 to 11 |
laueId |
None |
the same as LaueId |
spaceId |
None |
the point group of the space group of this number, 1 to 230 |
how2plot |
None |
the plottingConvention of the frame, by default the one of its crystal system |
intern |
True |
unify with the session’s frame of the same lattice, group and name |
density |
None |
the mass density of the phase, kept in cs.opt[‘density’] |
axesNames |
('a', 'b', 'c') |
the names of the three axes |
check |
True |
check that the cell agrees with the lattice of the point group |
centering |
None |
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
Used on
CrystalDirections, CrystalOperations, CrystalReferenceSystem, CrystalShapeSmorf, CrystalSymmetries, FundamentalSector, LatticeMetric, SymmetryAlignment, MTEXvsBungeConvention, OrientationEmbeddings, OrientationFibre, OrientationFundamentalRegion
MATLAB’s crystalSymmetry.crystalSymmetry
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/crystalSymmetry.crystalSymmetry_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.