hikari.symmetry.hall

Classes

HallSymbol

Parse, interpret, and convert Hall symbol to hikari.symmetry.Group

Module Contents

class hikari.symmetry.hall.HallSymbol(hall_symbol)[source]

Parse, interpret, and convert Hall symbol to hikari.symmetry.Group

Parameters:

hall_symbol (str)

exception HallSymbolException[source]

Bases: Exception

Exception raised when group can’t be generated from the symbol

REGEX

This is a regex which matches every possible lowercase Hall symbol for classical 3D space groups. It matches up to 17 groups in total as follows:

  1. Centrosymmetry: [-]?

  2. Lattice symbol: [pabcirstf] (required)

  3. Generator 1 inversion component: [-]?

  4. Generator 1 rotation fold: d (required)

  5. Generator 1 rotation direction: [*xyz]?

  6. Generator 1 translation components: [12345abcnuvwd]*

  7. Generator 2 inversion component: [-]?

  8. Generator 2 rotation fold: d

  9. Generator 2 rotation direction: [‘“xyz]?

  10. Generator 2 translation components: [12345abcnuvwd]*

  11. Generator 3 inversion component: [-]?

  12. Generator 3 rotation fold: d

  13. Generator 3 translation components: [12345abcnuvwd]*

  14. Generator 4 rotation fold: d

  15. Generator 4 translation components: [12345abcnuvwd]*

  16. Origin shift constituent 1 expressed as count of 1/12 shifts: d

  17. Origin shift constituent 2 expressed as count of 1/12 shifts: d

  18. Origin shift constituent 3 expressed as count of 1/12 shifts: d

DIRECTION_SYMBOLS = ("'", '"', '*')
TRANSLATION_SYMBOLS = '12345abcnuvwd'
LATTICE_GENERATORS
UNIVERSAL_MATRICES
PRINCIPAL_ROTATIONS
FACE_X_DIAGONAL_ROTATIONS
FACE_Y_DIAGONAL_ROTATIONS
FACE_Z_DIAGONAL_ROTATIONS
BODY_DIAGONAL_ROTATIONS
STATIC_TRANSLATIONS
DYNAMIC_TRANSLATIONS
property symbol: str
Return type:

str

property elements: None | Match

Return self.symbol elements indexed as in self.HALL_REGEX doc

Return type:

Union[None, Match]

property generators: List[hikari.symmetry.operations.BoundedOperation]
Return type:

List[hikari.symmetry.operations.BoundedOperation]