vibe-sketcherDocumentation

vibesketcher.render.symmetry_elements

Symmetry elements of a space group in a projection along a cell axis (#233).

Each operation (R, t) of the space group, combined with lattice translations, is analysed geometrically: its type (rotation, screw, inversion, rotoinversion, mirror, glide), the location of its fixed point set and its intrinsic (screw or glide) translation, following International Tables for Crystallography Vol. A, Section 1.2 (geometric interpretation of symmetry operations). Elements parallel or perpendicular to the projection axis are returned with their position in the projected cell, as in the space-group diagrams of International Tables; oblique ones are counted.

Coordinates are fractional in the structure’s cell; the projection axis is one of its basis vectors k, and the in-plane axes are the other two.

Functions

analyse(r, t)

The geometric element of x -> R x + t (fractional), or None for a pure translation.

elements(structure, axis, *[, symprec])

Symmetry elements in the projection along cell vector axis (0, 1 or 2).

operations_of(structure[, symprec])

The operations in the structure's basis and where they came from.

Classes

Element(kind, symbol, points[, height, detail])

One symmetry element as it appears in the projection.

class vibesketcher.render.symmetry_elements.Element(kind, symbol, points, height=None, detail='')[source]

Bases: object

One symmetry element as it appears in the projection.

Parameters:
kind: str
symbol: str
points: tuple[tuple[float, float], ...]

a point (axis, inversion), or two end points (lines).

Type:

In-plane fractional coordinates

height: float | None = None

Height along the projection axis (fraction of its period), where it is defined.

detail: str = ''

the in-plane direction of a screw or glide.

Type:

For in-plane axes and horizontal planes

vibesketcher.render.symmetry_elements.operations_of(structure, symprec=0.001)[source]

The operations in the structure’s basis and where they came from.

Parameters:
Return type:

tuple[list[tuple[ndarray, ndarray]], str]

vibesketcher.render.symmetry_elements.analyse(r, t)[source]

The geometric element of x -> R x + t (fractional), or None for a pure translation.

Parameters:
  • r (ndarray)

  • t (ndarray)

Return type:

dict[str, Any] | None

vibesketcher.render.symmetry_elements.elements(structure, axis, *, symprec=0.001)[source]

Symmetry elements in the projection along cell vector axis (0, 1 or 2).

Parameters:
Return type:

tuple[list[Element], dict[str, Any]]