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 ofinp_xyzorinp_molcan be specified.inp_mol- An optionalPyMoleculestructure containing the molecule to be analysed. Only one ofinp_xyzorinp_molcan be specified.out_sym- An optional name for theQSym2FileType::Symfile 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.