Define another class for uvw "direction indices" of direct space similar to Miller indices for reciprocal space.
see: https://dictionary.iucr.org/Direction_indices
Use this class for subsection uvw_direct (not hkl_direct) in class CrystallographicDirection(ArchiveSection).
class BravaisMillerIndices(MillerIndices):
"""
With hexagonal and rhombohedral lattice systems, it is possible to use the
Bravais-Miller system, which uses four indices (h k i l) that obey the constraint
h + k + i = 0.
"""
m_def = Section(
description='A component added to the solution.',
a_eln=ELNAnnotation(
properties=SectionProperties(
order=[
'h_index',
'k_index',
'i_index',
'l_index',
],
),
),
)
i = Quantity(
type=float,
description='The Miller index i.',
a_eln=ELNAnnotation(
component=ELNComponentEnum.NumberEditQuantity,
),
)
class CrystallographicDirection(ArchiveSection):
"""
A specific crystallographic plane or direction within a crystal structure.
The same property can be described in the direct (or real) space or in the
reciprocal space.
The (hkl) indices in direct space and [hkl] indices in reciprocal space describe
the same set of crystallographic planes,
but their interpretation differs between the two spaces.
In direct space,
(hkl) indices describe the orientation of a plane within the crystal.
In reciprocal space,
[hkl] indices describe a point in the reciprocal lattice that is perpendicular
to the corresponding (hkl) plane in direct space.
"""
hkl_reciprocal = SubSection(
section_def=MillerIndices,
description="""
The reciprocal lattice vector associated with the family of lattice planes is
OH = h a* + k b* + l c*, where a*, b*, c* are the reciprocal lattice basis
vectors. OH is perpendicular to the family of lattice planes and OH = 1/d where
d is the lattice spacing of the family.
Ref. https://dictionary.iucr.org/Miller_indices""",
)
hkl_direct = SubSection(
section_def=MillerIndices,
description="""
In three-dimensional space, the direction passing through the origin and the
lattice nodes nh,nk,nl, where n is an integer, has direction indices [hkl].
This corresponds to taking the coordinates of the first lattice node on that
direction after the origin as direction indices.
When a primitive unit cell is used, the direction indices are all integer;
they may instead be rational when a centred unit cell is adopted.
Ref. https://dictionary.iucr.org/Direction_indices""",
)
Define another class for uvw "direction indices" of direct space similar to Miller indices for reciprocal space.
see: https://dictionary.iucr.org/Direction_indices
Use this class for subsection uvw_direct (not hkl_direct) in class CrystallographicDirection(ArchiveSection).
class BravaisMillerIndices(MillerIndices):
"""
With hexagonal and rhombohedral lattice systems, it is possible to use the
Bravais-Miller system, which uses four indices (h k i l) that obey the constraint
h + k + i = 0.
"""
class CrystallographicDirection(ArchiveSection):
"""
A specific crystallographic plane or direction within a crystal structure.
The same property can be described in the direct (or real) space or in the
reciprocal space.