Symmetry Group
Description
Contains a description of a symmetry group.
Project files
This format is used for all symmetry group files in the CASM project, including the lattice_point_group.json
, factor_group.json
, and crystal_point_group.json
files.
JSON Attributes List
Symmetry Group attributes:
Name | Description | Format |
---|---|---|
group_classification |
Group classification information, such as the point group | Symmetry Group Classification |
group_operations |
Descriptions of group operations | dict of Symmetry Operation |
group_structure |
Multiplication table and conjugacy classes | Symmetry Group Structure |
Symmetry Group Classification attributes:
Name | Description | Format |
---|---|---|
latex_name |
Point group name, formatted for Latex | string |
name |
Point group name | string |
periodicity |
Whether there is translation symmetry | string |
Symmetry Operation attributes:
Name | Description | Format |
---|---|---|
CART |
Cartesian coordinate transformation representation | Coordinate Transformation Representation |
FRAC |
Fractional coordinate transformation representation | Coordinate Transformation Representation |
info |
Symmetry operation information | Symmetry Operation Information |
master_group_index |
Index of this operation in the master group | int |
Coordinate Transformation Representation attributes:
Name | Description | Format |
---|---|---|
matrix |
Coordinate transformation matrix | 2d array of number |
tau |
Coordinate translation vector | array of number |
time_reversal |
Whether symmetry includes time reversal invariance | bool |
Symmetry Operation Information attributes:
Name | Description | Format |
---|---|---|
brief |
Brief string descriptions of the symmetry operation | dict of string |
conjugacy_class |
Index of the conjugacy class containing the operation | int |
invariant_point |
Coordinate of an invariant point of the operation | dict |
inverse_operation |
Index in the group of the inverse operation | int |
mirror_normal |
Unit normal vector of mirror and glide planes | dict |
rotation_angle |
Rotation angle of the operation | number |
rotation_axis |
Rotation axis of the operation | dict |
shift |
Screw or glide shift vector | dict |
type |
Type of symmetry operation | string |
Symmetry Group Structure attributes:
Name | Description | Format |
---|---|---|
conjugacy_classes |
Conjugacy class elements and type | dict |
multiplication_table |
Group multiplication table | 2d array of int |
JSON Attributes Description
Symmetry Group JSON Object
-
group_classification
: [Symmetry Group Classification]Group ClassificationGroup classification information, such as the point group.
-
group_operations
: dict of Symmetry OperationDescriptions of group operations. The dictionary keys are of the form
op_01
,op_02
, …, orop_1
,op_2
, …, if there are less than 10 elements in the group. -
group_structure
: Symmetry Group StructureContains the group multiplication table and conjugacy classes.
Symmetry Group Classification JSON Object
-
latex_name
: stringPoint group name, formatted for Latex
-
name
: stringPoint group name.
-
periodicity
: stringHas the value “PERIODIC” if there is translation symmetry, or the value “APERIODIC” if there is not translation symmetry.
Symmetry Operation JSON Object
-
CART
: Coordinate Transformation RepresentationCartesian coordinate transformation representation.
-
FRAC
: Coordinate Transformation RepresentationFractional coordinate transformation representation
-
info
: Symmetry Operation InformationSymmetry operation information
-
master_group_index
: intIndex of this operation in the master group. The master group is the group from which all subgroups are formed. Most commonly, the master group is the factor group of the prim.
Coordinate Transformation Representation JSON Object
The symmetery operations transform a spatial coordinate $x \rightarrow x’$ according to $x’ = R*x+\tau$, where $R$ is the 3x3 coordinate transformation matrix and $\tau$ is the coordinate translation vector. The values $R$ and $\tau$ for the same symmetry operation may be expressed in either Cartesian or fractional coordinates using the conversion, $x^{cart} = L * x^{frac}$, where $L$ is the lattice vector column matrix.
-
matrix
: 2d array of number (shape=(3,3)
)Coordinate transformation matrix.
-
tau
: array of number (shape=(3,)
)Coordinate translation vector.
-
time_reversal
: boolWhether symmetry includes time reversal invariance.
Symmetry Operation Information JSON Object
-
brief
: dictBrief string descriptions of the symmetry operation, following the conventions of (International Tables for Crystallography (2015). Vol. A. ch. 1.4, pp. 50-59). Includes Cartesian and fractional coordinate representations.
Example:
"brief" : { "CART" : "6⁺ (0.0000000 0.0000000 2.5843392) 0, 1.867143, z", "FRAC" : "6⁺ (0.0000000 0.0000000 0.5000000) 0.3333333, 0.6666667, z" }
Examples:
The following examples are given in the fractional coordinate representation.
-
1
: Identity operation. -
3⁺ 0, 0, z
: Positive 3-fold rotation around the axis with coordinates0, 0, z
, for anyz
. -
2 ( 0.5000000 -0.0000000 0.0000000) x, 0.1666667, 0.25
: 2-fold screw rotation, with shift vector(0.5000000 -0.0000000 0.0000000)
, around the axis with coordinatesx, 0.1666667, 0.25
, for anyx
. -
m x, -x, z
: Mirror plane, with coordinatesx, -x, z
, for anyx
,z
. -
g (0.5000000 0.5000000 0.5000000) 0.08333334+x, -0.08333334+x, z
: Glide reflection, with shift vector(0.5000000 0.5000000 0.5000000)
, and glide plane with coordinates0.08333334+x, -0.08333334+x, z
for anyx
,z
. -
-3⁺ 0.3333333, -0.3333333, z; 0.3333333 -0.3333333 0.2500000
: Positive 3-fold rotoinversion around the axis0.3333333, -0.3333333, z
, for anyz
, and the invariant point0.3333333 -0.3333333 0.2500000
. -
-1 0.3333333 0.1666666 0.2500000
: Inversion, with the invariant point0.3333333 0.1666666 0.2500000
. -
m′ x, y, y
: Mirror plane, with coordinatesx, y, y
, for anyx
,y
, and time reversal invariance (indicated by the prime).
-
-
conjugacy_class
: intIndex of the conjugacy class containing the operation.
-
invariant_point
: dict (conditional)Coordinate of an invariant point of the operation, if applicable. Includes Cartesian and fractional coordinate representations.
Example:
"invariant_point" : { "CART" : [ 0.000000000000, 1.867143135410, 0.000000000000 ], "FRAC" : [ 0.333333325000, 0.666666650000, 0.000000000000 ] }
-
inverse_operation
: intIndex in the group of the inverse operation.
-
mirror_normal
: dict (conditional)Unit normal vector of mirror and glide planes, if applicable. Includes Cartesian and fractional coordinate representations.
Example:
"mirror_normal" : { "CART" : [ 0.500000000000, -0.866025403784, 0.000000000000 ], "FRAC" : [ 0.000000000000, -1.000000000000, 0.000000000000 ] }
-
rotation_angle
: number (conditional)Rotation angle of the operation, in degrees, if applicable.
-
rotation_axis
: dict (conditional)Vector lying along the rotation axis of the operation, if applicable. Includes Cartesian and fractional coordinate representations.
Example:
"rotation_axis" : { "CART" : [ 0.500000000000, 0.866025403784, -0.000000000000 ], "FRAC" : [ 0.707106781187, 0.707106781187, 0.000000000000 ] }
-
shift
: dict (conditional)Screw or glide shift vector, if applicable. Includes Cartesian and fractional coordinate representations.
Example:
"shift" : { "CART" : [ 0.808496714096, 1.400357386566, -0.000000000000 ], "FRAC" : [ 0.500000000000, 0.500000000000, 0.000000000000 ] }
-
type
: stringType of symmetry operation. One of “identity”, “rotation”, “screw”, “mirror”, “glide”, “rotoinversion”, or “inversion”.
Symmetry Group Structure JSON Object
-
conjugacy_classes
: dictConjugacy class operations, type, and rotation angle (if applicable).
Example:
"conjugacy_classes" : { "class_01" : { "operation_type" : "identity", "operations" : [ 1 ] }, "class_02" : { "operation_type" : "screw", "operations" : [ 2, 3 ], "rotation_angle" : 60.000000000000 }, "class_03" : { "operation_type" : "rotation", "operations" : [ 4, 5 ], "rotation_angle" : 120.000000000000 }, ... }
-
multiplication_table
: 2d array of intGroup multiplication table. The symmetry operation products $g_k = g_i g_j$ are specified by $M_{ij}=k$, where $g_i$, $g_j$, and $g_k$ are the $i$-th, $j$-th, and $k$-th symmetry operations in the group, and $M$ is the multiplication table.
Examples
Example Symmetry Group files:
- Factor group, for HCP Zr, with octahedral interstitial O disorder: [factor_group_ex1.json]
- Factor group, for an FCC system with collinear magnetic spin (
Cmagspin
) [DoF] (which has time reversal symmetry): [factor_group_ex2.json]