Skip to content

class CrystallographicDirection: use uvw for direct and hkl for reciprocal space direction! #149

@oliverbierwagen

Description

@oliverbierwagen

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""",
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions