Symmetry¶
brille holds each symmetry operation as an integer matrix, the identity, a
rotation or a rotoinversion in units of the real-space basis vectors, and a
vector, its translation as fractions of those basis vectors. A
Symmetry can also be made from operations written
as CIF xyz
strings, and a HallSymbol decodes a
Hall symbol into the generators of
its space group. Give a lattice its symmetry shows each
in use.
Symmetry
¶
Symmetry(*args, **kwargs)
Symmetry(W: ndarray[int32], w: ndarray[float64])
Symmetry(*args, **kwargs)
One or more symmetry operations of a space group.
A symmetry operation is the combination of a generalised rotation, \(W\), and translation, \(\mathbf{w}\). For any position in space, \(\mathbf{x}\), the operation transforms \(\mathbf{x}\) to another equivalent position
.. math:: \mathbf{x}' = W \mathbf{x} + \mathbf{w}
and can equivalently be expressed as \(\mathbf{x}' = \mathscr{M}\mathbf{x}\).
Crystallographic symmetry operations have an order, \(o\), for which \(\mathscr{M}^o = \mathscr{E}\) i.e. \(o\) repeated applications of the operation is equivalent to the identity operator.
A set of symmetry operations can form a group, \(\mathbb{G}\), with the property that \(\mathscr{M}_k = \mathscr{M}_i \mathscr{M}_j\) with \(\mathscr{M}_i,\mathscr{M}_j,\mathscr{M}_k \in \mathbb{G}\).
This class can be used to hold any number of related symmetry operators, and to generate all spacegroup operators from those stored.
The operations are given in one of two forms:
Symmetry(W, w):W, integer, shape (N, 3, 3), the generalised rotation (matrix) parts, andw, float, shape (N, 3), the translation (vector) parts, both in units of the real-space basis vectors;Symmetry(cifxyz): a string of operations in CIF xyz form, separated by;, such as"x,y,z;-x,1/2+y,-z".
Methods:
-
generate– -
generators–
Attributes:
PointSymmetry
¶
PointSymmetry(Symmetry: Symmetry)
Holds the \(3 \times 3\) rotation matrices \(R\) which comprise a point group symmetry.
A point group describes the local symmetry of a lattice point. It contains
all of the generalised rotations of a Symmetry
with none of its translations.
Methods:
-
nfolds–
Attributes:
-
W(ndarray[int32]) – -
axis(ndarray[int32]) – -
generate(PointSymmetry) – -
generators(PointSymmetry) – -
isometry(ndarray[int32]) – -
order(ndarray[int32]) – -
size(int) –
HallSymbol
¶
HallSymbol(Hall_symbol: str)
A crystallographic spacegroup's symmetries encoded in Hall's notation
Hall proposed a compact unambiguous notation for the representation of the
generators of a spacegroup. Within his notation each motion is comprised of
a character with one or more subscripts and superscripts which describe its
order, unique axis, and translation. The notation specifies that, depending
on the position of a motion and details of any preceding motion, some or
all of the sub- and superscripts can be omitted. The :class:HallSymbol has
been written to handle the logic necessary to decode a Hall symbol into its
equivalent motions.
An added complication arises when the Hall symbol is encoded as an ASCII
string. Namely, there are no sub- or superscript glyphs and some scheme must
be enacted to represent them.
Attributes:
-
generators(Symmetry) –
Spacegroup
¶
Spacegroup(symbol: str, choice: str = '')
The space group information as in `spglib:
Equivalent to the struct SpacegroupType from
spg_database.h <https://github.com/spglib/spglib/blob/develop/src/spg_database.h>_
The space group setting named by a Hall symbol, or by a Hermann-Mauguin symbol or
International Tables name with an optional setting choice, as
brille.Lattice accepts them.
Methods:
-
all–Every space group setting brille knows, in the order of its table.
Attributes:
-
choice(str) – -
hall_symbol(str) – -
international_table_full(str) – -
international_table_number(int) – -
international_table_short(str) – -
international_table_symbol(str) – -
pointgroup_number(int) – -
schoenflies_symbol(str) –
all
staticmethod
¶
all() -> list[Spacegroup]
Every space group setting brille knows, in the order of its table.
Pointgroup
¶
Pointgroup(*args, **kwargs)
Point group information as in spglib
Wrapped access to the struct originally in
pointgroup.h <https://github.com/spglib/spglib/blob/develop/src/pointgroup.h>_
Initialize from the serial index in the static pointgroup_data array
Attributes:
-
holohedry(str) –Return a string representation of the Holohedry value
-
laue(str) –Return a string representation of the Laue class
-
number(int) – -
symbol(str) –
holohedry
property
¶
holohedry: str
Return a string representation of the Holohedry value
One of triclinic, monoclinic, orthogonal, tetragonal, trigonal, hexagonal, or cubic.
laue
property
¶
laue: str
Return a string representation of the Laue class
One of 1, 2m, mmm, 4m, 4mmm, 3, 3m, 6m, 6mmm, m3, or m3m.