httk.atomistic.symmetry.canonical_protostructure

Anonymous protostructure-first canonicalization of measured crystal structures.

This convention chooses the anonymous Wyckoff occupation pattern, then its species assignment, and only then the exact geometry. Its finite affine search uses the same tabulated normalizer scope as the legacy canonicalizer and does not enumerate an infinite affine normalizer. Public measured structure entry points optionally perform the established upward pseudosymmetry search first.

Functions

canonical_asu_protostructure_assignments(structure, *)

Recognize and return every tied assignment of the anonymous canonical geometry.

canonical_asu_protostructure(structure, *[, ...])

Return one chemically ordered member of the anonymous canonical assignment family.

Module Contents

httk.atomistic.symmetry.canonical_protostructure.canonical_asu_protostructure_assignments(structure, *, tolerance=None, factors=(Fraction(1, 5), 1, 5), lift=False, preserve_chirality=True)

Recognize and return every tied assignment of the anonymous canonical geometry.

Recognition uses the established tolerance sweep and deterministic P1 frames. The accepted ASU is then handled exactly. When lift is true, the anonymous winner is first searched for upward pseudosymmetry.

Parameters:
Returns:

The tied protostructure-first canonical asymmetric units.

Raises:

ValueError – If the structure is unsupported or no tolerance member fits.

Return type:

tuple[httk.atomistic.models.structure.asu.ASUStructure, …]

httk.atomistic.symmetry.canonical_protostructure.canonical_asu_protostructure(structure, *, tolerance=None, factors=(Fraction(1, 5), 1, 5), lift=False, preserve_chirality=True)

Return one chemically ordered member of the anonymous canonical assignment family.

Parameters:
Returns:

One protostructure-first canonical asymmetric unit.

Raises:

ValueError – If the structure is unsupported or no tolerance member fits.

Return type:

httk.atomistic.models.structure.asu.ASUStructure