httk.atomistic.symmetry_entries¶
The symmetry properties an asymmetric-unit structure can serve over OPTIMADE.
Two families, kept apart on purpose:
Standard OPTIMADE properties. space_group_it_number, the three space-group
symbols, space_group_symmetry_operations_xyz, wyckoff_positions,
fractional_site_positions, and site_coordinate_span are all part of the OPTIMADE
standard and are already described in the vendored optimade_defs/structures.json. They
were simply never served.
Provider-specific properties, for the things OPTIMADE does not standardise — chiefly
which setting a structure is written in, and the change of basis to the standard one.
Rather than inventing descriptions, these reuse the published property definitions from
schemas.httk.org, vendored verbatim in httk_defs/. The served name carries the _httk_ prefix that OPTIMADE requires
of a database-specific property, but the definition keeps its own $id, so a client
following the link reaches the authoritative published schema instead of a local
paraphrase.
Everything here serves null for a plain Structure, which
carries no symmetry — with the sole exception of fractional_site_positions, which is
just the reduced coordinates and is always available.
Attributes¶
Functions¶
|
The vendored setting definitions, keyed by their served name. |
|
Every symmetry property for one structure, standard and provider-specific alike. |
Module Contents¶
- httk.atomistic.symmetry_entries.SYMMETRY_PROPERTY_KEYS: tuple[str, Ellipsis] = ('space_group_it_number', 'space_group_symbol_hall', 'space_group_symbol_hermann_mauguin',...[source]¶
- httk.atomistic.symmetry_entries.setting_definitions() dict[str, httk.core.PropertyDefinition][source]¶
The vendored setting definitions, keyed by their served name.
Loaded verbatim, so each keeps the
$idunderschemas.httk.orgthat makes it resolvable. Cached, since the documents are immutable.
- httk.atomistic.symmetry_entries.symmetry_properties(structure: Any) dict[str, Any][source]¶
Every symmetry property for one structure, standard and provider-specific alike.
A structure that is not an
ASUStructurecarries no symmetry, so everything butfractional_site_positionsserves null. That is the honest answer: inferring a space group here would mean running a symmetry search behind the caller’s back, with a tolerance nobody chose, on every record served.