Function symmetry::symclass¶
Defined in File symmetry.h
Function Documentation¶
-
void symmetry::symclass(int natoms, int nprm, const std::vector<std::vector<int>> &nper, int &nseq, std::vector<int> &nccl, std::vector<std::vector<int>> &nscl, const std::vector<int> &nat, const std::vector<std::string> &symb, int nout)¶
Classify atoms into equivalence classes based on symmetry permutations.
This function groups atoms into equivalence classes where atoms in the same class are related by symmetry operations. It uses the permutation matrix to determine which atoms are equivalent under the symmetry group.
- Parameters:
natoms – Number of atoms in the molecule
nprm – Number of symmetry permutations
nper – Permutation matrix (natoms x nprm) where nper[i][j] is the atom mapped to i by permutation j
nseq – Output: Number of equivalence classes found
nccl – Output: Vector containing the size of each equivalence class
nscl – Output: 2D vector where nscl[k][c] contains the atoms in class c (0-based indexing)
nat – Vector of atomic numbers (currently unused)
symb – Vector of element symbols (currently unused)
nout – Output verbosity level (currently unused)