Layer Group API

Contents

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.

MoyoLayerDataset

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_tolerance in 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 the orbits[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) and std_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 symprec in 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.

LayerSetting

Preference for the Hall setting of a layer group.

LayerCentering

Centering of a layer-group conventional cell. Only P (primitive) and

LayerHallSymbolEntry

An entry containing layer-group information for a specified layer hall_number.

LayerGroupType

Layer-group type information.

LayerArithmeticCrystalClass

Layer arithmetic crystal class information.

operations_from_layer_number(→ moyopy._base.Operations)

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) and C (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 c is 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/c lattice 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#