Public API

Contents

Index

Public interface

Types

Functions and macros

MillerIndices.familyofFunction
familyof(x::Union{Miller,MillerBravais,ReciprocalMiller,ReciprocalMillerBravais})

List the all the directions/planes that are equivalent to x by symmetry.

source
MillerIndices.anglebtwFunction
anglebtw(x::Miller, y::Miller, g::MetricTensor)
anglebtw(x::MillerBravais, y::MillerBravais, g::MetricTensor)
anglebtw(x::ReciprocalMiller, y::ReciprocalMiller, g::MetricTensor)
anglebtw(x::ReciprocalMillerBravais, y::ReciprocalMillerBravais, g::MetricTensor)

Calculate the angle (in degrees) between two directions by:

\[\cos\theta = \frac{\mathbf{x} \cdot \mathbf{y}}{\lvert\mathbf{x}\rvert \lvert\mathbf{y}\rvert} = \frac{\sum_{ij} x_i g_{ij} y_j}{\sqrt{\sum_{ij} x_i g_{ij} x_j} \sqrt{\sum_{ij} y_i g_{ij} y_j}}.\]

Note

For the angle between two plane normals, the result is $180 - \theta$.

source
MillerIndices.interplanar_spacingFunction
interplanar_spacing(x::Union{ReciprocalMiller,ReciprocalMillerBravais}, g::MetricTensor)

Calculate the interplanar spacing by:

\[d_{h\ k \ l} = \frac{1}{\lvert \mathbf{x}_{h\ k \ l}\rvert}.\]

source
CrystallographyBase.lengthofFunction
lengthof(x::Union{AbstractMiller,AbstractMillerBravais}, g::MetricTensor)

Calculate the magnitude of a given indices with respect to a specified metric tensor.

source
MillerIndices.@m_strMacro
m_str(s)

Generate the Miller indices or Miller–Bravais indices quickly.

Examples

julia> m"[-1, 0, 1]"
3-element Miller:
 -1
  0
  1

julia> m"<2, -1, -1, 3>"
4-element MillerBravais:
  2
 -1
 -1
  3

julia> m"(-1, 0, 1)"
3-element ReciprocalMiller:
 -1
  0
  1

julia> m"(1, 0, -1, 0)"
4-element ReciprocalMillerBravais:
  1
  0
 -1
  0
source