Function symmetry::symm_reflect

Function Documentation

void symmetry::symm_reflect(int natoms, const std::vector<int> &nat, const std::vector<std::vector<double>> &coord, const std::array<double, 3> &normal, const std::array<double, 3> &point, double delta, int &nc, std::vector<int> &ntrans, double &delta3)

Performs a reflection through a plane.

This function applies a reflection transformation through the specified plane and determines 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)

  • normal – Unit vector normal to the reflection plane

  • point – A point on the reflection plane

  • delta – Tolerance for symmetry detection (distance threshold)

  • nc – Output: Number of atoms that are properly mapped by this reflection

  • ntrans – Output: Permutation array showing atom mappings (size natoms)

  • delta3 – Output: Maximum deviation from perfect symmetry