Function symmetry::PG_determ

Function Documentation

void symmetry::PG_determ(int natoms, const std::vector<int> &nat, std::vector<std::vector<double>> &coord, double delta, std::string &PGlab)

Determines the point group of a molecule using symmetry analysis.

This function performs a complete point group determination by analyzing the molecular structure for symmetry elements. It calculates the center of mass, shifts coordinates to the origin, identifies all symmetry operations, determines equivalence classes, and assigns the appropriate point group label.

Parameters:
  • natoms – Number of atoms in the molecule

  • nat – Vector of atomic numbers for each atom

  • coord – Input/Output: 3D coordinates of atoms (modified to center at origin)

  • delta – Tolerance for symmetry detection (distance threshold)

  • PGlab – Output: Detected point group label (e.g., “C1”, “C2v”, “D3h”, etc.)