httk.atomistic.models.protopattern ================================== .. py:module:: httk.atomistic.models.protopattern .. autoapi-nested-parse:: The geometry-free, element-free protopattern family. Submodules ---------- .. toctree:: :maxdepth: 1 /reference/autoapi/httk/atomistic/models/protopattern/api/index /reference/autoapi/httk/atomistic/models/protopattern/backend/index /reference/autoapi/httk/atomistic/models/protopattern/derived/index /reference/autoapi/httk/atomistic/models/protopattern/label/index /reference/autoapi/httk/atomistic/models/protopattern/label_string/index /reference/autoapi/httk/atomistic/models/protopattern/like/index /reference/autoapi/httk/atomistic/models/protopattern/notation/index /reference/autoapi/httk/atomistic/models/protopattern/occupation/index /reference/autoapi/httk/atomistic/models/protopattern/protopattern/index /reference/autoapi/httk/atomistic/models/protopattern/view/index /reference/autoapi/httk/atomistic/models/protopattern/view_base/index Attributes ---------- .. autoapisummary:: httk.atomistic.models.protopattern.ProtopatternLike Classes ------- .. autoapisummary:: httk.atomistic.models.protopattern.ProtopatternAPI httk.atomistic.models.protopattern.ProtopatternBackend httk.atomistic.models.protopattern.ProtopatternOccupation httk.atomistic.models.protopattern.Protopattern httk.atomistic.models.protopattern.ProtopatternViewBase Package Contents ---------------- .. py:class:: ProtopatternAPI Bases: :py:obj:`abc.ABC` The common interface for a space group with class-partitioned Wyckoff letters. A protopattern is the information content of an unsuffixed AFLOW-style label: a space group, its occupied Wyckoff letters, and the partition of those occupations into anonymous species classes. It carries no chemical elements and no continuous degrees of freedom. All derivations use the standard-setting conventional-cell scale. .. py:property:: spacegroup :type: httk.atomistic.symmetry.spacegroup.Spacegroup :abstractmethod: Return the standard-setting space group. .. py:property:: occupations :type: tuple[httk.atomistic.models.protopattern.occupation.ProtopatternOccupation, Ellipsis] :abstractmethod: Return the occupied Wyckoff positions in canonical order. .. py:method:: multiplicities() Return tabulated standard-setting multiplicities for each occupation. :return: The standard-setting multiplicity for each occupation. .. py:property:: nsites_conventional :type: int Return the total number of sites in the standard conventional cell. :return: The conventional-cell site count. .. py:property:: pearson_symbol :type: str Return the Pearson symbol at the standard conventional-cell scale. :return: The Pearson symbol, such as ``"cF8"``. .. py:property:: label :type: httk.atomistic.models.protopattern.label.ProtopatternLabel Return the httk protopattern label of this pattern. Any faithful render is the protopattern label; the *canonical* protopattern label is the one obtained from a normalizer-canonical pattern. :return: The protopattern label view. .. py:property:: anonymous_formula :type: httk.atomistic.models.formula.formulapattern_view.FormulapatternView Return the reduced anonymous formula at the standard conventional-cell scale. The anonymous amounts are the per-class conventional multiplicities. This differs from the label's own anonymous prefix, which follows group order rather than the canonical non-increasing formula order. :return: The conventional-cell anonymous formula view. .. py:property:: protopattern :type: Self Return this protopattern value. .. py:class:: ProtopatternBackend(backend, **hints) Bases: :py:obj:`httk.core.Backend`\ [\ :py:obj:`ProtopatternBackend`\ ], :py:obj:`httk.atomistic.models.protopattern.api.ProtopatternAPI` Backend root for standard-setting anonymous crystal keys. .. py:attribute:: backend_classes :type: ClassVar[list[type[httk.core.Backend[Any]]]] .. py:type:: ProtopatternLike :canonical: httk.atomistic.models.protopattern.backend.ProtopatternBackend | httk.atomistic.models.protopattern.view_base.ProtopatternViewBase | httk.atomistic.models.protopattern.protopattern.Protopattern | str .. py:class:: ProtopatternOccupation Store one Wyckoff orbit assigned to one anonymous species class. Unlike :class:`~httk.atomistic.models.protostructure.occupation.WyckoffOccupation`, the class carries an anonymous class label (``"A"``, ``"B"``, ...) rather than a real :class:`~httk.atomistic.Species`, so it can represent an element-agnostic pattern. :param wyckoff: The Wyckoff letter in the standard setting. :param label: The anonymous species-class label. .. py:attribute:: wyckoff :type: str .. py:attribute:: label :type: str .. py:class:: Protopattern(spacegroup, occupations) Bases: :py:obj:`httk.atomistic.models.protopattern.backend.ProtopatternBackend` Store a standard-setting space group and its class-partitioned Wyckoff letters. A protopattern is space group plus occupied Wyckoff letters plus a partition of those occupations into anonymous species classes; it has no chemical elements and no continuous degrees of freedom. Construction re-canonicalizes the class assignment by the pinned group-ordering rule, so any permutation of the input class labels builds an equal value that renders the identical label. ``Protopattern`` is the anonymous-species, Wyckoff-positions-only cell of the material-information matrix: ====================== ============== ============== Geometrical info Anonymous Assigned ====================== ============== ============== Wyckoff positions only Protopattern Protostructure Geometrical class Prototype Structuretype Exact geometry CrystalPattern Structure ====================== ============== ============== :param spacegroup: The standard-setting space group or its IT number. :param occupations: The occupied Wyckoff positions and their anonymous class labels. .. py:attribute:: kind :type: ClassVar[str] :value: 'protopattern' .. py:property:: spacegroup :type: httk.atomistic.symmetry.spacegroup.Spacegroup Return the standard-setting space group. .. py:property:: occupations :type: tuple[httk.atomistic.models.protopattern.occupation.ProtopatternOccupation, Ellipsis] Return the canonical class-partitioned occupied Wyckoff positions. .. py:class:: ProtopatternViewBase Bases: :py:obj:`httk.core.View`\ [\ :py:obj:`httk.atomistic.models.protopattern.backend.ProtopatternBackend`\ ] Base class for views presenting protopattern backends.