hikari.symmetry.group

This file contains class definition and necessary tools for constructing and evaluating all symmetry groups.

Classes

Group

Base immutable class containing information about symmetry groups.

Module Contents

class hikari.symmetry.group.Group(*generators)[source]

Base immutable class containing information about symmetry groups. It stores information for point and space groups and, among others, allows for iteration over its hikari.symmetry.BoundedOperation elements.

Parameters:

generators (hikari.symmetry.operations.BoundedOperation)

class System[source]

Bases: enum.Enum

Enumerator class with information about associated crystal system

triclinic = 0
monoclinic = 1
orthorhombic = 2
trigonal = 3
tetragonal = 4
cubic = 5
hexagonal = 6
property directions: list[numpy.ndarray]
Return type:

list[numpy.ndarray]

BRAVAIS_PRIORITY_RULES = 'A+B+C=F>R>I>C>B>A>H>P'
AXIS_PRIORITY_RULES = '6>61>62>63>64>65>-6>4>41>42>43>-4>-3>3>31>32>2>21'
PLANE_PRIORITY_RULES = 'm>a+b=e>a+c=e>b+c=e>a>b>c>n>d'
__generators = []
__operations
name
number = 0
classmethod from_generators_operations(generators, operations)[source]

Generate group using already complete list of generators and operators. Does not check if operations are correct or complete for efficiency! :param generators: A complete list of group generators :param operations: A complete list of group operations :return: Symmetry group with given generators and operators.

Parameters:
Return type:

Group

classmethod from_hall_symbol(hall_symbol)[source]
Parameters:

hall_symbol (Union[str, hikari.symmetry.hall.HallSymbol])

Return type:

Group

__eq__(other)[source]
Parameters:

other (Group)

Return type:

bool

__lt__(other)[source]
Parameters:

other (Group)

Return type:

bool

__gt__(other)[source]
Parameters:

other (Group)

Return type:

bool

__le__(other)[source]
Parameters:

other (Group)

Return type:

bool

__ge__(other)[source]
Parameters:

other (Group)

Return type:

bool

__repr__()[source]
Return type:

str

__str__()[source]
Return type:

str

__hash__()[source]
Return type:

int

property auto_generated_name: str

Name of the group generated automatically. Use only as approx.

Return type:

str

property centering_symbol: str
Return type:

str

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

list[hikari.symmetry.operations.BoundedOperation]

property operations: list[hikari.symmetry.operations.BoundedOperation]
Return type:

list[hikari.symmetry.operations.BoundedOperation]

property order: int
Return type:

int

property is_centrosymmetric: bool

True if group has centre of symmetry; False otherwise.

Return type:

bool

property is_enantiogenic: bool

True if determinant of any operation in group is negative.

Return type:

bool

property is_sohncke: bool

True if determinant of all operations in group are positive.

Return type:

bool

property is_achiral
property is_chiral
property is_symmorphic: bool
Return type:

bool

property is_polar: bool
Return type:

bool

property system: System

Predicted crystal system associated with this group

Return type:

System

lauefy()[source]
Returns:

New PointGroup with centre of symmetry added to generators.

Return type:

Group

reciprocate()[source]
Return type:

Group

transform(m)[source]

Transform the group using 4x4 matrix. For reference, see bilbao resources or IUCr pamphlet no. 22.

Example:

Return type:

Group

>>> import numpy
>>> from hikari.symmetry import SG
>>> matrix = numpy.array([(1,0,1,0),(0,1,0,0),(-1,0,0,0),(0,0,0,1)])
>>> SG['P21/c'].transform(matrix).auto_generated_name
P 21/n
Parameters:

m (np.ndarray) – A 4x4 array containing information about new base and origin.

Returns:

Group with new, transformed basis and origin.

Return type:

Group