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. Python type:Optional[str].inp_mol- An optionalPyMoleculestructure containing the molecule to be analysed. Only one ofinp_xyzorinp_molcan be specified. Python type:PyMolecule.out_sym- An optional name for theQSym2FileType::Symfile to be saved that contains the serialised results of the symmetry-group detection. Python type:Optional[str].moi_thresholds- Thresholds for comparing moments of inertia. Python type:list[float].distance_thresholds- Thresholds for comparing distances. Python type:list[float].time_reversal- A boolean indicating whether elements involving time reversal should also be considered. Python type:bool.write_symmetry_elements- A boolean indicating if detected symmetry elements should be printed in the output. Python type:bool.fictitious_magnetic_field- An optional fictitious uniform external magnetic field. Python type:Optional[tuple[float, float, float]].fictitious_electric_field- An optional fictitious uniform external electric field. Python type:Optional[tuple[float, float, float]].
§Errors
Returns an error if any intermediate step in the symmetry-group detection procedure fails.