httk.atomistic.models.protostructure.api

The assigned-species geometrical-classification interface.

Classes

ProtostructureAPI

The common interface for standard-setting occupied Wyckoff positions.

Module Contents

class httk.atomistic.models.protostructure.api.ProtostructureAPI[source]

Bases: abc.ABC

The common interface for standard-setting occupied Wyckoff positions.

Composition and formula derivations from this interface use the standard-setting conventional-cell scale, independently of the setting or transform of a source structure from which a protostructure was recognized.

property spacegroup: httk.atomistic.symmetry.spacegroup.Spacegroup[source]
Abstractmethod:

Return the standard-setting space group.

property occupations: tuple[httk.atomistic.models.protostructure.occupation.WyckoffOccupation, ...][source]
Abstractmethod:

Return the occupied Wyckoff positions in canonical order.

property representative: FundamentalDomainStructure | None[source]

Return an optional retained exact representative.

property discriminator: str | None[source]

Return an optional geometrical-class discriminator.

similar(other, delta)[source]

Return whether two protostructures have compatible geometry within delta.

The base identity (space group, occupations, and any discriminators present on both) must agree; when both sides retain a geometrical representative, their total Cartesian atom travel must not exceed delta. A protostructure-like other (a view, a backend, or a label string) is erased to a value first.

Parameters:
Returns:

Whether the two values are compatible within delta.

Raises:
  • TypeError – If delta is not a real number.

  • ValueError – If delta is negative or non-finite.

Return type:

bool

multiplicities()[source]

Return tabulated standard-setting multiplicities for each occupation.

These are deliberately not multiplicities from a source structure’s transform; they define the provenance-independent conventional-cell scale of this value.

Returns:

The standard-setting multiplicity for each occupation.

Return type:

tuple[int, …]

property nsites_conventional: int[source]

Return the total number of sites in the standard conventional cell.

Returns:

The conventional-cell site count.

Return type:

int

property formula: httk.atomistic.models.formula.formula_view.ChemicalFormulaView[source]

Return a reduced formula at the standard conventional-cell scale.

Returns:

The conventional-cell reduced formula view.

Return type:

httk.atomistic.models.formula.formula_view.ChemicalFormulaView

property anonymous_formula: httk.atomistic.models.formula.formulatype_view.FormulatypeView[source]

Return a reduced anonymous formula at the standard conventional-cell scale.

Returns:

The conventional-cell anonymous formula view.

Return type:

httk.atomistic.models.formula.formulatype_view.FormulatypeView

property label: httk.atomistic.models.protostructure.label.ProtostructureLabel[source]

Return the httk protostructure label of this protostructure.

The label’s unsuffixed part orders classes by their Wyckoff letters, so it is the prototype label of the erased anonymous prototype; the suffix lists the class species names. This is NOT an AFLOW label: AFLOW orders classes alphabetically by element (see aflow_label). Any faithful render is the protostructure label; the canonical protostructure label comes from a normalizer-canonical protostructure.

Returns:

The protostructure label view.

Return type:

httk.atomistic.models.protostructure.label.ProtostructureLabel

property aflow_label: str[source]

Return the AFLOW-style label of this protostructure.

Unlike label, AFLOW orders classes alphabetically by element symbol and reassigns the anonymous symbols in that order, so the unsuffixed prefix depends on the chemistry. Provided for interoperability only.

Returns:

The AFLOW-style label text.

Return type:

str

property protostructure: Self[source]

Return this protostructure value.