httk.atomistic.entries.symmetry¶
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 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 the registry schema package. 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 UnitcellStructure, which
carries no symmetry — with the sole exception of fractional_site_positions, which is
just the reduced coordinates and is always available.
Attributes¶
Functions¶
Load the vendored symmetry-setting definitions. |
|
|
Project standard and provider-specific symmetry properties. |
Module Contents¶
- httk.atomistic.entries.symmetry.SYMMETRY_PROPERTY_KEYS: tuple[str, Ellipsis] = ('space_group_it_number', 'space_group_symbol_hall', 'space_group_symbol_hermann_mauguin',...[source]¶
- httk.atomistic.entries.symmetry.setting_definitions()[source]¶
Load the vendored symmetry-setting definitions.
Loaded verbatim, so each keeps the
$idunderschemas.httk.orgthat makes it resolvable. Cached, since the documents are immutable.- Returns:
Definitions keyed by their served names.
- Return type:
- httk.atomistic.entries.symmetry.symmetry_properties(structure)[source]¶
Project standard and provider-specific symmetry properties.
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.