symmetry

Symmetry analysis.

class daltonproject.symmetry.SymmetryAnalysis(elements: List[str], xyz: ndarray, symmetry_threshold: float = 0.001, labels: Optional[List[str]] = None)

Class for determining the symmetry of a molecule.

symmetry_threshold

Threshold for determination of symmetry. Default is 1e-3.

Type

float

max_rotations

Maximum order of rotation to be checked for. Default and maximum value is 20.

Type

int

xyz

Cartesian coordinates of molecule.

Type

np.ndarray

symmetry_elements

Symmetry elements of molecule.

Type

Dict[str, np.ndarray]

find_symmetry() Tuple[ndarray, str]

Find the symmetry of the molecule.

Returns

Coordinates and point group of the molecule

get_reflection_matrix(normal_vector: ndarray) ndarray

Calculate reflection matrix.

Parameters

normal_vector – Normal vector to the reflection plane. Is assumed to go through origin.

Returns

Reflection matrix.

get_rotation_matrix(axis: ndarray, theta: float) ndarray

Calculate rotation matrix.

Parameters
  • axis – Axis of rotations. Is assumed to go through origin.

  • theta – Angle of rotation.

Returns

Rotation matrix.

rotate_molecule_pseudo_convention() ndarray

Rotate the molecule, so that it is suitable for Dalton’s generator input.

Returns

Coordinates of rotated molecule.