Function symmetry::add_Cn

Function Documentation

void symmetry::add_Cn(int &nrot, std::vector<std::array<double, 3>> &rotn, std::vector<double> &rota, const std::array<double, 3> &axis, const std::array<double, 3> &point, double angle, double delta)

Adds a proper rotation axis to the symmetry element list.

Records a Cn rotation axis if it doesn’t already exist in the list, or updates the order if a higher-order rotation is found for the same axis.

Parameters:
  • nrot – Input/Output: Current number of rotation axes (incremented if added)

  • rotn – Input/Output: List of rotation axis vectors

  • rota – Input/Output: List of rotation angles corresponding to axes

  • axis – Unit vector defining the rotation axis

  • point – A point on the rotation axis (unused in current implementation)

  • angle – Rotation angle in radians

  • delta – Tolerance for comparing axis directions