schrodinger.application.matsci.nano.space_groups module¶
Classes and functions for creating crystals by unit cell.
Copyright Schrodinger, LLC. All rights reserved.
-
schrodinger.application.matsci.nano.space_groups.
get_spacegroups
()¶ Get space groups object.
Return type: SpaceGroups Returns: Cached space groups object, do not modify!!
-
schrodinger.application.matsci.nano.space_groups.
get_symmops_from_spglib
(symm)¶ Get set of symmetry operators from a set of rotations and translations. Symmetry operator is defined with a 4 x 4 matrix, top left 3 x 3 is rotation matrix, top right column 1 x 3 is translation, rest, bottom row is [0 0 0 1]
Parameters: symm (dict of two keys: 'rotations': list of 3 x 3 matrices, 'translations': list of 1 x 3 matrices) – dictionary of list of rotations and translations Returns: list of 4x4 matrices Return type: list of symmetry operators
-
class
schrodinger.application.matsci.nano.space_groups.
CrystalSystems
¶ Bases:
object
Manage the properties of the seven crystal systems.
-
TRICLINIC_NAME
= 'triclinic'¶
-
MONOCLINIC_NAME
= 'monoclinic'¶
-
ORTHORHOMBIC_NAME
= 'orthorhombic'¶
-
TETRAGONAL_NAME
= 'Tetragonal'¶
-
TRIGONAL_NAME
= 'trigonal'¶
-
HEXAGONAL_NAME
= 'hexagonal'¶
-
CUBIC_NAME
= 'cubic'¶
-
class
Triclinic
(name)¶ Bases:
object
Manage the triclinic system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Monoclinic
(name)¶ Bases:
object
Manage the monoclinic system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Orthorhombic
(name)¶ Bases:
object
Manage the orthorhombic system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Tetragonal
(name)¶ Bases:
object
Manage the tetragonal system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Trigonal
(name)¶ Bases:
object
Manage the trigonal system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Hexagonal
(name)¶ Bases:
object
Manage the hexagonal system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
class
Cubic
(name)¶ Bases:
object
Manage the cubic system.
-
__init__
(name)¶ Create an instance.
Parameters: name (str) – crystal system name
-
-
getCrystalSystem
(name)¶ Return the crystal system object for the crystem system of the provided name.
Parameters: name (str) – crystal system name Return type: one of the seven crystal system objects Returns: crystal_system_obj
-
__init__
¶ Initialize self. See help(type(self)) for accurate signature.
-
-
class
schrodinger.application.matsci.nano.space_groups.
SpaceGroup
¶ Bases:
tuple
Collect the properties of a space group.
-
DEFINITION_ID
= 'Def. ID'¶
-
SPACE_GROUP_ID
= 'Space Group ID'¶
-
CRYSTAL_SYSTEM
= 'Crystal System'¶
-
SHORT_HERMANN_MAUGUIN_SYMBOL
= 'Short H.-M. Symbol'¶
-
FULL_HERMANN_MAUGUIN_SYMBOL
= 'Full H.-M. Symbol'¶
-
POINT_GROUP_NAME
= 'Point Group'¶
-
NUM_CENTERING_OPERS
= 'N Centering Ops.'¶
-
NUM_PRIMARY_OPERS
= 'N Primary Ops.'¶
-
NUM_SYMMETRY_OPERS
= 'N Symmetry Ops.'¶
-
CENTERING_OPERS
= 'Centering Operators'¶
-
PRIMARY_OPERS
= 'Primary Operators'¶
-
SYMMETRY_OPERS
= 'Symmetry Operators'¶
-
SPACE_GROUP_SETTING
= 'Space Group Setting'¶
-
ID_TAG
= 'spgid '¶
-
SHORT_NAME_TAG
= 'sspgname '¶
-
FULL_NAME_TAG
= 'fspgname '¶
-
POINT_GROUP_TAG
= 'pgname '¶
-
CRYSTAL_SYSTEM_TAG
= 'crysym '¶
-
SETTING_TAG
= 'setting '¶
-
ASU_TAG
= 'xyzasu '¶
-
PRIMARY_OPERATIONS_TAG
= 'primoper '¶
-
CENTERING_OPERATIONS_TAG
= 'centoper '¶
-
END_OF_DEF_TAG
= 'endofdef'¶
-
definition_id
¶ Alias for field number 0
-
space_group_id
¶ Alias for field number 1
-
ichoice
¶ Alias for field number 2
-
num_choices
¶ Alias for field number 3
-
space_group_short_name
¶ Alias for field number 4
-
space_group_full_name
¶ Alias for field number 5
-
point_group_name
¶ Alias for field number 6
-
centering_opers
¶ Alias for field number 7
-
primary_opers
¶ Alias for field number 8
-
symmetry_opers
¶ Alias for field number 9
-
num_centering_opers
¶ Alias for field number 10
-
num_primary_opers
¶ Alias for field number 11
-
num_symmetry_opers
¶ Alias for field number 12
-
centering_opers_strs
¶ Alias for field number 13
-
primary_opers_strs
¶ Alias for field number 14
-
symmetry_opers_strs
¶ Alias for field number 15
-
crystal_system
¶ Alias for field number 16
-
xyzasu
¶ Alias for field number 17
-
spg_setting
¶ Alias for field number 18
-
classmethod
fromData
(definition_id, space_group_id, ichoice, num_choices, space_group_short_name, space_group_full_name, point_group_name, centering_opers, primary_opers, symmetry_opers, centering_opers_strs, primary_opers_strs, symmetry_opers_strs, crystal_system, xyzasu, spg_setting)¶ Create an instance.
Parameters: - definition_id (int) – the id of the definition, i.e. a number ranging from 1 to 291 (some of the 230 space groups have more than a single unit cell definition).
- space_group_id (int) – the id of the space group, i.e. a number ranging from 1 to 230, which the number of space groups.
- ichoice (int) – the space group setting index
- num_choices (int) – the number of different unit cell settings for this space group. For example, a setting may be a choice of axes, etc.
- space_group_short_name (string) – the short Hermann-Mauguin symbol of the space group.
- space_group_full_name (string) – the full Hermann-Mauguin symbol of the space group.
- point_group_name (string) – the name of the point group of the space group.
- centering_opers (list of numpy.array) – contains the centering matricies of the space group.
- primary_opers (list of numpy.array) – contains the primary matricies of the space group.
- symmetry_opers (list of numpy.array) – contains the symmetry matricies of the space group, i.e. the combinations of the centering and primary matricies.
- centering_opers_strs (list) – string representation of the centering operators.
- primary_opers_strs (list) – string representation of the primary operators.
- symmetry_opers_strs (list) – string representation of the symmetry operators, i.e. the combination of the centering and primary string representations.
- crystal_system (one of the sevel crystal system objects) – the crystal system.
- xyzasu (str) – the xyzasu descriptor which will be parsed but not used
- spgsetting – the setting of the space group
-
printSymmetryOpers
(logger=None)¶ Log a formatted print of all of the symmetry operators for this space group.
Parameters: logger (logging.getLogger) – output logger
-
printDatabaseEntry
(logger=None)¶ Print a space group object in mmspg/spgbase.dat format.
Parameters: logger (logging.getLogger) – output logger
-
__contains__
¶ Return key in self.
-
__init__
¶ Initialize self. See help(type(self)) for accurate signature.
-
__len__
¶ Return len(self).
-
count
()¶ Return number of occurrences of value.
-
index
()¶ Return first index of value.
Raises ValueError if the value is not present.
-
-
class
schrodinger.application.matsci.nano.space_groups.
SpaceGroups
¶ Bases:
object
Manage space group objects.
-
NUM_SPACE_GROUPS
= 230¶
-
CRYSTAL_SYSTEMS
= <schrodinger.application.matsci.nano.space_groups.CrystalSystems object>¶
-
CENTERING
= 'centering'¶
-
PRIMARY
= 'primary'¶
-
SYMMETRY
= 'symmetry'¶
-
__init__
()¶ Create an instance.
-
getAllSpaceGroups
()¶ Make a list of all SpaceGroup objects each of which contains some space group parameters from mmspg/spgbase.dat.
-
getSpgObjByName
(name, first=True)¶ Get a space group object by name.
Parameters: - name (str) – short name (HM symbol) checked first. If short_only=False, long symbol checked second. The first space group encountered with such a name is returned.
- first (bool) – If True, returns the first occurrence based on the symmetry operators
Return type: SpaceGroup or None
Returns: Space group object or None if not found
-
printAllSpgInfo
(verbose, logger)¶ Print all space group information.
Parameters: - verbose (bool) – verbose log
- logger (logging.getLogger) – output logger
-
-
schrodinger.application.matsci.nano.space_groups.
equal_rotations
(rotations1, rotations2)¶ Check if rotations are equal.
Parameters: - rotations1 (3D numpy.array) – Array of rotation matrices (2D arrays) associated with a space group
- rotations2 (3D numpy.array) – Array of rotation matrices (2D arrays) associated with a space group
Return type: bool
Returns: True, if rotations are the same, otherwise False