Skip to main content

Module orientation

Module orientation 

Source
Expand description

Wafer cut and beam angles: the lab-to-crystal rotation from (tilt, twist, wafer rotation).

§Conventions

The figure and a worked example are in docs/crystal-orientation.md.

  • Lab frame (as in crate::geometry): +x is depth, pointing into the target along the surface normal; y, z are lateral.
  • Wafer cut. The surface is the plane (hkl) (Miller indices on the conventional cell: the cube, or the hexagonal a1, a2, c; hexagonal cuts may also be given as (hkil) and [uvtw], see Orientation::new_miller_bravais). Its normal n = g_hkl / |g_hkl| (super::Lattice::plane_normal) is the crystal direction of lab +x, i.e. (hkl) names the inward normal: at zero tilt the beam travels along n. (To name the outward normal (hkl), pass (-h, -k, -l); it matters only for polar faces.) The reference direction [uvw] is a lattice direction in the surface plane (the zone law h u + k v + l w = 0 must hold); its unit vector r is the crystal direction of lab +y at zero wafer rotation. The third axis is t = n x r, the crystal direction of lab +z, so (n, r, t) is right-handed like (x, y, z).
  • Tilt θ is the polar angle of the beam from lab +x (the inward normal), in [0, π/2).
  • Twist φ is the azimuth of the beam about lab +x, measured in the surface plane from lab +y towards lab +z. The beam direction in the lab is (cos θ, sin θ cos φ, sin θ sin φ), the same as crate::ion::bca::Beam::direction with polar_rad = θ and azimuth_rad = φ.
  • Wafer rotation ω turns the wafer (and the crystal) about lab +x by ω, right-handed: the reference direction r moves from lab +y towards lab +z.

So the crystal-to-lab rotation is M = R_x(ω) B, where B has rows n, r, t (it takes crystal components to wafer components) and R_x(ω) is the right-handed rotation by ω about x. The lab-to-crystal rotation is its transpose, and the beam in the crystal frame is

d = cos θ n + sin θ cos(φ - ω) r + sin θ sin(φ - ω) t.

For the beam direction only the difference φ - ω matters; the two are kept apart because the lab frame (where the beam and the target geometry live) and the crystal frame are distinct.

Reference direction. The meaning of “twist” differs between tools, because the azimuth needs a zero. Here the zero is always the reference direction the caller names, so there is no hidden default. As a cited example of the polar/azimuth decomposition of an incidence direction on a cubic crystal: K. Nordlund, F. Djurabekova and G. Hobler, “Large fraction of crystal directions leads to ion channeling”, Phys. Rev. B 94, 214109 (2016), doi:10.1103/PhysRevB.94.214109, Sec. II B, p. 214109-3, set up a cell “with a [001] surface normal and tilting (θ) and twisting (ϕ) the incoming ion direction”, and reach [011] at θ = 45°, ϕ = 0° and [111] at θ = 54.73°, ϕ = 45°: their twist is zero towards an in-plane <100> axis. With n = [001] and r = [010] our convention gives the same two channels (the second as [-111], a member of <111>; the paper does not fix the sense of ϕ, which we fix above). A wafer flat or notch direction can be passed as the reference instead.

Structs§

Orientation
A wafer cut and the beam angles. See the module docs for the conventions.

Functions§

lab_direction
Unit beam direction in the lab frame for tilt θ and twist φ: (cos θ, sin θ cos φ, sin θ sin φ).

Type Aliases§

Mat3
A 3x3 rotation matrix, row-major: v' = M v with v'_i = sum_j M[i][j] v_j.