Function symmetry::symm_check

Function Documentation

void symmetry::symm_check(int natoms, double delta, const std::vector<int> &nat, const std::vector<std::vector<double>> &coord, const std::vector<std::vector<double>> &cord, int &nc, std::vector<int> &ntrans, double &delta3)

Checks if transformed coordinates match original within tolerance.

Compares the transformed coordinates (cord) with the original coordinates (coord) to determine which atoms are mapped to equivalent positions within the given tolerance.

Parameters:
  • natoms – Number of atoms in the molecule

  • delta – Tolerance for symmetry detection (distance threshold)

  • nat – Vector of atomic numbers for each atom

  • coord – Original 3D coordinates of atoms (vector of vectors, size 3 x natoms)

  • cord – Transformed 3D coordinates of atoms (vector of vectors, size 3 x natoms)

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

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

  • delta3 – Output: Maximum deviation from perfect symmetry