Function symmetry::symm_srotate¶
Defined in File symmetry.h
Function Documentation¶
-
void symmetry::symm_srotate(int natoms, const std::vector<int> &nat, const std::vector<std::vector<double>> &coord, const std::array<double, 3> &axis, double sina, double cosa, double delta, int &nc, std::vector<int> &ntrans, double &delta3)¶
Performs an improper rotation (rotation followed by reflection)
This function applies an improper rotation transformation (rotation around an axis followed by reflection through a plane perpendicular to that axis) and checks which atoms are mapped to equivalent positions.
- Parameters:
natoms – Number of atoms in the molecule
nat – Vector of atomic numbers for each atom
coord – 3D coordinates of atoms (vector of vectors, size 3 x natoms)
axis – Unit vector defining the rotation axis
sina – Sine of the rotation angle
cosa – Cosine of the rotation angle
delta – Tolerance for symmetry detection (distance threshold)
nc – Output: Number of atoms that are properly mapped by this improper rotation
ntrans – Output: Permutation array showing atom mappings (size natoms)
delta3 – Output: Maximum deviation from perfect symmetry