PointGroup class

class AaronTools.symmetry.PointGroup(geom, tolerance=0.1, max_rotation=6, rotation_tolerance=0.01, groups=None, center=None)

determines point group and valid symmetry operations for a structure

Attributes:

  • geom

  • tolerance

  • max_rotation

  • rotation_tolerance

  • groups

  • center

__init__(geom, tolerance=0.1, max_rotation=6, rotation_tolerance=0.01, groups=None, center=None)
get_symmetry_elements(geom, tolerance=0.1, max_rotation=6, rotation_tolerance=0.01, groups=None)

determine what symmetry elements are valid for geom

Parameters:
  • geom (Geometry) – structre

  • tolerance (float) – maximum error for an element to be valid

  • max_rotation (int) – maximum n for Cn (Sn can be 2x this)

  • rotation_tolerance (float) – tolerance in radians for angle between axes to be for them to be considered parallel/antiparallel/orthogonal

Return type:

list(SymmetryElement)

determine_point_group(rotation_tolerance=0.01)

determines point group of self by looing at self.elements

Parameters:

rotation_tolerance (float) – tolerance in radians for axes to be considered parallel/antiparallel/orthogonal

Returns:

point group name

property symmetry_number

external symmetry number

equivalent_positions()

returns a list of lists of atoms that are symmetry-equivalent

property optically_chiral

is this point group optically_chiral?

idealize_geometry()

adjust coordinates of self.geom to better match this point group also re-determines point group and symmetry elements