detect_symmetry_group

Function detect_symmetry_group 

Source
pub fn detect_symmetry_group(
    py: Python<'_>,
    inp_xyz: Option<PathBuf>,
    inp_mol: Option<PyMolecule>,
    out_sym: Option<PathBuf>,
    moi_thresholds: Vec<f64>,
    distance_thresholds: Vec<f64>,
    time_reversal: bool,
    write_symmetry_elements: bool,
    fictitious_magnetic_field: Option<[f64; 3]>,
    fictitious_electric_field: Option<[f64; 3]>,
) -> PyResult<(PySymmetry, Option<PySymmetry>)>
Expand description

Python-exposed function to perform symmetry-group detection and log the result via the qsym2-output logger at the INFO level.

See crate::drivers::symmetry_group_detection for more information.

§Arguments

  • inp_xyz - An optional string providing the path to an XYZ file containing the molecule to be analysed. Only one of inp_xyz or inp_mol can be specified.
  • inp_mol - An optional PyMolecule structure containing the molecule to be analysed. Only one of inp_xyz or inp_mol can be specified.
  • out_sym - An optional name for the QSym2FileType::Sym file to be saved that contains the serialised results of the symmetry-group detection.
  • moi_thresholds - Thresholds for comparing moments of inertia.
  • distance_thresholds - Thresholds for comparing distances.
  • time_reversal - A boolean indicating whether elements involving time reversal should also be considered.
  • write_symmetry_elements - A boolean indicating if detected symmetry elements should be printed in the output.
  • fictitious_magnetic_field - An optional fictitious uniform external magnetic field.
  • fictitious_electric_field - An optional fictitious uniform external electric field.

§Returns

Returns a tuple of a PySymmetry for the unitary group and another optional PySymmetry for the magnetic group if requested.

§Errors

Returns an error if any intermediate step in the symmetry-group detection procedure fails.