Layer Group API#
Symmetry analysis and classification tables for the 80 layer groups. Shared
types such as moyopy.Cell, moyopy.Operations,
moyopy.UnimodularTransformation, and moyopy.PointGroup
are documented on the API Reference hub.
Symmetry datasets#
Run a symmetry analysis on a moyopy.Cell treated as a layer (slab)
and inspect the result.
A dataset containing layer-group symmetry information of the input crystal structure |
- class moyopy.MoyoLayerDataset(cell: moyopy._base.Cell, *, symprec: float = 0.0001, angle_tolerance: float | None = None, setting: moyopy._data.LayerSetting | None = None, rotate_basis: bool = True)#
A dataset containing layer-group symmetry information of the input crystal structure (a 2D-periodic system whose third basis vector is the aperiodic stacking direction).
- property angle_tolerance: float | None#
Actually used
angle_tolerancein the symmetry search.
- as_dict() dict[str, Any]#
Convert an object to a dictionary.
- classmethod deserialize_json(json_str: str) Self#
Deserialize an object from a JSON string.
- classmethod from_dict(obj: dict[str, Any]) Self#
Create an object from a dictionary.
- property hall_number: int#
Layer Hall symbol number (1 - 116).
- property mapping_std_prim: list[int]#
Mapping sites in the input cell to those in the primitive standardized layer cell.
- property number: int#
Layer group number (1 - 80).
- property operations: moyopy._base.Operations#
Layer-group operations in the input cell.
- property orbits: list[int]#
The
i-th atom in the input cell is equivalent to theorbits[i]-th atom in the input cell.
- property pearson_symbol: str#
Pearson symbol for the standardized layer cell.
- property prim_std_cell: moyopy._base.Cell#
Primitive standardized layer cell.
- property prim_std_linear: list[list[float]]#
Linear part of transformation from the input cell to the primitive standardized layer cell.
- property prim_std_origin_shift: list[float]#
Origin shift of transformation from the input cell to the primitive standardized layer cell.
- serialize_json() str#
Serialize an object to a JSON string.
- property site_symmetry_symbols: list[str]#
Site symmetry symbols for each site in the input cell.
The orientation of the site symmetry is w.r.t. the standardized cell.
- property std_cell: moyopy._base.Cell#
Conventional standardized layer cell.
The input cell is related to the standardized cell by
(std_linear, std_origin_shift)andstd_rotation_matrix:std_cell.basis.T = std_rotation_matrix @ cell.basis.T @ std_linear x_std = np.linalg.inv(std_linear) @ (x_input - std_origin_shift)
- property std_linear: list[list[float]]#
Linear part of transformation from the input cell to the standardized layer cell.
- property std_origin_shift: list[float]#
Origin shift of transformation from the input cell to the standardized layer cell.
- property std_rotation_matrix: list[list[float]]#
Rigid rotation (orthogonal matrix) applied to the lattice basis.
- property symprec: float#
Actually used
symprecin the symmetry search.
- property wyckoffs: list[str]#
Wyckoff letters for each site in the input cell.
Crystallographic data#
Layer-group settings, classification tables, and helpers to fetch operations by layer-group number.
Preference for the Hall setting of a layer group. |
|
Centering of a layer-group conventional cell. Only |
|
An entry containing layer-group information for a specified layer |
|
Layer-group type information. |
|
Layer arithmetic crystal class information. |
|
|
- class moyopy.LayerSetting#
Preference for the Hall setting of a layer group.
- as_dict() dict[str, Any]#
Convert an object to a dictionary
- classmethod hall_number(hall_number: int) LayerSetting#
Specific layer Hall number from 1 to 116.
- serialize_json() str#
Serialize an object to a JSON string
- classmethod spglib() LayerSetting#
The setting with the smallest layer Hall number for each layer group.
- classmethod standard() LayerSetting#
BCS / ITE standard setting per de la Flor et al., Acta Cryst. A77, 559-571 (2021).
- class moyopy.LayerCentering#
Centering of a layer-group conventional cell. Only
P(primitive) andC(rectangular-centered) occur for layer groups.- as_dict() dict[str, Any]#
Convert an object to a dictionary
- property lattice_points: list[list[float]]#
Unique lattice points (in fractional coordinates) of the conventional cell. The third (
c) component is always zero because layer-group centerings are purely in-plane.
- property linear: list[list[int]]#
Transformation matrix from the primitive cell to the conventional cell. The aperiodic axis
cis left untouched.
- property order: int#
Order of the centering.
- serialize_json() str#
Serialize an object to a JSON string
- class moyopy.LayerHallSymbolEntry(hall_number: int)#
An entry containing layer-group information for a specified layer
hall_number.- property arithmetic_number: int#
Number for layer arithmetic crystal classes (1 - 43).
- as_dict() dict[str, Any]#
Convert an object to a dictionary
- property centering: LayerCentering#
Layer centering.
- property hall_number: int#
Sequential number for layer-group Hall settings (1 - 116).
- property hall_symbol: str#
Layer Hall symbol with lowercase
p/clattice prefix.
- property hm_full: str#
Hermann-Mauguin symbol in full notation.
- property hm_short: str#
Hermann-Mauguin symbol in short notation.
- property number: int#
Layer-group number (1 - 80).
- serialize_json() str#
Serialize an object to a JSON string
- property setting: str#
"","a","b","b-ac","c","c1","c2","c3","1","2").- Type:
Setting code (paper Table 5 axis/origin labels
- class moyopy.LayerGroupType(number: int)#
Layer-group type information.
- property arithmetic_number: int#
Number for layer arithmetic crystal classes (1 - 43).
- property arithmetic_symbol: str#
Symbol for the layer arithmetic crystal class.
- as_dict() dict[str, Any]#
Convert an object to a dictionary
- property bravais_class: str#
Bravais class for the layer group’s 2D lattice (one of
"mp","op","oc","tp","hp").
- property geometric_crystal_class: str#
Geometric crystal class. Cubic classes never occur for layer groups.
See spglib/moyo for string values.
- property hm_full: str#
Hermann-Mauguin symbol in full notation.
- property hm_short: str#
Hermann-Mauguin symbol in short notation.
- property lattice_system: str#
Lattice system (one of
"Oblique","Rectangular","Square","Hexagonal").
- property number: int#
Layer-group number (1 - 80).
- serialize_json() str#
Serialize an object to a JSON string
- class moyopy.LayerArithmeticCrystalClass(arithmetic_number: int)#
Layer arithmetic crystal class information.
- property arithmetic_number: int#
Number for layer arithmetic crystal classes (1 - 43).
- as_dict() dict[str, Any]#
Convert an object to a dictionary
- property bravais_class: str#
Bravais class for the layer group’s 2D lattice (one of
"mp","op","oc","tp","hp").
- property geometric_crystal_class: str#
Geometric crystal class. Cubic classes never occur for layer groups.
- property lattice_system: str#
Lattice system (one of
"Oblique","Rectangular","Square","Hexagonal").
- serialize_json() str#
Serialize an object to a JSON string
- property symbol: str#
Symbol for the layer arithmetic crystal class (e.g.
"p1","c2/m11").
- moyopy.operations_from_layer_number(number: int, *, setting: LayerSetting | None = None, primitive: bool = False) moyopy._base.Operations#