vibeqc.from_xyz

vibeqc.from_xyz(path, *, charge=0, multiplicity=1, periodic=False, lattice=None, dim=None, symmetrise=False, symprec=0.0001, to_primitive=False)[source]

Parse an XYZ file (positions in Ångström).

Parameters:
  • path (Union[str, Path]) – Path to an .xyz file. First line: atom count. Second line: comment. Following lines: <symbol> <x> <y> <z>.

  • charge (int) – Net charge of the molecule (electron count = S Z - charge).

  • multiplicity (int) – Spin multiplicity 2S+1. Must be >= 1 and have the right parity against the electron count (validated by the native Molecule).

  • periodic (bool) – When True, return a PeriodicSystem. The lattice is taken from an Extended-XYZ Lattice="..." comment tag unless lattice= is supplied explicitly.

  • lattice (Union[None, np.ndarray, list[list[float]]]) – Optional 3x3 lattice matrix in Ångström, with rows as lattice vectors (ASE / Extended-XYZ convention). Supplying this also selects periodic mode.

  • dim (int | None) – Periodic dimensionality for the returned system. Defaults to the prefix length implied by pbc="..." when present, else 3. Only prefix PBC masks (T F F, T T F, T T T) are representable by PeriodicSystem.

  • symmetrise (bool) – Standardise the parsed periodic structure via vibeqc.symmetrise() and return SymmetriseResult. Implies periodic mode.

  • symprec (float) – Passed through to vibeqc.symmetrise() when symmetrise=True.

  • to_primitive (bool) – Passed through to vibeqc.symmetrise() when symmetrise=True.

Return type:

Molecule | PeriodicSystem | SymmetriseResult